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/interface/pcbios/bios_console.c | |
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/interface/pcbios/bios_console.c')
-rw-r--r-- | src/arch/x86/interface/pcbios/bios_console.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/src/arch/x86/interface/pcbios/bios_console.c b/src/arch/x86/interface/pcbios/bios_console.c index 72d5b209..c081a41e 100644 --- a/src/arch/x86/interface/pcbios/bios_console.c +++ b/src/arch/x86/interface/pcbios/bios_console.c @@ -531,14 +531,12 @@ static void bios_inject_startup ( void ) { __asm__ __volatile__ ( TEXT16_CODE ( "\nint16_wrapper:\n\t" "pushfw\n\t" - "cmpb $0, %%cs:bios_inject_lock\n\t" + "cmpb $0, %cs:bios_inject_lock\n\t" "jnz 1f\n\t" - "pushl %0\n\t" - "call prot_call\n\t" + VIRT_CALL ( bios_inject ) "\n1:\n\t" "popfw\n\t" - "ljmp *%%cs:int16_vector\n\t" ) - : : "i" ( bios_inject ) ); + "ljmp *%cs:int16_vector\n\t" ) ); /* Hook INT 16 */ hook_bios_interrupt ( 0x16, ( ( intptr_t ) int16_wrapper ), |