diff options
-rw-r--r-- | defs.h | 2 | ||||
-rw-r--r-- | picirq.c | 36 |
2 files changed, 18 insertions, 20 deletions
@@ -40,8 +40,6 @@ int strncmp(const char *p, const char *q, uint n); void syscall(void); // picirq.c -extern ushort irq_mask_8259A; -void irq_setmask_8259A(ushort mask); void pic_init(void); // mp.c @@ -12,7 +12,24 @@ // Current IRQ mask. // Initial IRQ mask has interrupt 2 enabled (for slave 8259A). -ushort irq_mask_8259A = 0xFFFF & ~(1<<IRQ_SLAVE); +static ushort irq_mask_8259A = 0xFFFF & ~(1<<IRQ_SLAVE); + +static void +irq_setmask_8259A(ushort mask) +{ + int i; + irq_mask_8259A = mask; + + outb(IO_PIC1+1, (char)mask); + outb(IO_PIC2+1, (char)(mask >> 8)); + + cprintf("%d: enabled interrupts:", cpu()); + + for (i = 0; i < 16; i++) + if (~mask & (1<<i)) + cprintf(" %d", i); + cprintf("\n"); +} /* Initialize the 8259A interrupt controllers. */ void @@ -68,20 +85,3 @@ pic_init(void) if (irq_mask_8259A != 0xFFFF) irq_setmask_8259A(irq_mask_8259A); } - -void -irq_setmask_8259A(ushort mask) -{ - int i; - irq_mask_8259A = mask; - - outb(IO_PIC1+1, (char)mask); - outb(IO_PIC2+1, (char)(mask >> 8)); - - cprintf("%d: enabled interrupts:", cpu()); - - for (i = 0; i < 16; i++) - if (~mask & (1<<i)) - cprintf(" %d", i); - cprintf("\n"); -} |