include/kernel/interrupts

idt.h

Structs

struct idt_entry_t

Author

Sable Ayala

Date

17/12/2024

Public Members

uint16_t isr_low

offset bits 0..15

uint16_t kernel_cs

a code segment selector in GDT or LDT

uint8_t ist

bits 0..2 holds IST offset, rest of bits are zero

uint8_t attributes

gate type, dpl, and p fields

uint16_t isr_mid

offset bits 16..31

uint32_t isr_high

offset bits 32..63

uint32_t reserved

reserved

struct idtr_t

Author

Sable Ayala

Date

05/12/2024

Public Members

uint16_t limit

the limitof the idr (in long mode should be 0xFFF)

uint16_t based

the base field has the logical address of the idt

Functions

void idt_set_descriptor(uint8_t vector, void *isr, uint8_t flags)

Todo:

params

Author

Sable Ayala

Date

05/12/2024

void idt_init(void *idt_addr)

Author

Sable Ayala

Date

17/12/2024

Parameters:

idt_addr – the addess of the idt to load into

void exception_handler()

Deprecated:

This function should not be used and is slated for deletion

Author

Sable Ayala

Date

17/12/2024