diff options
| author | Fabian Imhof <fabian.imhof@ost.ch> | 2025-04-10 12:11:55 +0000 |
|---|---|---|
| committer | Fabian Imhof <fabian.imhof@ost.ch> | 2025-04-10 12:11:55 +0000 |
| commit | dff78de795a89c181e9c94b26db2f16988e8f4d6 (patch) | |
| tree | ac19416b7b3ff76f58c4b3deeacbf64bb4cbad84 /arch/x86_64/src/kernel/cpu | |
| parent | 62d7fa83e831e84ea851d97b5c957146880ad69a (diff) | |
| download | teachos-dff78de795a89c181e9c94b26db2f16988e8f4d6.tar.xz teachos-dff78de795a89c181e9c94b26db2f16988e8f4d6.zip | |
move context_switch function and environment into different directory
Diffstat (limited to 'arch/x86_64/src/kernel/cpu')
| -rw-r--r-- | arch/x86_64/src/kernel/cpu/segment_register.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/arch/x86_64/src/kernel/cpu/segment_register.cpp b/arch/x86_64/src/kernel/cpu/segment_register.cpp index d7857dd..9fb7433 100644 --- a/arch/x86_64/src/kernel/cpu/segment_register.cpp +++ b/arch/x86_64/src/kernel/cpu/segment_register.cpp @@ -30,4 +30,13 @@ namespace teachos::arch::kernel::cpu : [input] "m"(segment_selector)); } + auto read_code_segment_register() -> context_switching::interrupt_descriptor_table::segment_selector + { + context_switching::interrupt_descriptor_table::segment_selector current_value; + asm volatile("mov %%cs, %[output]" : [output] "=r"(current_value)); + return current_value; + } + + auto validate_segment_registers() -> context_switching::interrupt_descriptor_table::segment_selector {} + } // namespace teachos::arch::kernel::cpu |
