From 7261c64bb236a313ed8846a9c9dbded6890a9e98 Mon Sep 17 00:00:00 2001 From: Fabian Imhof Date: Sun, 27 Apr 2025 11:20:02 +0000 Subject: wip implement syscall in cpp --- arch/x86_64/include/arch/boot/pointers.hpp | 2 -- arch/x86_64/include/arch/context_switching/main.hpp | 2 ++ arch/x86_64/include/arch/context_switching/syscall_handler.hpp | 8 ++++++++ 3 files changed, 10 insertions(+), 2 deletions(-) create mode 100644 arch/x86_64/include/arch/context_switching/syscall_handler.hpp (limited to 'arch/x86_64/include') 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 -- cgit v1.2.3