From 214866d58ac2bd1060132b250bf391a495110015 Mon Sep 17 00:00:00 2001 From: Damien Zammit Date: Sun, 4 Apr 2021 15:08:12 +1000 Subject: 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> --- i386/i386at/int_init.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'i386/i386at/int_init.c') diff --git a/i386/i386at/int_init.c b/i386/i386at/int_init.c index 43daad8b..6da627dd 100644 --- a/i386/i386at/int_init.c +++ b/i386/i386at/int_init.c @@ -30,10 +30,21 @@ extern vm_offset_t int_entry_table[]; void int_init(void) { int i; - - for (i = 0; i < 16; i++) +#ifndef APIC + for (i = 0; i < 16; i++) { fill_idt_gate(PIC_INT_BASE + i, int_entry_table[i], KERNEL_CS, ACC_PL_K|ACC_INTR_GATE, 0); + } +#else + for (i = 0; i < 24; i++) { + fill_idt_gate(IOAPIC_INT_BASE + i, + int_entry_table[i], KERNEL_CS, + ACC_PL_K|ACC_INTR_GATE, 0); + } + fill_idt_gate(IOAPIC_SPURIOUS_BASE, + int_entry_table[24], KERNEL_CS, + ACC_PL_K|ACC_INTR_GATE, 0); +#endif } -- cgit v1.2.3