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
|
# General concepts
|
||||||
## Kernel initialization
|
## Kernel initialization
|
||||||
The single parts of the kernel are initialized in the following order:
|
The single parts of the kernel are initialized in the following order:
|
||||||
- **Global Descriptor Table**
|
|
||||||
- **Page Frame Manager**
|
- **Page Frame Manager**
|
||||||
- **Interrupt Descriptor Table**
|
- **Interrupts**
|
||||||
|
- **[IDT] Interrupt Descriptor Table**
|
||||||
|
- **[PIC] Programmable Interrupt Controller**
|
||||||
|
- **Paging**
|
||||||
|
- **Kernel Heap**
|
||||||
|
|
||||||
## Interrupt handling
|
## Interrupt handling
|
||||||
OSDev Wiki: [Interrupts](https://wiki.osdev.org/Interrupts)
|
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
|
#### `gdt_selector_E` - enum
|
||||||
- **Null**
|
- **Null**
|
||||||
- **Kernel Code**
|
- **Kernel Code** - Readable
|
||||||
- **Kernel Data**
|
- **Kernel Data** - Readable + Writable
|
||||||
- **User Null**
|
|
||||||
- **User Code**
|
|
||||||
- **User Data**
|
|
||||||
|
|
||||||
#### `gdt_descriptor_T` - struct [packed]
|
NoxOS uses the GDT loaded by limine, because in 64 bit mode a GDT is only needed for backwards compatability.
|
||||||
**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.
|
|
||||||
|
|
||||||
### interrupts.h
|
### interrupts.h
|
||||||
This header contains all the stuff, needed to init and handle Interrupts.
|
This header contains all the stuff, needed to init and handle Interrupts.
|
||||||
|
|
Loading…
Reference in New Issue