diff options
author | Michael Brown <mcb30@etherboot.org> | 2007-06-28 23:37:49 +0100 |
---|---|---|
committer | Michael Brown <mcb30@etherboot.org> | 2007-06-28 23:37:49 +0100 |
commit | d71b116f54de13983ea3310c7a58219089bd3f46 (patch) | |
tree | 0cefcbf5040fb51c36137fcb2f9ed61805e3c810 /src | |
parent | 045fb24557f4c0a11273b28150b9a870f248197d (diff) | |
download | ipxe-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.c | 3 |
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 ) ), |