aboutsummaryrefslogtreecommitdiff
path: root/arch/x86_64/include
diff options
context:
space:
mode:
authorMatteo Gmür <matteo.gmuer1@ost.ch>2025-04-27 13:18:49 +0000
committerMatteo Gmür <matteo.gmuer1@ost.ch>2025-04-27 13:18:49 +0000
commit187eba4eca3ea46d8c26419168e525242338dae4 (patch)
tree4fa918de9948b8d081bb9b24c0626a88740a4bd8 /arch/x86_64/include
parent7261c64bb236a313ed8846a9c9dbded6890a9e98 (diff)
downloadteachos-187eba4eca3ea46d8c26419168e525242338dae4.tar.xz
teachos-187eba4eca3ea46d8c26419168e525242338dae4.zip
Simplify syscall setup
Diffstat (limited to 'arch/x86_64/include')
-rw-r--r--arch/x86_64/include/arch/context_switching/syscall_handler.hpp1
-rw-r--r--arch/x86_64/include/arch/kernel/cpu/segment_register.hpp1
2 files changed, 2 insertions, 0 deletions
diff --git a/arch/x86_64/include/arch/context_switching/syscall_handler.hpp b/arch/x86_64/include/arch/context_switching/syscall_handler.hpp
index 8583051..5a46924 100644
--- a/arch/x86_64/include/arch/context_switching/syscall_handler.hpp
+++ b/arch/x86_64/include/arch/context_switching/syscall_handler.hpp
@@ -3,6 +3,7 @@
namespace teachos::arch::context_switching
{
+ [[gnu::naked]]
auto syscall_handler() -> void;
}
#endif \ No newline at end of file
diff --git a/arch/x86_64/include/arch/kernel/cpu/segment_register.hpp b/arch/x86_64/include/arch/kernel/cpu/segment_register.hpp
index 6a2ca3e..36ada23 100644
--- a/arch/x86_64/include/arch/kernel/cpu/segment_register.hpp
+++ b/arch/x86_64/include/arch/kernel/cpu/segment_register.hpp
@@ -86,6 +86,7 @@ namespace teachos::arch::kernel::cpu
* @param code_segment Code Segment that should be loaded into the CS register.
* @param address Function that we want to call in the new context created by the given Code Segment.
*/
+ [[gnu::naked]]
auto set_code_segment_register(context_switching::interrupt_descriptor_table::segment_selector data_segment,
context_switching::interrupt_descriptor_table::segment_selector code_segment,
uint64_t address) -> void;