summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--defs.h2
-rw-r--r--picirq.c36
2 files changed, 18 insertions, 20 deletions
diff --git a/defs.h b/defs.h
index 1c28cc0..fead1d2 100644
--- a/defs.h
+++ b/defs.h
@@ -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
diff --git a/picirq.c b/picirq.c
index e774e6d..9fd7167 100644
--- a/picirq.c
+++ b/picirq.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");
-}