aboutsummaryrefslogtreecommitdiff
path: root/arch/x86_64/src
diff options
context:
space:
mode:
authorMatteo Gmür <matteo.gmuer1@ost.ch>2025-04-04 15:05:59 +0000
committerMatteo Gmür <matteo.gmuer1@ost.ch>2025-04-04 15:06:01 +0000
commit8b66e4cd1d1487fefbae459f556396db61497a6b (patch)
tree5c16241f3bce1671798809f2da9dc2e6f44dd6ee /arch/x86_64/src
parentf19681f4dfaaa0bdd3f22e76c48abda3c68bfe0c (diff)
downloadteachos-8b66e4cd1d1487fefbae459f556396db61497a6b.tar.xz
teachos-8b66e4cd1d1487fefbae459f556396db61497a6b.zip
Multiplication by two for segment selector index
Diffstat (limited to 'arch/x86_64/src')
-rw-r--r--arch/x86_64/src/context_switching/interrupt_descriptor_table/segment_selector.cpp2
-rw-r--r--arch/x86_64/src/context_switching/main.cpp2
2 files changed, 2 insertions, 2 deletions
diff --git a/arch/x86_64/src/context_switching/interrupt_descriptor_table/segment_selector.cpp b/arch/x86_64/src/context_switching/interrupt_descriptor_table/segment_selector.cpp
index 62aed9b..b1b316d 100644
--- a/arch/x86_64/src/context_switching/interrupt_descriptor_table/segment_selector.cpp
+++ b/arch/x86_64/src/context_switching/interrupt_descriptor_table/segment_selector.cpp
@@ -4,7 +4,7 @@ namespace teachos::arch::context_switching::interrupt_descriptor_table
{
segment_selector::segment_selector(uint16_t index, uint8_t flags)
: _flags(flags)
- , _index(index)
+ , _index(index * 2U)
{
// Nothing to do.
}
diff --git a/arch/x86_64/src/context_switching/main.cpp b/arch/x86_64/src/context_switching/main.cpp
index ac53735..6614065 100644
--- a/arch/x86_64/src/context_switching/main.cpp
+++ b/arch/x86_64/src/context_switching/main.cpp
@@ -16,7 +16,7 @@ namespace teachos::arch::context_switching
interrupt_descriptor_table::update_interrupt_descriptor_table_register();
interrupt_descriptor_table::segment_selector segment_selector{
- 2U, interrupt_descriptor_table::segment_selector::REQUEST_LEVEL_KERNEL};
+ 1U, interrupt_descriptor_table::segment_selector::REQUEST_LEVEL_KERNEL};
kernel::cpu::far_pointer pointer{&boot::reload_segment_register, segment_selector};
kernel::cpu::jmp(pointer);