
Hi Bin,
On 4 August 2015 at 02:19, Bin Meng bmeng.cn@gmail.com wrote:
Hi Simon,
On Fri, Jul 31, 2015 at 11:31 PM, Simon Glass sjg@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.
Regards, Simon