aboutsummaryrefslogtreecommitdiff
path: root/arch/x86_64/src/kernel
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86_64/src/kernel')
-rw-r--r--arch/x86_64/src/kernel/cpu/tr.cpp4
-rw-r--r--arch/x86_64/src/kernel/main.cpp2
2 files changed, 3 insertions, 3 deletions
diff --git a/arch/x86_64/src/kernel/cpu/tr.cpp b/arch/x86_64/src/kernel/cpu/tr.cpp
index ad38d09..d0e037f 100644
--- a/arch/x86_64/src/kernel/cpu/tr.cpp
+++ b/arch/x86_64/src/kernel/cpu/tr.cpp
@@ -5,12 +5,12 @@ namespace teachos::arch::kernel::cpu
auto store_task_register() -> uint16_t
{
uint16_t current_value{};
- asm("str %[output]" : [output] "=m"(current_value));
+ asm("str %[output]" : [output] "=r"(current_value));
return current_value;
}
auto load_task_register(uint16_t gdt_offset) -> void
{
- asm volatile("ltr %[input]" : /* no output from call */ : [input] "m"(gdt_offset));
+ asm volatile("ltr %[input]" : /* no output from call */ : [input] "r"(gdt_offset));
}
} // namespace teachos::arch::kernel::cpu
diff --git a/arch/x86_64/src/kernel/main.cpp b/arch/x86_64/src/kernel/main.cpp
index c1e134a..da6d6d3 100644
--- a/arch/x86_64/src/kernel/main.cpp
+++ b/arch/x86_64/src/kernel/main.cpp
@@ -60,7 +60,7 @@ namespace teachos::arch::kernel
heap_test();
- auto global_descriptor_table = context_switching::descriptor_table::initialize_global_descriptor_table();
+ decltype(auto) global_descriptor_table = context_switching::descriptor_table::initialize_global_descriptor_table();
(void)global_descriptor_table.at(1);
video::vga::text::write("GDT FILLED", video::vga::text::common_attributes::green_on_black);
}