summaryrefslogtreecommitdiffstats
path: root/src/arch/x86/transitions/librm.S
diff options
context:
space:
mode:
authorMichael Brown2016-02-17 00:16:49 +0100
committerMichael Brown2016-02-17 00:16:49 +0100
commit9dc340d73538ecac72851407b4865e2a778589f8 (patch)
treeee9cd35ca98f6da05cfe33b9a3cc8821ae5eb5bd /src/arch/x86/transitions/librm.S
parent[bios] Add bin-x86_64-pcbios build platform (diff)
downloadipxe-9dc340d73538ecac72851407b4865e2a778589f8.tar.gz
ipxe-9dc340d73538ecac72851407b4865e2a778589f8.tar.xz
ipxe-9dc340d73538ecac72851407b4865e2a778589f8.zip
[librm] Discard argument as part of return from prot_call()
Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/arch/x86/transitions/librm.S')
-rw-r--r--src/arch/x86/transitions/librm.S6
1 files changed, 2 insertions, 4 deletions
diff --git a/src/arch/x86/transitions/librm.S b/src/arch/x86/transitions/librm.S
index 863e2241..bf79637a 100644
--- a/src/arch/x86/transitions/librm.S
+++ b/src/arch/x86/transitions/librm.S
@@ -134,7 +134,6 @@ init_librm:
pushl $init_idt
pushw %cs
call prot_call
- popl %eax /* discard */
/* Restore registers */
negl %edi
@@ -385,8 +384,8 @@ rm_gdtr:
*
* Example usage:
* pushl $pxe_api_call
+ * pushw %cs
* call prot_call
- * addw $4, %sp
* to call in to the C function
* void pxe_api_call ( struct i386_all_regs *ix86 );
****************************************************************************
@@ -455,7 +454,7 @@ pc_rmode:
*/
addr32 movl -20(%esp), %esp
popfl
- lret
+ lret $4
/****************************************************************************
* real_call (protected-mode near call, 32-bit virtual return address)
@@ -554,7 +553,6 @@ flatten_real_mode:
pushl $flatten_dummy
pushw %cs
call prot_call
- addw $4, %sp
/* Restore GDT */
movb $0x00, real_cs + 6
movb $0x00, real_ds + 6