From b6983be0368bb39e3a8cbd919235b14504f1d995 Mon Sep 17 00:00:00 2001 From: Ian Moffett Date: Wed, 17 Sep 2025 01:06:27 -0400 Subject: kern/amd64: mp: Add cpu_get() routine This commit introduces a new cpu_get() function to acquire a specific CPU by using a logical ID as an index. Signed-off-by: Ian Moffett --- src/sys/arch/amd64/cpu/cpu_mp.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'src/sys/arch/amd64') diff --git a/src/sys/arch/amd64/cpu/cpu_mp.c b/src/sys/arch/amd64/cpu/cpu_mp.c index 8d84b1f..3483e4a 100644 --- a/src/sys/arch/amd64/cpu/cpu_mp.c +++ b/src/sys/arch/amd64/cpu/cpu_mp.c @@ -79,6 +79,23 @@ ap_entry(struct limine_smp_info *) for (;;); } +/* + * Get a specific core descriptor + */ +struct pcore * +cpu_get(uint16_t index) +{ + if (index == 0) { + return &g_bsp; + } + + if ((index - 1) >= ncores_up) { + index %= (ncores_up - 1); + } + + return corelist[index - 1]; +} + void bsp_ap_startup(void) { -- cgit v1.2.3