summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorIan Moffett <ian@osmora.org>2025-11-17 17:02:00 -0500
committerIan Moffett <ian@osmora.org>2025-11-17 17:02:00 -0500
commite44584b5ae7aaf43d2241138149b38ff15072e60 (patch)
tree2764f45e0083fc95070f07bc847dda743da58874 /sys
parentd20dbfa4d934259cf1b4acd6c00af306ebddfdad (diff)
kern/amd64: mp: Ensure core is online capable
Section 5.2.12.2, table 5.23 of the ACPI spec states that the flags needs to have the enabled bit [0] or online capable bit [1] set for startup, otherwise it should just be ignored. Signed-off-by: Ian Moffett <ian@osmora.org>
Diffstat (limited to 'sys')
-rw-r--r--sys/arch/amd64/cpu/mp.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/sys/arch/amd64/cpu/mp.c b/sys/arch/amd64/cpu/mp.c
index 09c824e..ae40025 100644
--- a/sys/arch/amd64/cpu/mp.c
+++ b/sys/arch/amd64/cpu/mp.c
@@ -73,6 +73,11 @@ cpu_lapic_cb(struct apic_header *h, size_t arg)
return -1;
}
+ /* If not online capable, continue */
+ if (!ISSET(lapic->flags, 0x3)) {
+ return -1;
+ }
+
/* Prepare the IPI packet */
ipi.dest_id = lapic->apic_id;
ipi.vector = 0;