aboutsummaryrefslogtreecommitdiff
path: root/arch/x86_64/src
diff options
context:
space:
mode:
authorMatteo Gmür <matteo.gmuer1@ost.ch>2025-03-16 13:42:44 +0000
committerMatteo Gmür <matteo.gmuer1@ost.ch>2025-03-16 13:43:54 +0000
commit5d1fbaba03f411b93281ef6934166d897cd0713e (patch)
tree8452e921a52de9a8da31bd821fad345fbc933bf8 /arch/x86_64/src
parent37cb71ca7771a28835e3ed6aa5ed0797c9ba50fa (diff)
downloadteachos-5d1fbaba03f411b93281ef6934166d897cd0713e.tar.xz
teachos-5d1fbaba03f411b93281ef6934166d897cd0713e.zip
Move base value out into variable
Diffstat (limited to 'arch/x86_64/src')
-rw-r--r--arch/x86_64/src/context_switching/descriptor_table/global_descriptor_table.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/arch/x86_64/src/context_switching/descriptor_table/global_descriptor_table.cpp b/arch/x86_64/src/context_switching/descriptor_table/global_descriptor_table.cpp
index 2b399f8..77bd3e9 100644
--- a/arch/x86_64/src/context_switching/descriptor_table/global_descriptor_table.cpp
+++ b/arch/x86_64/src/context_switching/descriptor_table/global_descriptor_table.cpp
@@ -34,10 +34,11 @@ namespace teachos::arch::context_switching::descriptor_table
access_level_bitset |= access_byte::WRITABLE;
}
+ uint64_t base = 0x0;
std::bitset<20U> limit{0xFFFFF};
access_byte access_byte{access_level_bitset};
gdt_flags gdt_flags{gdt_flags_bitset, limit};
- segment_descriptor code_segment{access_byte, gdt_flags, 0, limit};
+ segment_descriptor code_segment{access_byte, gdt_flags, base, limit};
return code_segment;
}
@@ -54,8 +55,8 @@ namespace teachos::arch::context_switching::descriptor_table
segment_descriptor user_data_segment =
create_segment_descriptor(segment_descriptor_type::DATA_SEGMENT, access_level::USER);
- stl::vector<segment_descriptor> global_descriptor_table{null_segment, kernel_code_segment, kernel_data_segment,
- user_code_segment, user_data_segment};
+ global_descriptor_table global_descriptor_table{null_segment, kernel_code_segment, kernel_data_segment,
+ user_code_segment, user_data_segment};
return global_descriptor_table;
}