This repository has been archived on 2023-09-28. You can view files and clone it, but cannot push or open issues or pull requests.
homepage/content/projects/noxos/docs/codebase/platform/interrupts.h.md

23 lines
906 B
Markdown
Raw Normal View History

---
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.