/* See COPYRIGHT for copyright information. */ #include "types.h" #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). static ushort irq_mask_8259A = 0xFFFF & ~(1<> 8)); cprintf("%d: enabled interrupts:", cpu()); for (i = 0; i < 16; i++) if (~mask & (1<