diff options
author | Damien Zammit <damien@zamaudio.com> | 2021-04-04 15:08:12 +1000 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2021-04-04 16:27:17 +0200 |
commit | 214866d58ac2bd1060132b250bf391a495110015 (patch) | |
tree | faa4509549a8d4b580b4b52e00162efd30d3f480 /i386/i386/irq.c | |
parent | 71db59f69602e54c33ba707c8e4a7a66f6c9ca0b (diff) |
Add ioapic support disabled by default
Use --enable-ncpus=x --enable-apic where x > 1 for SMP+APIC support.
Use neither for no SMP and old PIC support.
Message-Id: <20210404050812.145483-1-damien@zamaudio.com>
Diffstat (limited to 'i386/i386/irq.c')
-rw-r--r-- | i386/i386/irq.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/i386/i386/irq.c b/i386/i386/irq.c index 35681191..42921617 100644 --- a/i386/i386/irq.c +++ b/i386/i386/irq.c @@ -29,7 +29,10 @@ extern queue_head_t main_intr_queue; static void irq_eoi (struct irqdev *dev, int id) { - /* TODO EOI(dev->irq[id]) */ +#ifdef APIC + ioapic_irq_eoi (dev->irq[id]); + lapic_eoi (); +#endif } static unsigned int ndisabled_irq[NINTR]; @@ -62,6 +65,10 @@ __enable_irq (irq_t irq_nr) struct irqdev irqtab = { "irq", irq_eoi, &main_intr_queue, 0, +#ifdef APIC + {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23}, +#else {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}, +#endif }; |