aboutsummaryrefslogtreecommitdiff
path: root/arch/x86_64/include
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86_64/include')
-rw-r--r--arch/x86_64/include/arch/boot/pointers.hpp2
-rw-r--r--arch/x86_64/include/arch/context_switching/main.hpp2
-rw-r--r--arch/x86_64/include/arch/context_switching/syscall_handler.hpp8
3 files changed, 10 insertions, 2 deletions
diff --git a/arch/x86_64/include/arch/boot/pointers.hpp b/arch/x86_64/include/arch/boot/pointers.hpp
index d9a7ab7..fe9c657 100644
--- a/arch/x86_64/include/arch/boot/pointers.hpp
+++ b/arch/x86_64/include/arch/boot/pointers.hpp
@@ -10,8 +10,6 @@ namespace teachos::arch::boot
*/
extern "C" size_t const multiboot_information_pointer;
- extern "C" void syscall_trampoline();
-
} // namespace teachos::arch::boot
#endif // TEACHOS_ARCH_X86_64_BOOT_POINTERS_HPP
diff --git a/arch/x86_64/include/arch/context_switching/main.hpp b/arch/x86_64/include/arch/context_switching/main.hpp
index f8477ea..5537174 100644
--- a/arch/x86_64/include/arch/context_switching/main.hpp
+++ b/arch/x86_64/include/arch/context_switching/main.hpp
@@ -46,6 +46,8 @@ namespace teachos::arch::context_switching
auto switch_context(interrupt_descriptor_table::segment_selector data_segment,
interrupt_descriptor_table::segment_selector code_segment, void (*return_function)()) -> void;
+ auto setup_syscall() -> void;
+
} // namespace teachos::arch::context_switching
#endif // TEACHOS_ARCH_X86_64_CONTEXT_SWITCHING_MAIN_HPP
diff --git a/arch/x86_64/include/arch/context_switching/syscall_handler.hpp b/arch/x86_64/include/arch/context_switching/syscall_handler.hpp
new file mode 100644
index 0000000..8583051
--- /dev/null
+++ b/arch/x86_64/include/arch/context_switching/syscall_handler.hpp
@@ -0,0 +1,8 @@
+#ifndef TEACHOS_ARCH_X86_64_CONTEXT_SWITCHING_SYSCALL_HANDLER_HPP
+#define TEACHOS_ARCH_X86_64_CONTEXT_SWITCHING_SYSCALL_HANDLER_HPP
+
+namespace teachos::arch::context_switching
+{
+ auto syscall_handler() -> void;
+}
+#endif \ No newline at end of file