mirror of https://gitee.com/openkylin/linux.git
ACPICA: Namespace: Add support of OSDT table
ACPICA commit 27415c82fcecf467446f66d1007a0691cc5f3709 This patch adds OSDT (Override System Definition Table) support. When OSDT is loaded, conflict namespace objects will be overridden by the AML interpreter. Bob Moore, Lv Zheng. Link: https://github.com/acpica/acpica/commit/27415c82 Signed-off-by: Lv Zheng <lv.zheng@intel.com> Signed-off-by: Bob Moore <robert.moore@intel.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:
parent
8f6f036104
commit
fe536995f2
|
@ -117,6 +117,13 @@ acpi_ns_one_complete_parse(u32 pass_number,
|
||||||
(u8) pass_number);
|
(u8) pass_number);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Found OSDT table, enable the namespace override feature */
|
||||||
|
|
||||||
|
if (ACPI_COMPARE_NAME(table->signature, ACPI_SIG_OSDT) &&
|
||||||
|
pass_number == ACPI_IMODE_LOAD_PASS1) {
|
||||||
|
walk_state->namespace_override = TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
if (ACPI_FAILURE(status)) {
|
if (ACPI_FAILURE(status)) {
|
||||||
acpi_ds_delete_walk_state(walk_state);
|
acpi_ds_delete_walk_state(walk_state);
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
|
@ -173,7 +173,11 @@ static acpi_status acpi_tb_load_namespace(void)
|
||||||
&&
|
&&
|
||||||
!ACPI_COMPARE_NAME(&
|
!ACPI_COMPARE_NAME(&
|
||||||
(acpi_gbl_root_table_list.tables[i].
|
(acpi_gbl_root_table_list.tables[i].
|
||||||
signature), ACPI_SIG_PSDT))
|
signature), ACPI_SIG_PSDT)
|
||||||
|
&&
|
||||||
|
!ACPI_COMPARE_NAME(&
|
||||||
|
(acpi_gbl_root_table_list.tables[i].
|
||||||
|
signature), ACPI_SIG_OSDT))
|
||||||
||
|
||
|
||||||
ACPI_FAILURE(acpi_tb_validate_table
|
ACPI_FAILURE(acpi_tb_validate_table
|
||||||
(&acpi_gbl_root_table_list.tables[i]))) {
|
(&acpi_gbl_root_table_list.tables[i]))) {
|
||||||
|
|
|
@ -97,7 +97,8 @@ u8 acpi_ut_is_aml_table(struct acpi_table_header *table)
|
||||||
|
|
||||||
if (ACPI_COMPARE_NAME(table->signature, ACPI_SIG_DSDT) ||
|
if (ACPI_COMPARE_NAME(table->signature, ACPI_SIG_DSDT) ||
|
||||||
ACPI_COMPARE_NAME(table->signature, ACPI_SIG_PSDT) ||
|
ACPI_COMPARE_NAME(table->signature, ACPI_SIG_PSDT) ||
|
||||||
ACPI_COMPARE_NAME(table->signature, ACPI_SIG_SSDT)) {
|
ACPI_COMPARE_NAME(table->signature, ACPI_SIG_SSDT) ||
|
||||||
|
ACPI_COMPARE_NAME(table->signature, ACPI_SIG_OSDT)) {
|
||||||
return (TRUE);
|
return (TRUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -65,6 +65,7 @@
|
||||||
#define ACPI_SIG_DSDT "DSDT" /* Differentiated System Description Table */
|
#define ACPI_SIG_DSDT "DSDT" /* Differentiated System Description Table */
|
||||||
#define ACPI_SIG_FADT "FACP" /* Fixed ACPI Description Table */
|
#define ACPI_SIG_FADT "FACP" /* Fixed ACPI Description Table */
|
||||||
#define ACPI_SIG_FACS "FACS" /* Firmware ACPI Control Structure */
|
#define ACPI_SIG_FACS "FACS" /* Firmware ACPI Control Structure */
|
||||||
|
#define ACPI_SIG_OSDT "OSDT" /* Override System Description Table */
|
||||||
#define ACPI_SIG_PSDT "PSDT" /* Persistent System Description Table */
|
#define ACPI_SIG_PSDT "PSDT" /* Persistent System Description Table */
|
||||||
#define ACPI_SIG_RSDP "RSD PTR " /* Root System Description Pointer */
|
#define ACPI_SIG_RSDP "RSD PTR " /* Root System Description Pointer */
|
||||||
#define ACPI_SIG_RSDT "RSDT" /* Root System Description Table */
|
#define ACPI_SIG_RSDT "RSDT" /* Root System Description Table */
|
||||||
|
|
Loading…
Reference in New Issue