[ipxe-devel] [PATCH 1/1] [efi] Run at TPL_CALLBACK to protect against UEFI timers
Heinrich Schuchardt
xypron.glpk at gmx.de
Mon Mar 26 18:10:23 UTC 2018
On 03/26/2018 02:29 PM, Michael Brown wrote:
> On 25/03/18 13:24, Michael Brown wrote:
>> 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.
>
> I've pushed two TPL-related fixes:
>
> http://git.ipxe.org/ipxe.git/commitdiff/331ac451e
> http://git.ipxe.org/ipxe.git/commitdiff/4f362a032
>
> After these fixes, I am able to perform a SAN boot into the UEFI shell,
> and I am also able to complete a successful UEFI installation of Fedora
> 27 to an iSCSI target.
>
> Heinrich: Could you please test and let me know if this fixes iSCSI
> booting within U-Boot?
>
> Thanks,
>
> Michael
>
Thank you for your swift response.
The essential patch on the U-Boot side is
https://lists.denx.de/pipermail/u-boot/2018-March/323678.html
efi_loader: RestoreTPL should execute queued events
With this patch no change in iPXE is required.
Best regards
Heinrich Schuchardt
More information about the ipxe-devel
mailing list