diff options
author | Michael Brown | 2016-02-17 00:16:49 +0100 |
---|---|---|
committer | Michael Brown | 2016-02-17 00:16:49 +0100 |
commit | 9dc340d73538ecac72851407b4865e2a778589f8 (patch) | |
tree | ee9cd35ca98f6da05cfe33b9a3cc8821ae5eb5bd /src/arch/x86/transitions/librm.S | |
parent | [bios] Add bin-x86_64-pcbios build platform (diff) | |
download | ipxe-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.S | 6 |
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 |