From b22d898297a2496ba4cfd31d445769fbebc0a46d Mon Sep 17 00:00:00 2001 From: kaashoek Date: Wed, 5 Jul 2006 20:00:14 +0000 Subject: timer interrupts disk interrupts (assuming bochs has a bug) --- picirq.c | 131 +++++++++++++++++++++++++++++++++------------------------------ 1 file changed, 68 insertions(+), 63 deletions(-) (limited to 'picirq.c') diff --git a/picirq.c b/picirq.c index ba131a3..9c3ea0c 100644 --- a/picirq.c +++ b/picirq.c @@ -4,80 +4,85 @@ #include "x86.h" #include "defs.h" +// I/O Addresses of the two 8259A programmable interrupt controllers +#define IO_PIC1 0x20 // Master (IRQs 0-7) +#define IO_PIC2 0xA0 // Slave (IRQs 8-15) + +#define IRQ_SLAVE 2 // IRQ at which slave connects to master + // Current IRQ mask. // Initial IRQ mask has interrupt 2 enabled (for slave 8259A). uint16_t irq_mask_8259A = 0xFFFF & ~(1<> 8)); - cprintf("enabled interrupts:"); - for (i = 0; i < 16; i++) - if (~mask & (1<> 8)); + + cprintf("%d: enabled interrupts:", cpu()); + + for (i = 0; i < 16; i++) + if (~mask & (1<