StuBS
idt.cc File Reference
#include "machine/idt.h"
#include "machine/gdt.h"
#include "machine/core_interrupt.h"
Include dependency graph for idt.cc:

Classes

struct  IDT::InterruptDescriptor.__unnamed34__.__unnamed36__
 

Namespaces

namespace  IDT
 "Interrupt Descriptor Table (IDT)
 

Functions

void IDT::load ()
 Load the IDT's address and size into the IDT-Register via idtr.
 
void IDT::handle (uint8_t vector, void *handler, enum Gate type=Gate::GATE_INT, enum GateSize size=GateSize::GATE_SIZE_32, enum DPL dpl=DPL::DPL_KERNEL, bool present=true)
 Configure entry point for interrupt handling.
 

Constants

static struct InterruptDescriptor IDT::idt [256]
 

Class Documentation

◆ IDT::InterruptDescriptor.__unnamed34__.__unnamed36__

struct IDT::InterruptDescriptor.__unnamed34__.__unnamed36__
Class Members
uint8_t ist: 3 IST Index (64 bit)
uint8_t __pad0__: 5 unused, has to be 0
Gate type: 3 gate type
GateSize size: 1 gate size
uint8_t __pad1__: 1 unused, has to be 0
DPL dpl: 2 descriptor privilege level
uint8_t present: 1 present: 1 for interrupts