NOVA
Stripped down NOVA kernel for the OSY course
Loading...
Searching...
No Matches
Idt Class Reference

Static Public Member Functions

static INIT void build ()
static ALWAYS_INLINE void load ()

Static Public Attributes

static Idt idt [VEC_MAX]

Additional Inherited Members

Protected Types inherited from Descriptor
enum  Granularity { BYTES = 0u << 23 , PAGES = 1u << 23 }
enum  Size { BIT_16 = 0u << 22 , BIT_32 = 1u << 22 }
enum  Type {
  SYS_LDT = 2u << 8 , SYS_TASK_GATE = 5u << 8 , SYS_TSS = 9u << 8 , SYS_CALL_GATE = 12u << 8 ,
  SYS_INTR_GATE = 14u << 8 , SYS_TRAP_GATE = 15u << 8 , DATA_R = 16u << 8 , DATA_RA = 17u << 8 ,
  DATA_RW = 18u << 8 , DATA_RWA = 19u << 8 , DATA_DOWN_R = 20u << 8 , DATA_DOWN_RA = 21u << 8 ,
  DATA_DOWN_RW = 22u << 8 , DATA_DOWN_RWA = 23u << 8 , CODE_X = 24u << 8 , CODE_XA = 25u << 8 ,
  CODE_XR = 26u << 8 , CODE_XRA = 27u << 8 , CODE_CONF_X = 28u << 8 , CODE_CONF_XA = 29u << 8 ,
  CODE_CONF_XR = 30u << 8 , CODE_CONF_XRA = 31u << 8
}

Member Function Documentation

◆ load()

ALWAYS_INLINE void Idt::load ( )
inlinestatic
45 {
46 Pseudo_descriptor d (sizeof(idt) - 1, reinterpret_cast<mword>(idt));
47 asm volatile("lidt %0" : : "m" (d));
48 }

The documentation for this class was generated from the following file: