aboutsummaryrefslogtreecommitdiff
path: root/arch/x86_64/src/interrupt_handling
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/interrupt_handling
parent4909c80b31f3198030d3e666db87cfd39ac87c6f (diff)
downloadteachos-576a7a95b2462ec4938de9fe344657ca04b2ba34.tar.xz
teachos-576a7a95b2462ec4938de9fe344657ca04b2ba34.zip
add syscall interrupt handler
Diffstat (limited to 'arch/x86_64/src/interrupt_handling')
-rw-r--r--arch/x86_64/src/interrupt_handling/generic_interrupt_handler.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/arch/x86_64/src/interrupt_handling/generic_interrupt_handler.cpp b/arch/x86_64/src/interrupt_handling/generic_interrupt_handler.cpp
index 4392b04..6075770 100644
--- a/arch/x86_64/src/interrupt_handling/generic_interrupt_handler.cpp
+++ b/arch/x86_64/src/interrupt_handling/generic_interrupt_handler.cpp
@@ -11,4 +11,11 @@ namespace teachos::arch::interrupt_handling
(void)frame;
video::vga::text::write("An Interrupt occurred.", video::vga::text::common_attributes::green_on_black);
}
+
+ [[gnu::interrupt]] [[gnu::section(".interrupt_text")]]
+ auto syscall_interrupt_handler(interrupt_frame * frame) -> void
+ {
+ (void)frame;
+ video::vga::text::write("A SYSCALL interrupt occurred.", video::vga::text::common_attributes::green_on_black);
+ }
} // namespace teachos::arch::interrupt_handling