aboutsummaryrefslogtreecommitdiff
path: root/arch/x86_64/src/context_switching/main.cpp
diff options
context:
space:
mode:
authorFabian Imhof <fabian.imhof@ost.ch>2025-04-17 14:14:49 +0000
committerFabian Imhof <fabian.imhof@ost.ch>2025-04-17 14:14:49 +0000
commit576a7a95b2462ec4938de9fe344657ca04b2ba34 (patch)
treedc0ba64f465dd716b340b89d38afd325bbd549e6 /arch/x86_64/src/context_switching/main.cpp
parent4909c80b31f3198030d3e666db87cfd39ac87c6f (diff)
downloadteachos-576a7a95b2462ec4938de9fe344657ca04b2ba34.tar.xz
teachos-576a7a95b2462ec4938de9fe344657ca04b2ba34.zip
add syscall interrupt handler
Diffstat (limited to 'arch/x86_64/src/context_switching/main.cpp')
-rw-r--r--arch/x86_64/src/context_switching/main.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/x86_64/src/context_switching/main.cpp b/arch/x86_64/src/context_switching/main.cpp
index 952a3b2..fc8790f 100644
--- a/arch/x86_64/src/context_switching/main.cpp
+++ b/arch/x86_64/src/context_switching/main.cpp
@@ -49,6 +49,9 @@ namespace teachos::arch::context_switching
auto user_mode_main() -> void
{
kernel::cpu::validate_segment_registers(USER_DATA_SEGMENT_SELECTOR, USER_CODE_SEGMENT_SELECTOR);
+
+ asm volatile("INT $0x80");
+
video::vga::text::write("Successfully entered user mode!", video::vga::text::common_attributes::green_on_black);
}