summaryrefslogtreecommitdiffstats
path: root/src/arch/i386/include
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/include
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/include')
-rw-r--r--src/arch/i386/include/comboot.h45
1 files changed, 0 insertions, 45 deletions
diff --git a/src/arch/i386/include/comboot.h b/src/arch/i386/include/comboot.h
index b34341398..2d2f04fe1 100644
--- a/src/arch/i386/include/comboot.h
+++ b/src/arch/i386/include/comboot.h
@@ -13,50 +13,6 @@ FILE_LICENCE ( GPL2_OR_LATER );
#include <setjmp.h>
#include <ipxe/in.h>
-/** Descriptor in a 32-bit IDT */
-struct idt_descriptor {
- uint16_t offset_low;
- uint16_t selector;
- uint16_t flags;
- uint16_t offset_high;
-} __attribute__ (( packed ));
-
-/** Operand for the LIDT instruction */
-struct idt_register {
- uint16_t limit;
- uint32_t base;
-} __attribute__ (( packed ));
-
-/** Entry in the interrupt jump buffer */
-struct ijb_entry {
- uint8_t pusha_instruction;
- uint8_t mov_instruction;
- uint8_t mov_value;
- uint8_t jump_instruction;
- uint32_t jump_destination;
-} __attribute__ (( packed ));
-
-/** The x86 opcode for "pushal" */
-#define IJB_PUSHA 0x60
-
-/** The x86 opcode for "movb $imm8,%al" */
-#define IJB_MOV_AL_IMM8 0xB0
-
-/** The x86 opcode for "jmp rel32" */
-#define IJB_JMP_REL32 0xE9
-
-/** Flags that specify a 32-bit interrupt gate with DPL=0 */
-#define IDT_INTERRUPT_GATE_FLAGS 0x8E00
-
-/** Address of COM32 interrupt descriptor table */
-#define COM32_IDT 0x100000
-
-/** Number of entries in a fully populated IDT */
-#define COM32_NUM_IDT_ENTRIES 256
-
-/** Address of COM32 interrupt jump buffer */
-#define COM32_IJB 0x100800
-
/** Segment used for COMBOOT PSP and image */
#define COMBOOT_PSP_SEG 0x07C0
@@ -153,7 +109,6 @@ extern void unhook_comboot_interrupts ( );
extern void com32_intcall_wrapper ( );
extern void com32_farcall_wrapper ( );
extern void com32_cfarcall_wrapper ( );
-extern void com32_irq_wrapper ( );
/* Resolve a hostname to an (IPv4) address */
extern int comboot_resolv ( const char *name, struct in_addr *address );