[ipxe-devel] [PATCH 1/1] [efi] Run at TPL_CALLBACK to protect against UEFI timers
mcb30 at ipxe.org
Sun Mar 25 12:24:14 UTC 2018
On 24/03/18 16:43, Heinrich Schuchardt wrote:
> The patch clearly contradicts the UEFI spec:
> "Good coding practice dictates that all code should execute at its
> lowest possible TPL level, and the use of TPL levels above
> TPL_APPLICATION must be minimized. Executing at TPL levels above
> TPL_APPLICATION for extended periods of time may also result in
> unpredictable behavior."
> I suggest that iPXE sticks to the UEFI spec.
Unfortunately, good coding practice dictates completely ignoring the
UEFI specification as far as is possible, since it is full of
poorly-designed garbage such as EFI_HII_CONFIG_ROUTING_PROTOCOL,
EFI_USB_IO_PROTOCOL, the EFI UNDI API, etc. iPXE is not a UEFI-only
application and I really don't want to pollute the codebase with
thousands of acquire/release calls simply to placate the moronic way
that the UEFI specification chooses to handle interrupts.
I suspect the problem may be caused by a missing call to
efi_snp_release() in efi_block_boot(). I haven't had a chance to test
the attached patch yet, but you can give it a go.
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 633 bytes
Desc: not available
More information about the ipxe-devel