#include <idt.h>
Static Public Member Functions | |
| static FIASCO_INIT void | init_table (Idt_init_entry *src) |
| static FIASCO_INIT void | init () |
| IDT initialization function. | |
| static void | set_entry (unsigned vector, Address entry, bool user) |
| IDT patching function. | |
| static Address | idt () |
| static void | set (Pseudo_descriptor *desc) |
| IDT loading function. | |
| static void | get (Pseudo_descriptor *desc) |
| static void | set_timer_vector_run (void) |
| Set IDT vector to the normal timer interrupt handler. | |
| static void | set_timer_vector_stop (void) |
| Set IDT vector to a dummy vector if Config::getchar_does_hlt is true. | |
Static Public Attributes | |
| static const unsigned | _idt_max = 0x40 |
Static Private Member Functions | |
| static void | set_writable (bool writable) |
| IDT write-protect/write-unprotect function. | |
Static Private Attributes | |
| static const Address | _idt = Mem_layout::Idt |
Friends | |
| class | Jdb_kern_info_bench |
|
|
|
|
|
|
|
|
IDT initialization function. Sets up initial interrupt vectors. It also write-protects the IDT because of the infamous Pentium F00F bug. |
|
|
|
|
|
IDT loading function. Loads IDT base and limit into the CPU.
|
|
||||||||||||||||
|
IDT patching function. Allows to change interrupt gate vectors at runtime. It makes the IDT writable for the duration of this operation.
|
|
|
Set IDT vector to the normal timer interrupt handler.
|
|
|
Set IDT vector to a dummy vector if Config::getchar_does_hlt is true.
|
|
|
IDT write-protect/write-unprotect function.
|
|
|
|
|
|
|
|
|
|
1.4.2