next up previous contents index
Next: 10.7.5 base_idt_load: load the Up: (X86) Base Environment: Segmentation Previous: 10.7.3 base_gdt_load: load the

10.7.4 base_idt: default interrupt descriptor table

   

SYNOPSIS

#include <oskit/x86/base_idt.h>

extern struct x86_desc base_idt [IDTSZ];

DESCRIPTION

This global variable is used in the base environment as the default interrupt descriptor table. The default definition of base_idt in the library contains the architecturally-defined maximum of 256 interrupt vectors (IDTSZ).gif

The base_idt.h header file does not define any symbols representing interrupt vector numbers. The lowest 32 vectors are the processor trap vectors defined by Intel; since these are not specific to the base environment, they are defined in the generic header file x86/trap.h (see Section 10.3.10). Standard hardware interrupt vectors are PC-specific, and therefore are defined separately in x86/pc/irq_list.h (see Section 10.4.1). For the same reason, there is no base_idt_init function, only separate functions to initialize the trap vectors in the base IDT (base_trap_init, Section 10.8.2), and hardware interrupt vectors in the IDT (base_irq_init, Section 10.12.3).



University of Utah Flux Research Group