aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMichael Brown <mcb30@etherboot.org>2007-06-28 23:37:49 +0100
committerMichael Brown <mcb30@etherboot.org>2007-06-28 23:37:49 +0100
commitd71b116f54de13983ea3310c7a58219089bd3f46 (patch)
tree0cefcbf5040fb51c36137fcb2f9ed61805e3c810 /src
parent045fb24557f4c0a11273b28150b9a870f248197d (diff)
downloadipxe-d71b116f54de13983ea3310c7a58219089bd3f46.zip
ipxe-d71b116f54de13983ea3310c7a58219089bd3f46.tar.gz
ipxe-d71b116f54de13983ea3310c7a58219089bd3f46.tar.bz2
Fix stack on return from PXE NBP so that we can return properly.
Diffstat (limited to 'src')
-rw-r--r--src/arch/i386/image/pxe_image.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/arch/i386/image/pxe_image.c b/src/arch/i386/image/pxe_image.c
index 8db34d5..60711ed 100644
--- a/src/arch/i386/image/pxe_image.c
+++ b/src/arch/i386/image/pxe_image.c
@@ -63,7 +63,8 @@ static int pxe_exec ( struct image *image __unused ) {
__asm__ __volatile__ ( REAL_CODE ( "pushw %%cx\n\t"
"pushw %%ax\n\t"
"movw %%cx, %%es\n\t"
- "lcall $0, $0x7c00\n\t" )
+ "lcall $0, $0x7c00\n\t"
+ "addw $4, %%sp\n\t" )
: "=a" ( rc ), "=b" ( discard_b ),
"=c" ( discard_c )
: "a" ( & __from_text16 ( ppxe ) ),