[U-Boot] uefi: x86: uboot as uefi payload

Simon Glass sjg at chromium.org
Thu Dec 1 03:20:26 CET 2016


Hi Markus,

On 30 November 2016 at 04:32, Markus Valentin <mv at denx.de> wrote:
> Hi,
>
> im trying to run u-boot as uefi-payload for qemu this works totally
> fine.
>
> My real target is a Minnowboard Turbot. I did use the
> minnowmax_defconfig enabled CONFIG_EFI, CONFIG_EFI_STUB and
> CONFIG_EFI_STUB_64BIT. The Board has the latest uefi by Intel
> installed(0.93, X64).
>
> When i load U-Boot as payload for the board-uefi the efi_main function
> gets executed but the call to "cpu_call32" seems to get stuck ( i think
> its at the "retf" arch/x86/cpu/call32.S:37).
>
> Debuglog:
>
> Shell> u-boot-payload_64.efi
> U-Boot EFI Payload
> gdt: 00000047, addr: 00000000784fd570
> 00: 00000000  00000000
> 08: 00cf9200  0000ffff
> 10: 00af9a00  0000ffff
> 18: 00cf9300  0000ffff
> 20: 00cf9a00  0000ffff
> 28: 00000000  00000000
> 30: 00cf9200  0000ffff
> 38: 00af9b00  0000ffff
> 40: 00000000  00000000
>  32-bit code segment: 20
>  page_table: 79313000
>  EFI table at 78787018 size 00000760
>
> Does anyone have experiences with this issue or with running u-boot as
> uefi-64 payload at all?

I have used this on the original Minnowboard and it is used on some
broadwell platforms.

I did hit a similar problem due to the 'ret' not generating the right
instruction. I thought it was fixed but I suppose it is not impossible
that the gcc toolchains might generate different op codes in different
situations.

Which toolchain are you using?

Regards,
Simon


More information about the U-Boot mailing list