Fix stack on return from PXE NBP so that we can return properly.
authorMichael Brown <mcb30@etherboot.org>
Thu, 28 Jun 2007 22:37:49 +0000 (23:37 +0100)
committerMichael Brown <mcb30@etherboot.org>
Thu, 28 Jun 2007 22:37:49 +0000 (23:37 +0100)
src/arch/i386/image/pxe_image.c

index 8db34d5..60711ed 100644 (file)
@@ -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 ) ),