/* StarForth — Steady-State Virtual Machine Runtime Copyright (c) 2023–2025 Robert A. James All rights reserved. This file is part of the StarForth project. Licensed under the StarForth License, Version 1.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at: https://github.com/star.4th@proton.me/StarForth/LICENSE.txt This software is provided "AS IS", WITHOUT WARRANTY OF ANY KIND, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose, and noninfringement. See the License for the specific language governing permissions and limitations under the License. */ /** * percpu.c - The boot core's per-core block (FABRIC-3.10.8 Stage MC-0a). * See starkernel/percpu.h. */ #include "starkernel/percpu.h" /* The boot core's block: one object, not a table sized to a core count. * Secondary cores get theirs as they come online (MC-1). */ static sk_percpu_t g_percpu_boot; void sk_percpu_boot_init(void) { g_percpu_boot.self = &g_percpu_boot; g_percpu_boot.core_id = 0; g_percpu_boot.current_vm = (struct VM *)0; sk_percpu_install(&g_percpu_boot); }