diff options
| author | Matteo Gmür <matteo.gmuer1@ost.ch> | 2025-06-06 17:15:32 +0200 |
|---|---|---|
| committer | Matteo Gmür <matteo.gmuer1@ost.ch> | 2025-06-06 17:15:32 +0200 |
| commit | c4ced070ab057e4be6552b2f10ec1bf35509e245 (patch) | |
| tree | 91602a7732d216bff3fbaf2d6158e965460019e5 /docs/arch/x86_64/context_switching | |
| parent | 3fb836101a2032e93f7b82c924ce208d7377a5ea (diff) | |
| parent | 1031a69ca5e23f2087148ad57e57506735872617 (diff) | |
| download | teachos-c4ced070ab057e4be6552b2f10ec1bf35509e245.tar.xz teachos-c4ced070ab057e4be6552b2f10ec1bf35509e245.zip | |
Merge branch 'feat_inital_context_switching' into 'develop_ba'
Implement Context Switching
See merge request teachos/kernel!6
Diffstat (limited to 'docs/arch/x86_64/context_switching')
21 files changed, 117 insertions, 0 deletions
diff --git a/docs/arch/x86_64/context_switching/interrupt_descriptor_table.rst b/docs/arch/x86_64/context_switching/interrupt_descriptor_table.rst new file mode 100644 index 0000000..dd6e478 --- /dev/null +++ b/docs/arch/x86_64/context_switching/interrupt_descriptor_table.rst @@ -0,0 +1,9 @@ +Interrupt Descriptor Subsystem +=========== + +.. toctree:: + :maxdepth: 2 + :caption: Contents: + :glob: + + interrupt_descriptor_table/* diff --git a/docs/arch/x86_64/context_switching/interrupt_descriptor_table/gate_descriptor.rst b/docs/arch/x86_64/context_switching/interrupt_descriptor_table/gate_descriptor.rst new file mode 100644 index 0000000..29e7586 --- /dev/null +++ b/docs/arch/x86_64/context_switching/interrupt_descriptor_table/gate_descriptor.rst @@ -0,0 +1,5 @@ +Interrupt Gate Descriptor +======================= + +.. doxygenfile:: arch/x86_64/include/arch/context_switching/interrupt_descriptor_table/gate_descriptor.hpp + diff --git a/docs/arch/x86_64/context_switching/interrupt_descriptor_table/idt_flags.rst b/docs/arch/x86_64/context_switching/interrupt_descriptor_table/idt_flags.rst new file mode 100644 index 0000000..60e8c37 --- /dev/null +++ b/docs/arch/x86_64/context_switching/interrupt_descriptor_table/idt_flags.rst @@ -0,0 +1,5 @@ +Interrupt Descriptor Flags +======================= + +.. doxygenfile:: arch/x86_64/include/arch/context_switching/interrupt_descriptor_table/idt_flags.hpp + diff --git a/docs/arch/x86_64/context_switching/interrupt_descriptor_table/interrupt_descriptor_table copy.rst b/docs/arch/x86_64/context_switching/interrupt_descriptor_table/interrupt_descriptor_table copy.rst new file mode 100644 index 0000000..a2b8997 --- /dev/null +++ b/docs/arch/x86_64/context_switching/interrupt_descriptor_table/interrupt_descriptor_table copy.rst @@ -0,0 +1,5 @@ +Interrupt Descriptor Table +======================= + +.. doxygenfile:: arch/x86_64/include/arch/context_switching/interrupt_descriptor_table/interrupt_descriptor_table.hpp + diff --git a/docs/arch/x86_64/context_switching/interrupt_descriptor_table/interrupt_descriptor_table_pointer copy.rst b/docs/arch/x86_64/context_switching/interrupt_descriptor_table/interrupt_descriptor_table_pointer copy.rst new file mode 100644 index 0000000..3a8c259 --- /dev/null +++ b/docs/arch/x86_64/context_switching/interrupt_descriptor_table/interrupt_descriptor_table_pointer copy.rst @@ -0,0 +1,5 @@ +Interrupt Descriptor Table Pointer +======================= + +.. doxygenfile:: arch/x86_64/include/arch/context_switching/interrupt_descriptor_table/interrupt_descriptor_table_pointer.hpp + diff --git a/docs/arch/x86_64/context_switching/interrupt_descriptor_table/ist_offset.rst b/docs/arch/x86_64/context_switching/interrupt_descriptor_table/ist_offset.rst new file mode 100644 index 0000000..ddba6ee --- /dev/null +++ b/docs/arch/x86_64/context_switching/interrupt_descriptor_table/ist_offset.rst @@ -0,0 +1,5 @@ +Interrupt Stack Table Offset +======================= + +.. doxygenfile:: arch/x86_64/include/arch/context_switching/interrupt_descriptor_table/ist_offset.hpp + diff --git a/docs/arch/x86_64/context_switching/interrupt_descriptor_table/segment_selector.rst b/docs/arch/x86_64/context_switching/interrupt_descriptor_table/segment_selector.rst new file mode 100644 index 0000000..2da142e --- /dev/null +++ b/docs/arch/x86_64/context_switching/interrupt_descriptor_table/segment_selector.rst @@ -0,0 +1,5 @@ +Segment Selector +======================= + +.. doxygenfile:: arch/x86_64/include/arch/context_switching/interrupt_descriptor_table/segment_selector.hpp + diff --git a/docs/arch/x86_64/context_switching/main.rst b/docs/arch/x86_64/context_switching/main.rst new file mode 100644 index 0000000..e9e8a35 --- /dev/null +++ b/docs/arch/x86_64/context_switching/main.rst @@ -0,0 +1,5 @@ +Context Switching Main +======================= + +.. doxygenfile:: arch/x86_64/include/arch/context_switching/main.hpp + diff --git a/docs/arch/x86_64/context_switching/segment_descriptor_table.rst b/docs/arch/x86_64/context_switching/segment_descriptor_table.rst new file mode 100644 index 0000000..449622d --- /dev/null +++ b/docs/arch/x86_64/context_switching/segment_descriptor_table.rst @@ -0,0 +1,9 @@ +Segment Descriptor Subsystem +=========== + +.. toctree:: + :maxdepth: 2 + :caption: Contents: + :glob: + + segment_descriptor_table/* diff --git a/docs/arch/x86_64/context_switching/segment_descriptor_table/access_byte.rst b/docs/arch/x86_64/context_switching/segment_descriptor_table/access_byte.rst new file mode 100644 index 0000000..f2e7d67 --- /dev/null +++ b/docs/arch/x86_64/context_switching/segment_descriptor_table/access_byte.rst @@ -0,0 +1,5 @@ +Access Byte +======================= + +.. doxygenfile:: arch/x86_64/include/arch/context_switching/segment_descriptor_table/access_byte.hpp + diff --git a/docs/arch/x86_64/context_switching/segment_descriptor_table/gdt_flags.rst b/docs/arch/x86_64/context_switching/segment_descriptor_table/gdt_flags.rst new file mode 100644 index 0000000..faa2ffc --- /dev/null +++ b/docs/arch/x86_64/context_switching/segment_descriptor_table/gdt_flags.rst @@ -0,0 +1,5 @@ +Global Descriptor Table Flags +======================= + +.. doxygenfile:: arch/x86_64/include/arch/context_switching/segment_descriptor_table/gdt_flags.hpp + diff --git a/docs/arch/x86_64/context_switching/segment_descriptor_table/global_descriptor_table.rst b/docs/arch/x86_64/context_switching/segment_descriptor_table/global_descriptor_table.rst new file mode 100644 index 0000000..35403db --- /dev/null +++ b/docs/arch/x86_64/context_switching/segment_descriptor_table/global_descriptor_table.rst @@ -0,0 +1,5 @@ +Global Descriptor Table +======================= + +.. doxygenfile:: arch/x86_64/include/arch/context_switching/segment_descriptor_table/global_descriptor_table.hpp + diff --git a/docs/arch/x86_64/context_switching/segment_descriptor_table/global_descriptor_table_pointer.rst b/docs/arch/x86_64/context_switching/segment_descriptor_table/global_descriptor_table_pointer.rst new file mode 100644 index 0000000..41ceffd --- /dev/null +++ b/docs/arch/x86_64/context_switching/segment_descriptor_table/global_descriptor_table_pointer.rst @@ -0,0 +1,5 @@ +Global Descriptor Table Pointer +======================= + +.. doxygenfile:: arch/x86_64/include/arch/context_switching/segment_descriptor_table/global_descriptor_table_pointer.hpp + diff --git a/docs/arch/x86_64/context_switching/segment_descriptor_table/segment_descriptor_base.rst b/docs/arch/x86_64/context_switching/segment_descriptor_table/segment_descriptor_base.rst new file mode 100644 index 0000000..952ab2a --- /dev/null +++ b/docs/arch/x86_64/context_switching/segment_descriptor_table/segment_descriptor_base.rst @@ -0,0 +1,5 @@ +Segment Descriptor Base (32-bit) +======================= + +.. doxygenfile:: arch/x86_64/include/arch/context_switching/segment_descriptor_table/segment_descriptor_base.hpp + diff --git a/docs/arch/x86_64/context_switching/segment_descriptor_table/segment_descriptor_extension.rst b/docs/arch/x86_64/context_switching/segment_descriptor_table/segment_descriptor_extension.rst new file mode 100644 index 0000000..874d1cb --- /dev/null +++ b/docs/arch/x86_64/context_switching/segment_descriptor_table/segment_descriptor_extension.rst @@ -0,0 +1,5 @@ +Segment Descriptor Extension (64-bit) +======================= + +.. doxygenfile:: arch/x86_64/include/arch/context_switching/segment_descriptor_table/segment_descriptor_extension.hpp + diff --git a/docs/arch/x86_64/context_switching/segment_descriptor_table/segment_descriptor_type.rst b/docs/arch/x86_64/context_switching/segment_descriptor_table/segment_descriptor_type.rst new file mode 100644 index 0000000..e45b0a5 --- /dev/null +++ b/docs/arch/x86_64/context_switching/segment_descriptor_table/segment_descriptor_type.rst @@ -0,0 +1,5 @@ +Segment Descriptor Type +======================= + +.. doxygenfile:: arch/x86_64/include/arch/context_switching/segment_descriptor_table/segment_descriptor_type.hpp + diff --git a/docs/arch/x86_64/context_switching/segment_descriptor_table/task_state_segment.rst b/docs/arch/x86_64/context_switching/segment_descriptor_table/task_state_segment.rst new file mode 100644 index 0000000..731d7bb --- /dev/null +++ b/docs/arch/x86_64/context_switching/segment_descriptor_table/task_state_segment.rst @@ -0,0 +1,5 @@ +Task State Segment +======================= + +.. doxygenfile:: arch/x86_64/include/arch/context_switching/segment_descriptor_table/task_state_segment.hpp + diff --git a/docs/arch/x86_64/context_switching/syscall.rst b/docs/arch/x86_64/context_switching/syscall.rst new file mode 100644 index 0000000..28acf28 --- /dev/null +++ b/docs/arch/x86_64/context_switching/syscall.rst @@ -0,0 +1,9 @@ +System Call Subsystem +=========== + +.. toctree:: + :maxdepth: 2 + :caption: Contents: + :glob: + + syscall/* diff --git a/docs/arch/x86_64/context_switching/syscall/main.rst b/docs/arch/x86_64/context_switching/syscall/main.rst new file mode 100644 index 0000000..6be577b --- /dev/null +++ b/docs/arch/x86_64/context_switching/syscall/main.rst @@ -0,0 +1,5 @@ +System Call Main +======================= + +.. doxygenfile:: arch/x86_64/include/arch/context_switching/syscall/main.hpp + diff --git a/docs/arch/x86_64/context_switching/syscall/syscall_enable.rst b/docs/arch/x86_64/context_switching/syscall/syscall_enable.rst new file mode 100644 index 0000000..e9162f1 --- /dev/null +++ b/docs/arch/x86_64/context_switching/syscall/syscall_enable.rst @@ -0,0 +1,5 @@ +System Call Configuration +======================= + +.. doxygenfile:: arch/x86_64/include/arch/context_switching/syscall/syscall_enable.hpp + diff --git a/docs/arch/x86_64/context_switching/syscall/syscall_handler.rst b/docs/arch/x86_64/context_switching/syscall/syscall_handler.rst new file mode 100644 index 0000000..0e86780 --- /dev/null +++ b/docs/arch/x86_64/context_switching/syscall/syscall_handler.rst @@ -0,0 +1,5 @@ +System Call Handler +======================= + +.. doxygenfile:: arch/x86_64/include/arch/context_switching/syscall/syscall_handler.hpp + |
