forked from lolo859/vystem
Vystem 0.2
This commit is contained in:
11
docs/shelter/irq/tss.md
Normal file
11
docs/shelter/irq/tss.md
Normal file
@@ -0,0 +1,11 @@
|
||||
# TSS structure generation and loading
|
||||
|
||||
The TSS management is defined in `shelter/lib/include/irq/tss.h` and implemented in `shelter/lib/include/irq/tss.c`.
|
||||
|
||||
This implementation provides the following types:
|
||||
- `sh_tss_TSS`: a full structure of a 64 bits TSS
|
||||
- `sh_tss_TR`: a structure used to load the TSS
|
||||
|
||||
The following functions are provided:
|
||||
- `sh_tss_fill_tss(sh_tss_TSS *tss)`: fill a TSS structure with 4 stacks dedicated for double faults, NMI, page faults and stack-related faults. Heap must be available for using this function. All stacks are 4 pages long
|
||||
- `sh_tss_load_tr(sh_tss_TSS* tss)`: load the provided TSS into the task register. Always assume that the TSS selector in the GDT is `0x28`
|
||||
Reference in New Issue
Block a user