aboutsummaryrefslogtreecommitdiff
path: root/sys/arch/amd64/amd64/local_intr.S
diff options
context:
space:
mode:
Diffstat (limited to 'sys/arch/amd64/amd64/local_intr.S')
-rw-r--r--sys/arch/amd64/amd64/local_intr.S19
1 files changed, 12 insertions, 7 deletions
diff --git a/sys/arch/amd64/amd64/local_intr.S b/sys/arch/amd64/amd64/local_intr.S
index abfd9e0..b7b6345 100644
--- a/sys/arch/amd64/amd64/local_intr.S
+++ b/sys/arch/amd64/amd64/local_intr.S
@@ -27,14 +27,19 @@
* POSSIBILITY OF SUCH DAMAGE.
*/
+#include <machine/frameasm.h>
+#include <machine/trap.h>
+#include <sys/cdefs.h>
+
+__KERNEL_META "$Hyra$: local_intr.S, Ian Marco Moffett, \
+ Routines for handling Local Interrupts"
+
.text
.globl lapic_tmr_isr
lapic_tmr_isr:
- lea stub_msg(%rip), %rdi
- call kprintf
- cli
- hlt
-
-.section .rodata
-stub_msg: .ascii "**LAPIC TIMER ISR IS A STUB; HALTING**\n\0"
+ push_trapframe $0
+ mov %rsp, %rdi
+ call sched_context_switch
+ pop_trapframe
+ iretq