From a0e0b16a5e5e0370d2312d17a250784d03b9507e Mon Sep 17 00:00:00 2001 From: Ian Moffett Date: Wed, 19 Nov 2025 17:47:43 -0500 Subject: kern/amd64: mp: Add CPU idle function to split logic Signed-off-by: Ian Moffett --- sys/arch/amd64/cpu/mp.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'sys') diff --git a/sys/arch/amd64/cpu/mp.c b/sys/arch/amd64/cpu/mp.c index a84648b..7ce3a06 100644 --- a/sys/arch/amd64/cpu/mp.c +++ b/sys/arch/amd64/cpu/mp.c @@ -110,6 +110,14 @@ static uint32_t ap_count = 0; static volatile uint32_t aps_up = 0; __section(".trampoline") static char ap_code[4096]; +static void +cpu_idle(void) +{ + for (;;) { + __asmv("hlt"); + } +} + static void cpu_mtrr_save(void) { @@ -283,9 +291,8 @@ cpu_lm_entry(void) atomic_inc_int(&aps_up); cpu_list[aps_up] = ci; - for (;;) { - __asmv("cli; hlt"); - } + cpu_idle(); + __builtin_unreachable(); } static int -- cgit v1.2.3