summaryrefslogtreecommitdiffstats
path: root/src/arch/i386/interface/syslinux/com32_wrapper.S
diff options
context:
space:
mode:
authorMichael Brown2014-04-28 22:11:04 +0200
committerMichael Brown2014-04-29 19:24:10 +0200
commitaaf276ccd4819de791d7a1295f26f36f29fb3cb6 (patch)
treef8ed740bb762eaa8a0f6be557ff5e830cbf5e4a6 /src/arch/i386/interface/syslinux/com32_wrapper.S
parent[librm] Allow interrupts in protected mode (diff)
downloadipxe-aaf276ccd4819de791d7a1295f26f36f29fb3cb6.tar.gz
ipxe-aaf276ccd4819de791d7a1295f26f36f29fb3cb6.tar.xz
ipxe-aaf276ccd4819de791d7a1295f26f36f29fb3cb6.zip
[comboot] Use built-in interrupt reflector
We now have the ability to handle interrupts while in protected mode, and so no longer need to set up a dedicated interrupt descriptor table while running COM32 executables. Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/arch/i386/interface/syslinux/com32_wrapper.S')
-rw-r--r--src/arch/i386/interface/syslinux/com32_wrapper.S26
1 files changed, 0 insertions, 26 deletions
diff --git a/src/arch/i386/interface/syslinux/com32_wrapper.S b/src/arch/i386/interface/syslinux/com32_wrapper.S
index 69cea02e8..c9d1452b4 100644
--- a/src/arch/i386/interface/syslinux/com32_wrapper.S
+++ b/src/arch/i386/interface/syslinux/com32_wrapper.S
@@ -23,26 +23,6 @@ FILE_LICENCE ( GPL2_OR_LATER )
.arch i386
.code32
- /*
- * This code is entered after running the following sequence out of
- * the interrupt jump buffer:
- *
- * pushal
- * movb $vector, %al
- * jmp com32_irq_wrapper
- */
-
- .globl com32_irq_wrapper
-com32_irq_wrapper:
-
- movzbl %al,%eax
- pushl %eax
- movl $com32_irq, %eax
- call com32_wrapper
- popl %eax
- popal
- iret
-
.globl com32_farcall_wrapper
com32_farcall_wrapper:
@@ -69,9 +49,6 @@ com32_wrapper:
/* Switch to internal virtual address space */
call _phys_to_virt
- /* Switch to internal IDT (if we have one for debugging) */
- lidt com32_internal_idtr
-
mov %eax, (com32_helper_function)
/* Save external COM32 stack pointer */
@@ -99,9 +76,6 @@ com32_wrapper:
movl %esp, (com32_internal_esp)
movl (com32_external_esp), %esp
- /* Switch to com32 IDT */
- lidt com32_external_idtr
-
/* Switch to external flat physical address space */
call _virt_to_phys