diff options
author | Michael Brown | 2016-02-19 00:23:38 +0100 |
---|---|---|
committer | Michael Brown | 2016-02-19 00:23:38 +0100 |
commit | 31b5c2e753dbcb3d5023bccc8e644d0bcb56b2ad (patch) | |
tree | 536967f3f34fba94970a31cbde3fe1d2cf657cce /src/arch/x86/transitions/librm.S | |
parent | [librm] Convert prot_call() to a real-mode near call (diff) | |
download | ipxe-31b5c2e753dbcb3d5023bccc8e644d0bcb56b2ad.tar.gz ipxe-31b5c2e753dbcb3d5023bccc8e644d0bcb56b2ad.tar.xz ipxe-31b5c2e753dbcb3d5023bccc8e644d0bcb56b2ad.zip |
[librm] Provide an abstraction wrapper for 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 46c1ab97..49a30851 100644 --- a/src/arch/x86/transitions/librm.S +++ b/src/arch/x86/transitions/librm.S @@ -131,8 +131,7 @@ init_librm: addl $gdt, gdt_base /* Initialise IDT */ - pushl $init_idt - call prot_call + virtcall init_idt /* Restore registers */ negl %edi @@ -554,8 +553,7 @@ flatten_real_mode: movb $0x8f, real_cs + 6 movb $0x8f, real_ds + 6 /* Call dummy protected-mode function */ - pushl $flatten_dummy - call prot_call + virtcall flatten_dummy /* Restore GDT */ movb $0x00, real_cs + 6 movb $0x00, real_ds + 6 |