summaryrefslogtreecommitdiff
path: root/picirq.c
diff options
context:
space:
mode:
authorrsc <rsc>2006-09-07 15:29:54 +0000
committerrsc <rsc>2006-09-07 15:29:54 +0000
commit19297caf0d141e23fa2f5da6e2fb0ffa181d7a82 (patch)
tree573b4eef9c6f683b42f3ddb69679b9be7a8e0649 /picirq.c
parent6c8acf9e046aaf31f528e1890c923525552b0dd4 (diff)
downloadxv6-labs-19297caf0d141e23fa2f5da6e2fb0ffa181d7a82.tar.gz
xv6-labs-19297caf0d141e23fa2f5da6e2fb0ffa181d7a82.tar.bz2
xv6-labs-19297caf0d141e23fa2f5da6e2fb0ffa181d7a82.zip
fix ide, pit interfaces
Diffstat (limited to 'picirq.c')
-rw-r--r--picirq.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/picirq.c b/picirq.c
index eaac053..b7d0116 100644
--- a/picirq.c
+++ b/picirq.c
@@ -11,9 +11,9 @@
// 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);
-void
+static void
irq_setmask_8259A(ushort mask)
{
irq_mask_8259A = mask;
@@ -22,6 +22,12 @@ irq_setmask_8259A(ushort mask)
outb(IO_PIC2+1, (char)(mask >> 8));
}
+void
+irq_enable(int irq)
+{
+ irq_setmask_8259A(irq_mask_8259A & ~(1<<irq));
+}
+
// Initialize the 8259A interrupt controllers.
void
pic_init(void)