[ipxe-devel] Tips on how to debug EFI code (iPXE) from within KVM after ipxe.efi has crashed with #GP?
Laszlo Ersek
lersek at redhat.com
Thu Sep 28 18:19:08 UTC 2017
On 09/28/17 20:04, Michael Brown wrote:
> On 28/09/17 18:37, Konrad Rzeszutek Wilk wrote:
>> !!! X64 Exception Type - 0D(#GP - General Protection) CPU Apic ID -
>> 00000000 !!!!
>> ExceptionData - 0000000000000000
>> RIP - 00000000BEC2949C, CS - 0000000000000038, RFLAGS -
>> 0000000000210216
>> ....
>> !!!! Find image 808610ed.efidrv (ImageBase=00000000BEC27000,
>> EntryPoint=00000000BEC2E089) !!!!
>>
>> And now I am trying to figure out how to troubleshoot this.
>> (and yes I am thinking it was related to the Tivoli work-around, but
>> disabling that didn't help).
>
> The Tivoli workaround is for legacy BIOS only; it doesn't apply to the
> UEFI build of iPXE.
>
> You have the RIP and ImageBase, so you know that the exception happens
> at offset +0x249c within your iPXE binary. You can use this in
> conjunction with the corresponding map file from the iPXE build (which
> will probably be named bin-x86_64-efi/808610d3.efidrv.tmp.map, but see
> below) to figure out exactly where the crash is occurring.
Or run "objdump -S 808610d3.efidrv.tmp", and look up the offset in the
output. (First, check if (EntryPoint - ImageBase), i.e., 0x7089, equals
"start address" in the "objdump -x" output.)
Laszlo
More information about the ipxe-devel
mailing list