aboutsummaryrefslogtreecommitdiff
path: root/devices/pic_8259.c
diff options
context:
space:
mode:
authoraqua <aqua@iserlohn-fortress.net>2022-11-02 09:34:31 +0200
committeraqua <aqua@iserlohn-fortress.net>2022-11-02 09:34:31 +0200
commitccaf2737f82968816c5ec962f936a593686cfb72 (patch)
tree6aa87c45c05e147c56fc4f330780386a608c33c7 /devices/pic_8259.c
parentEnable interrupts after enabling the PIC (diff)
downloadkernel-ccaf2737f82968816c5ec962f936a593686cfb72.tar.xz
Add ps2_ctrl_8042
Diffstat (limited to 'devices/pic_8259.c')
-rw-r--r--devices/pic_8259.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/devices/pic_8259.c b/devices/pic_8259.c
index 62164d3..d3a2f6a 100644
--- a/devices/pic_8259.c
+++ b/devices/pic_8259.c
@@ -36,9 +36,15 @@ pic_init()
void
pic_enable()
{
- // PIC masks
- outb(0xfc, PIC1 + DATA);
- outb(0xff, PIC2 + DATA);
+ unsigned char mask1 = 0xff;
+ mask1 &= ~(1 << 0); // irq0 timer
+ mask1 &= ~(1 << 1); // irq1 keyboard
+ // mask1 &= ~(1 << 2); // irq1 cascade
+ outb(mask1, PIC1 + DATA);
+
+ unsigned char mask2 = 0xff;
+ // mask2 &= ~(1 << 4); // irq12 mouse
+ outb(mask2, PIC2 + DATA);
enable_interrupts();
}