[ipxe-devel] PXE API - nbp start function questions
Yossef Efraim
yossefe at mellanox.com
Sun Jun 29 12:41:42 UTC 2014
Few questions regarding pxe_start_nbp function (arch/i386/interface/pxe/pxe_call.c) - inline asm code:
1. Why STI command is used ?
2. Why we have "esi" & "ebp" At the clobber list ( ::: XXX) ? , using real mode debugger I noticed that esi , ebp values have changed prior to 0x7c00 far call:
EAX=00000000 EBX=00000AA0 ECX=000A9300 EDX=00093AA0
ESI=422E2B30 EDI=00000A40 EBP=00000007 ESP=00002D12 EIP=0000030E
CS=9300 DS=93AE ES=9300 FS=93AE GS=93AE SS=93AE C=0 Z=0 D=0 I=1 S=0
9300:030E CALL FAR 0000:7C00
9300:0313 ADD SP,0004
9300:0316 RET
As you can see - cx holds the code segment , EDI & EBX holds !PXE & PXENV+ addresses and ESI , EBP values are not clear (at least to me). I would expect ESI value to equal ECX as first asm command is (in the inline asm ) : "movw %%cx, %%es\n\t",
Your help,
Thanks,
Yossi
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ipxe.org/pipermail/ipxe-devel/attachments/20140629/96265dc7/attachment.htm>
More information about the ipxe-devel
mailing list