aboutsummaryrefslogtreecommitdiff
path: root/arch/x86_64/src/kernel/cpu
diff options
context:
space:
mode:
authorMatteo Gmür <matteo.gmuer1@ost.ch>2025-03-15 11:29:26 +0000
committerMatteo Gmür <matteo.gmuer1@ost.ch>2025-03-15 11:29:26 +0000
commit60ab85044289f4a9a0a84c37bfb2b3938f6ae416 (patch)
treef1b41963d0a28bbe26e4e8f61c8bcc11b4daa000 /arch/x86_64/src/kernel/cpu
parentf2b9ac8f0f22354241e9b78e47aa7cb94e5ef511 (diff)
downloadteachos-60ab85044289f4a9a0a84c37bfb2b3938f6ae416.tar.xz
teachos-60ab85044289f4a9a0a84c37bfb2b3938f6ae416.zip
Fix size of segment descriptor using bit fields and struct packing
Diffstat (limited to 'arch/x86_64/src/kernel/cpu')
-rw-r--r--arch/x86_64/src/kernel/cpu/lgdt.cpp6
1 files changed, 1 insertions, 5 deletions
diff --git a/arch/x86_64/src/kernel/cpu/lgdt.cpp b/arch/x86_64/src/kernel/cpu/lgdt.cpp
index 70a48dd..cad3ffa 100644
--- a/arch/x86_64/src/kernel/cpu/lgdt.cpp
+++ b/arch/x86_64/src/kernel/cpu/lgdt.cpp
@@ -8,10 +8,6 @@ namespace teachos::arch::kernel::cpu
load_global_descriptor_table(context_switching::descriptor_table::global_descriptor_table_pointer const & gdt_pointer)
-> void
{
- // TODO: build lgdt argument from global_descriptor_table_pointer (don't know how yet)
- // asm volatile("lgdt (%0)" : : "r"(gdt_pointer));
- if (gdt_pointer.table_length)
- {
- }
+ asm volatile("lgdt %[input]" : /* no output from call */ : [input] "r"(gdt_pointer));
}
} // namespace teachos::arch::kernel::cpu