[U-Boot] [PATCH v2 00/47] Add support for running U-Boot as an EFI payload/application

Simon Glass sjg at chromium.org
Tue Aug 4 16:03:42 CEST 2015


Hi Bin,

On 4 August 2015 at 07:45, Simon Glass <sjg at chromium.org> wrote:
> Hi Bin,
>
> On 4 August 2015 at 06:54, Simon Glass <sjg at chromium.org> wrote:
>> Hi Bin,
>>
>> On 4 August 2015 at 02:19, Bin Meng <bmeng.cn at gmail.com> wrote:
>>> Hi Simon,
>>>
>>> On Fri, Jul 31, 2015 at 11:31 PM, Simon Glass <sjg at chromium.org> wrote:
>>>> This series allows U-Boot to be build as an EFI payload so that U-Boot
>>>> can be started on almost any x86 platform that supports EFI. This is
>>>> implemented as a stub which EFI can load plus a payload that is copied
>>>> to RAM. The payload contains a normal U-Boot binary image and device tree.
>>>>
>>>> This allows U-Boot to run on platforms that have EFI support but are not
>>>> supported natively by U-Boot. It also allows testing and fiddling with the
>>>> board using U-Boots memory display and other commands.
>>>>
>>>> In addition, U-Boot can be built as an EFI application. This should work
>>>> regardless of the board type since it only relies on EFI services. However
>>>> only 32-bit EFI is supported in this case. Again it can be used to snoop
>>>> around the platform.
>>>>
>>>> A README provides further details of how this series operates.
>>>>
>>>
>>> I've finished the review for the v2 series. Testing shows that EFI
>>> application and EFI 64-bit stub works, but EFI 32-bit stub does not.
>>>
>>> There are two issues for 32-bit EFI stub.
>>> 1). the build issue in jump_to_uboot() in lib/efi/efi_stub.c
>>> 2). After fixing the build issue, the 32-bit EFI stub still does not
>>> boot. It reports error below.
>>>
>>> U-Boot 2015.07-00476-g8771bcb-dirty (Aug 04 2015 - 08:07:09 +0000)
>>>
>>> CPU: x86, vendor Intel, device 663h
>>> DRAM:  Cannot find EFI memory map tables, ret=-93
>>> initcall sequence 0115e954 failed at call 011126fd (err=-19)
>>> ### ERROR ### Please RESET the board ###
>>
>> Do you have any additional patches?
>>
>> I tested this before sending the series. It works here for me. Did you
>> use u-boot-x86/efi-working?
>>
>> I've just pushed my tree to u-boot-x86/efi-working again.
>> Unfortunately this has a few v3 changes but there are not too many
>> yet.
>
> Sorry, I see it. I was testing 64-bit. I'll take another look.

It's a calling convention problem and it turns out I did not test the
32-bit payload after I added the EFI table. Thanks for picking this
up!

Regards,
Simon


More information about the U-Boot mailing list