23 lines
906 B
Markdown
23 lines
906 B
Markdown
|
---
|
||
|
title: "interrupts.h"
|
||
|
summary: "the infrastructure to handle x86 interrupts"
|
||
|
---
|
||
|
|
||
|
# `idt_register_T` - struct [packed]
|
||
|
This struct is very similar to the [GDT descriptor](https://nerdcult.net/projects/noxos/docs/codebase/platform/gdt.h/#gdt_descriptor_t---struct-packed).
|
||
|
It holds the size and address of the Table, where the interrupt handlers are looked up.
|
||
|
|
||
|
# `idt_descriptor_entry_T` - struct
|
||
|
This struct stores information about one interrupt handler.
|
||
|
The osdev wiki explains this more detailed.
|
||
|
|
||
|
# `g_idt_register` - global variable
|
||
|
The default IDT configuration loaded when the IDT gets initialized.
|
||
|
|
||
|
# `g_handling_interrupt` - global variable
|
||
|
When the system isn't handling an interrupt this is set to 0.
|
||
|
If this is greater than 0 the system is currently handling an interrupt,
|
||
|
|
||
|
# `idt_init()` - function (void)
|
||
|
This function fills all the interrupt gates (handlers) into the IDT and loads it.
|