// SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0 /****************************************************************************** * * Module Name: tbinstal - ACPI table installation and removal * * Copyright (C) 2000 - 2023, Intel Corp. * *****************************************************************************/ #include <acpi/acpi.h> #include "accommon.h" #include "actables.h" #define _COMPONENT … ACPI_MODULE_NAME("tbinstal") /******************************************************************************* * * FUNCTION: acpi_tb_install_table_with_override * * PARAMETERS: new_table_desc - New table descriptor to install * override - Whether override should be performed * table_index - Where the table index is returned * * RETURN: None * * DESCRIPTION: Install an ACPI table into the global data structure. The * table override mechanism is called to allow the host * OS to replace any table before it is installed in the root * table array. * ******************************************************************************/ void acpi_tb_install_table_with_override(struct acpi_table_desc *new_table_desc, u8 override, u32 *table_index) { … } /******************************************************************************* * * FUNCTION: acpi_tb_install_standard_table * * PARAMETERS: address - Address of the table (might be a virtual * address depending on the table_flags) * flags - Flags for the table * table - Pointer to the table (required for virtual * origins, optional for physical) * reload - Whether reload should be performed * override - Whether override should be performed * table_index - Where the table index is returned * * RETURN: Status * * DESCRIPTION: This function is called to verify and install an ACPI table. * When this function is called by "Load" or "LoadTable" opcodes, * or by acpi_load_table() API, the "Reload" parameter is set. * After successfully returning from this function, table is * "INSTALLED" but not "VALIDATED". * ******************************************************************************/ acpi_status acpi_tb_install_standard_table(acpi_physical_address address, u8 flags, struct acpi_table_header *table, u8 reload, u8 override, u32 *table_index) { … } /******************************************************************************* * * FUNCTION: acpi_tb_override_table * * PARAMETERS: old_table_desc - Validated table descriptor to be * overridden * * RETURN: None * * DESCRIPTION: Attempt table override by calling the OSL override functions. * Note: If the table is overridden, then the entire new table * is acquired and returned by this function. * Before/after invocation, the table descriptor is in a state * that is "VALIDATED". * ******************************************************************************/ void acpi_tb_override_table(struct acpi_table_desc *old_table_desc) { … } /******************************************************************************* * * FUNCTION: acpi_tb_uninstall_table * * PARAMETERS: table_desc - Table descriptor * * RETURN: None * * DESCRIPTION: Delete one internal ACPI table * ******************************************************************************/ void acpi_tb_uninstall_table(struct acpi_table_desc *table_desc) { … }