aboutsummaryrefslogtreecommitdiff
path: root/arch/x86_64/src/context_switching/main.cpp
diff options
context:
space:
mode:
authorMatteo Gmür <matteo.gmuer1@ost.ch>2025-04-14 15:21:52 +0000
committerMatteo Gmür <matteo.gmuer1@ost.ch>2025-04-14 15:21:52 +0000
commiteafe8533bb5ccbe15bd8ffbc917b38122b04a157 (patch)
tree53a04ecb68f816a71400e27452bb8393f23a80d3 /arch/x86_64/src/context_switching/main.cpp
parent4909c80b31f3198030d3e666db87cfd39ac87c6f (diff)
downloadteachos-eafe8533bb5ccbe15bd8ffbc917b38122b04a157.tar.xz
teachos-eafe8533bb5ccbe15bd8ffbc917b38122b04a157.zip
Add stack frame allocator. Fix stl vector bug and create stl stack implementation
Diffstat (limited to 'arch/x86_64/src/context_switching/main.cpp')
-rw-r--r--arch/x86_64/src/context_switching/main.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/arch/x86_64/src/context_switching/main.cpp b/arch/x86_64/src/context_switching/main.cpp
index 952a3b2..486a09f 100644
--- a/arch/x86_64/src/context_switching/main.cpp
+++ b/arch/x86_64/src/context_switching/main.cpp
@@ -21,6 +21,8 @@ namespace teachos::arch::context_switching
constexpr context_switching::interrupt_descriptor_table::segment_selector USER_DATA_SEGMENT_SELECTOR{
4U, context_switching::interrupt_descriptor_table::segment_selector::REQUEST_LEVEL_USER};
+ auto reload_global_descriptor_table_register() -> void { kernel::cpu::call(KERNEL_CODE_POINTER); }
+
} // namespace
auto initialize_descriptor_tables() -> descriptor_tables
@@ -34,7 +36,7 @@ namespace teachos::arch::context_switching
segment_descriptor_table::update_global_descriptor_table_register();
interrupt_descriptor_table::update_interrupt_descriptor_table_register();
- kernel::cpu::call(KERNEL_CODE_POINTER);
+ reload_global_descriptor_table_register();
segment_descriptor_table::update_task_state_segment_register();
kernel::cpu::set_interrupt_flag();