aboutsummaryrefslogtreecommitdiff
path: root/i386/i386at/idt.h
diff options
context:
space:
mode:
authorDamien Zammit <damien@zamaudio.com>2021-04-04 15:08:12 +1000
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2021-04-04 16:27:17 +0200
commit214866d58ac2bd1060132b250bf391a495110015 (patch)
treefaa4509549a8d4b580b4b52e00162efd30d3f480 /i386/i386at/idt.h
parent71db59f69602e54c33ba707c8e4a7a66f6c9ca0b (diff)
downloadgnumach-214866d58ac2bd1060132b250bf391a495110015.tar.gz
gnumach-214866d58ac2bd1060132b250bf391a495110015.tar.bz2
gnumach-214866d58ac2bd1060132b250bf391a495110015.zip
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/i386at/idt.h')
-rw-r--r--i386/i386at/idt.h13
1 files changed, 10 insertions, 3 deletions
diff --git a/i386/i386at/idt.h b/i386/i386at/idt.h
index fd2f62d8..ac065aef 100644
--- a/i386/i386at/idt.h
+++ b/i386/i386at/idt.h
@@ -24,12 +24,19 @@
#ifndef _I386AT_IDT_
#define _I386AT_IDT_
-/* On a standard PC, we only need 16 interrupt vectors,
- because that's all the PIC hardware supports. */
-#define IDTSZ (0x20+0x10)
+/* There are 256 interrupt vectors on x86,
+ * the first 32 are taken by cpu faults */
+#define IDTSZ (0x100)
+/* PIC sits at 0x20-0x2f */
#define PIC_INT_BASE 0x20
+/* IOAPIC sits at 0x30-0x47 */
+#define IOAPIC_INT_BASE 0x30
+
+/* IOAPIC spurious interrupt vector set to 0xff */
+#define IOAPIC_SPURIOUS_BASE 0xff
+
#include <i386/idt-gen.h>
#ifndef __ASSEMBLER__