// SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0 /****************************************************************************** * * Module Name: tbxfroot - Find the root ACPI table (RSDT) * * Copyright (C) 2000 - 2023, Intel Corp. * *****************************************************************************/ #include <acpi/acpi.h> #include "accommon.h" #include "actables.h" #define _COMPONENT … ACPI_MODULE_NAME("tbxfroot") /******************************************************************************* * * FUNCTION: acpi_tb_get_rsdp_length * * PARAMETERS: rsdp - Pointer to RSDP * * RETURN: Table length * * DESCRIPTION: Get the length of the RSDP * ******************************************************************************/ u32 acpi_tb_get_rsdp_length(struct acpi_table_rsdp *rsdp) { … } /******************************************************************************* * * FUNCTION: acpi_tb_validate_rsdp * * PARAMETERS: rsdp - Pointer to unvalidated RSDP * * RETURN: Status * * DESCRIPTION: Validate the RSDP (ptr) * ******************************************************************************/ acpi_status acpi_tb_validate_rsdp(struct acpi_table_rsdp *rsdp) { … } /******************************************************************************* * * FUNCTION: acpi_find_root_pointer * * PARAMETERS: table_address - Where the table pointer is returned * * RETURN: Status, RSDP physical address * * DESCRIPTION: Search lower 1Mbyte of memory for the root system descriptor * pointer structure. If it is found, set *RSDP to point to it. * * NOTE1: The RSDP must be either in the first 1K of the Extended * BIOS Data Area or between E0000 and FFFFF (From ACPI Spec.) * Only a 32-bit physical address is necessary. * * NOTE2: This function is always available, regardless of the * initialization state of the rest of ACPI. * ******************************************************************************/ acpi_status ACPI_INIT_FUNCTION acpi_find_root_pointer(acpi_physical_address *table_address) { … } ACPI_EXPORT_SYMBOL_INIT(…) /******************************************************************************* * * FUNCTION: acpi_tb_scan_memory_for_rsdp * * PARAMETERS: start_address - Starting pointer for search * length - Maximum length to search * * RETURN: Pointer to the RSDP if found, otherwise NULL. * * DESCRIPTION: Search a block of memory for the RSDP signature * ******************************************************************************/ u8 *acpi_tb_scan_memory_for_rsdp(u8 *start_address, u32 length) { … }