docs: updated GDT documentation
This commit is contained in:
parent
1f290c3414
commit
6541fa49a7
|
@ -14,9 +14,12 @@ The kernel is booted using the limine boot protocol.
|
|||
# General concepts
|
||||
## Kernel initialization
|
||||
The single parts of the kernel are initialized in the following order:
|
||||
- **Global Descriptor Table**
|
||||
- **Page Frame Manager**
|
||||
- **Interrupt Descriptor Table**
|
||||
- **Interrupts**
|
||||
- **[IDT] Interrupt Descriptor Table**
|
||||
- **[PIC] Programmable Interrupt Controller**
|
||||
- **Paging**
|
||||
- **Kernel Heap**
|
||||
|
||||
## Interrupt handling
|
||||
OSDev Wiki: [Interrupts](https://wiki.osdev.org/Interrupts)
|
||||
|
@ -448,26 +451,10 @@ OSDev Wiki: [Global Descriptor Table](https://wiki.osdev.org/GDT)
|
|||
|
||||
#### `gdt_selector_E` - enum
|
||||
- **Null**
|
||||
- **Kernel Code**
|
||||
- **Kernel Data**
|
||||
- **User Null**
|
||||
- **User Code**
|
||||
- **User Data**
|
||||
- **Kernel Code** - Readable
|
||||
- **Kernel Data** - Readable + Writable
|
||||
|
||||
#### `gdt_descriptor_T` - struct [packed]
|
||||
**Well documented on the osdev wiki.**
|
||||
|
||||
#### `gdt_entry_T` - struct [packed]
|
||||
**Well documented on the osdev wiki.**
|
||||
|
||||
#### `gdt_T` - struct [packed / page aligned]
|
||||
A template that holds a `gdt_entry_T` for every selector
|
||||
|
||||
#### `g_default_gdt` - global variable
|
||||
The default GDT configuration loaded when the GDT gets initialized.
|
||||
|
||||
#### `gdt_init()` - function (void)
|
||||
Loads a descriptor of `g_default_gdt` as the system GDT.
|
||||
NoxOS uses the GDT loaded by limine, because in 64 bit mode a GDT is only needed for backwards compatability.
|
||||
|
||||
### interrupts.h
|
||||
This header contains all the stuff, needed to init and handle Interrupts.
|
||||
|
|
Loading…
Reference in New Issue