summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
authorMiguel <m.i@gmx.at>2018-08-18 16:49:00 +0200
committerMiguel <m.i@gmx.at>2018-08-18 16:49:00 +0200
commit8d5d5b8fcca8c9fad89f64f41a3d36c62453dba4 (patch)
tree9dd87423d63ab4d03946da81ec76ee8746e44ef2 /asm
parent639c3d47b09114628f8e1f8817c27c10bf1fb28c (diff)
mouse up and running again
Diffstat (limited to 'asm')
-rw-r--r--asm/asm.h1
-rw-r--r--asm/int_mouse_handler.asm19
2 files changed, 20 insertions, 0 deletions
diff --git a/asm/asm.h b/asm/asm.h
index 58c3f62..cc1d99d 100644
--- a/asm/asm.h
+++ b/asm/asm.h
@@ -1,5 +1,6 @@
void pic_setup();
void int_kb_handler();
+void int_mouse_handler();
void int_default_handler();
void int_clock_handler();
void int_syscall_handler();
diff --git a/asm/int_mouse_handler.asm b/asm/int_mouse_handler.asm
new file mode 100644
index 0000000..4e4882b
--- /dev/null
+++ b/asm/int_mouse_handler.asm
@@ -0,0 +1,19 @@
+global int_mouse_handler
+[extern mouse_handler]
+
+[bits 32]
+int_mouse_handler:
+
+ cli
+ pusha
+
+ call mouse_handler
+
+ mov al, 0x20 ;Port number AND command number to Acknowledge IRQ
+ out 0xa0, al ; came from slave
+ out 0x20, al ;Acknowledge IRQ, so we keep getting interrupts
+
+ popa
+ sti
+
+ iret ;Interrupt-Return