[U-Boot] efi: Error building as EFI payload (both 32bit and 64 bit)

Bin Meng bmeng.cn at gmail.com
Fri Aug 14 12:09:10 CEST 2015


Hi Igor,

On Fri, Aug 14, 2015 at 5:34 PM, Bin Meng <bmeng.cn at gmail.com> wrote:
> Hi Igor,
>
> On Fri, Aug 14, 2015 at 5:29 PM, Stoppa, Igor <igor.stoppa at intel.com> wrote:
>> Hi Bin, Simon,
>> thanks for your time, unfortunately I'm still having issues, please see below.
>>
>> On 14 August 2015 at 05:09, Bin Meng <bmeng.cn at gmail.com> wrote:
>>
>>> I am using QEMU 2.3.0 (built from source) and EFI BIOS (IA32 and X64,
>>> built from git source)
>>
>> I downloaded and built the latest stable QEMU: 2.4.50
>> according to https://en.wikibooks.org/wiki/QEMU/Linux
>>
>> And I got the binary EFI firmware from the Tianocore website
>> (http://www.tianocore.org/ovmf/)
>>
>> ------
>>
>> Both 32 bit and 64 bit payloads still fail, however not in the same way:
>>
>> 32 bit:
>>
>> I run
>> qemu-system-i386 --nographic --bios ../OVMF-IA32/OVMF.fd -hda fat:payload32/efi/
>>
>> Shell> u-boot-payload.efi
>> U-Boot EFI Payload
>> !!!! IA32 Exception Type - 00000006    CPU Apic ID - 00000000 !!!!
>> EIP  - FFF00012, CS  - 00000010, EFLAGS - 00000046

This is weird address. It should not be such a flash address.

>> EAX  - 00000000, ECX - 067FA010, EDX - 00000000, EBX - 066EE000
>> ESP  - 07FAFAC0, EBP - 066EE000, ESI - FFF00000, EDI - 07FC0FC8
>> DS   - 00000008, ES  - 00000008, FS  - 00000008, GS  - 00000008, SS -
>> 00000008
>> CR0  - 40000033, CR2 - 00000000, CR3 - 00000000, CR4 - 00000648
>> DR0  - 00000000, DR1 - 00000000, DR2 - 00000000, DR3 - 00000000
>> DR6  - FFFF0FF0, DR7 - 00000400
>> GDTR - 07F7ED90 0000003F, IDTR - 07C5D010 000007FF
>> LDTR - 00000000, TR - 00000000
>> FXSAVE_STATE - 07FAF800
>> !!!! Find PE image
>> /home/jljusten/tmp/edk2/Build/OvmfIa32/RELEASE_GCC47/IA32/MdeModulePkg/Core/Pei/PeiMain/DEBUG/PeiCore.dll
>> (ImageBase=07FC8000, EntryPoint=07FC8240) !!!!
>>
>>
>> -------
>>
>> 64 bit: same as before
>>
>> I run:
>> qemu-system-x86_64 --nographic --bios ../OVMF-X64/OVMF.fd -hda
>> fat:payload64/efi/
>>
>> -------
>>
>> Would it be possible for you to share with me the binary of the EFI payload(s)?
>>
>> With that I could at lest figure out if the problem is with my
>> qemu/efi configuration or with the payload I'm building.
>>
>> I doubt this can be the reason, however I'm using
>> gcc (SUSE Linux) 4.8.3 20140627 [gcc-4_8-branch revision 212064]
>>
>
> I will send it to you offline.
>

OK, I've realized it is a doc issue, that the doc does not mention to
change CONFIG_SYS_TEXT_BASE for EFI payload. I will send a patch to
update the doc.

Regards,
Bin


More information about the U-Boot mailing list