Files
LithosAnanake/include/starkernel/acpi.h
T
Robert Allan JamesandClaude Opus 5.5 3a2ba5149f FABRIC-3.10.8 MC-1b: aarch64's second core online and parked
Cores from the DTB /cpus or, on QEMU (ACPI, no DTB), the MADT GICC
entries; the MADT lookup is now shared (hal/acpi.c) with amd64. PSCI
CPU_ON through the discovered conduit into ap_entry.S, which copies the
boot core's MMU/control state, sets TPIDR_EL1 and parks. Core 1 online
at EL1 with its own block; its vCPU thread 0.0% on the host. QEMU aarch64
-smp 2 -name debug-threads=on. 3-ISA acceptance clean.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-26 13:16:33 -04:00

33 lines
1004 B
C
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/*
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.
*/
/**
* acpi.h - Finding an ACPI table from the RSDP (FABRIC-3.10.8 MC-1b).
*
* Shared by the core enumeration of amd64 (MADT Local APIC entries) and
* aarch64 (MADT GICC entries, when the firmware hands over ACPI rather
* than a devicetree, as QEMU's AAVMF does).
*/
#ifndef STARKERNEL_ACPI_H
#define STARKERNEL_ACPI_H
#include <stdint.h>
/* The first XSDT-listed table whose 4-byte signature is `sig`, or NULL.
* `rsdp` is BootInfo->acpi_table (ACPI 2.0+ RSDP); NULL-safe. */
const uint8_t *acpi_find_table(const void *rsdp, const char *sig);
/* A table's length field (bytes 4..7 of its header). */
uint32_t acpi_table_length(const uint8_t *table);
#endif /* STARKERNEL_ACPI_H */