#include <idt.h>
The interrupt table is arranged into the following sections.
0x60 | LINT0 | local interrupt 0 |
0x61 | LINT1 | local interrupt 1 |
0x62 | ERROR | APIC error notification |
0x63 | PCINT | performance monitoring counter |
0x64 | TIMER | APIC timer |
0x65 | RFU65 | reserved for future use |
0x66 | RFU66 | reserved for future use |
0x67 | RFU67 | reserved for future use |
0x6f | SPIV | spurious interrupt |
0x70 | SYSCALL0 | userland entry point |
0x71 | SYSCALL1 | reserved for future use |
0x72 | SYSCALL2 | reserved for future use |
0x73 | SYSCALL3 | reserved for future use |
0x74 | SYSCALL4 | reserved for future use |
0x75 | SYSCALL5 | reserved for future use |
0x76 | SYSCALL6 | reserved for future use |
0x77 | SYSCALL7 | reserved for future use |
Public Types | |
typedef InterruptGate | value_type |
typedef InterruptGate & | reference |
typedef const InterruptGate & | const_reference |
typedef InternalIdt::iterator | iterator |
typedef InternalIdt::const_iterator | const_iterator |
typedef std::ptrdiff_t | difference_type |
typedef std::size_t | size_type |
Public Member Functions | |
IDT (int size) | |
Allocates an IDT with size entires (all default initialized) and sets the current processor's interrupt descriptor table register (IDTR) with the base address and limit of the new table. | |
void | insert (unsigned int irq, const InterruptGate &) |
Inserts a new interrupt/trap entry in the IDT at slot irq . | |
void | dispatchInterrupt (int interruptNumber) |
Invokes all the chained interrupt trampolines until one has volunteered to handle the interrupt or the end of teh chain is reached. | |
void | disableInterrupts () |
Disables interrupts for the CPU. | |
void | enableInterrupts () |
Enables interrupts for the CPU. | |
std::ostream & | printStream (std::ostream &ostr) const |
Dumps the IDT to an output stream. | |
Capacity | |
*size_type | size () const |
Gets the capacity of the Idt. | |
bool | empty () const |
Indicates that the Idt contains no memory. | |
Iteration | |
*iterator | begin () |
const_iterator | begin () const |
iterator | end () |
const_iterator | end () const |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Allocates an IDT with
Here is the call graph for this function: |
|
|
|
|
|
Disables interrupts for the CPU.
|
|
Invokes all the chained interrupt trampolines until one has volunteered to handle the interrupt or the end of teh chain is reached.
|
|
Indicates that the Idt contains no memory.
|
|
Enables interrupts for the CPU.
|
|
|
|
|
|
Inserts a new interrupt/trap entry in the IDT at slot
If |
|
Dumps the IDT to an output stream. This function is aimed at debugging.
|
|
Gets the capacity of the Idt.
|