[ipxe-devel] Problem chainloading iPXE from some legacy Intel PXE
Michael Brown
mbrown at fensystems.co.uk
Fri May 20 00:37:12 UTC 2011
On Thursday 19 May 2011 22:07:35 Jedrzej Kalinowski wrote:
> Maybe just some hint on how to debug it further or how can I find some
> workaround?
The bisection result doesn't make much sense to me.
If I had your system in front of me, I would probably approach this by dumping
out memory contents, register values, etc, to find out how a straightforward
memcpy()-equivalent in pxeprefix.S is somehow copying zeroes.
Before the jump to .text16 in pxeprefix.S (i.e. before the comment "/* Jump to
.text16 segment... */"), you can call the debugging routines in libprefix.S to
dump out values. For example, to print out the address and contents of
preloaded_undi immediately after the copy:
pushl %eax
xorw %di, %di
movw %es, %ax /* Print segment:offset address for preloaded_undi */
call print_hex_word
movw $preloaded_undi, %ax
call print_hex_word
movl (preloaded_undi+0), %eax /* Print contents of preloaded_undi */
call print_hex_dword
movl (preloaded_undi+4), %eax
call print_hex_dword
movl (preloaded_undi+8), %eax
call print_hex_dword
...
popl %eax
Michael
More information about the ipxe-devel
mailing list