/* 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 /* 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 */