summaryrefslogtreecommitdiff
path: root/sys/arch/amd64/cpu
diff options
context:
space:
mode:
authorIan Moffett <ian@osmora.org>2025-11-16 16:38:26 -0500
committerIan Moffett <ian@osmora.org>2025-11-16 16:54:43 -0500
commit0fbb43a96646c0d8d593f5d72b3cafc9b6ac4773 (patch)
treeb3367486eec5ea5861f01eef5171b787d17229c6 /sys/arch/amd64/cpu
parent14f44e5b4a7513931b1371b5042d212a6a07ac1e (diff)
kern/amd64: cpu: Disable master/slave i8259 chips
Signed-off-by: Ian Moffett <ian@osmora.org>
Diffstat (limited to 'sys/arch/amd64/cpu')
-rw-r--r--sys/arch/amd64/cpu/boot.S9
1 files changed, 9 insertions, 0 deletions
diff --git a/sys/arch/amd64/cpu/boot.S b/sys/arch/amd64/cpu/boot.S
index 26b2b8b..0cda6a7 100644
--- a/sys/arch/amd64/cpu/boot.S
+++ b/sys/arch/amd64/cpu/boot.S
@@ -45,6 +45,15 @@ _start:
call gdt_load /* Load our GDT */
call idt_load /* Load our IDT */
+ /*
+ * RV7 will default to APIC operation, as per a section
+ * somewhere around 5.2.12 of the ACPI spec, we'll need
+ * to disable the PC-AT dual 8259 chips.
+ */
+ mov $0xFF, %al /* Mask all inputs */
+ out %al, $0x21 /* Disable the master PIC */
+ out %al, $0xA1 /* Disable the slave PIC */
+
lea bootmsg(%rip), %rdi
call uart_puts