UnnamedOS
idt.c File Reference
#include <common.h>
#include <interrupts/idt.h>
#include <mem/gdt.h>
+ Include dependency graph for idt.c:

Go to the source code of this file.

Data Structures

struct  idtr_t
 the IDTR register pointing to the IDT More...
 
struct  idt_entry_t
 An entry in the IDT. More...
 

Macros

#define ISR_INIT(nr)
 shorthand for initializing an ISR More...
 

Enumerations

enum  idt_entry_type_t {
  TASK_32 = 0x5, INTR_16, TRAP_16, INTR_32 = 0xE,
  TRAP_32
}
 Different types of interrupt vectors. More...
 

Functions

static void idt_init_entry (size_t entry, uintptr_t func, uint32_t selector, idt_entry_type_t type, uint8_t st, uint8_t dpl, uint8_t pr)
 Initializes an IDT entry. More...
 
static void idt_init_entry_isr (size_t entry, void(*func)(), uint8_t dpl)
 Shorthand for initializing an ISR. More...
 
static void idt_load ()
 Loads the IDT into the IDTR register.
 
void idt_init ()
 Initializes the IDT. More...
 

Variables

static idt_entry_t idt [IDT_ENTRIES]
 The IDT itself. More...