diff options
author | jkim <jkim@FreeBSD.org> | 2009-06-04 20:48:31 +0000 |
---|---|---|
committer | jkim <jkim@FreeBSD.org> | 2009-06-04 20:48:31 +0000 |
commit | 419d50d00de6d079fc426a14d51f3d8cec3a0abd (patch) | |
tree | a073a2615b2048d1935fd7b8a363d06ea9572799 /sys/contrib | |
parent | 8b4d37b6a77bc5293cb64640e5e438e517676aa3 (diff) | |
download | FreeBSD-src-419d50d00de6d079fc426a14d51f3d8cec3a0abd.zip FreeBSD-src-419d50d00de6d079fc426a14d51f3d8cec3a0abd.tar.gz |
Do not install SSDT when DSDT is overriden by user.
Diffstat (limited to 'sys/contrib')
-rw-r--r-- | sys/contrib/dev/acpica/tables/tbutils.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/sys/contrib/dev/acpica/tables/tbutils.c b/sys/contrib/dev/acpica/tables/tbutils.c index d492317..28cd8dc 100644 --- a/sys/contrib/dev/acpica/tables/tbutils.c +++ b/sys/contrib/dev/acpica/tables/tbutils.c @@ -360,6 +360,21 @@ AcpiTbInstallTable ( return; } + /* Skip SSDT when DSDT is overriden */ + + if (ACPI_COMPARE_NAME (MappedTable->Signature, ACPI_SIG_SSDT) && + (AcpiGbl_RootTableList.Tables[ACPI_TABLE_INDEX_DSDT].Flags & + ACPI_TABLE_ORIGIN_OVERRIDE)) + { + ACPI_INFO ((AE_INFO, + "%4.4s @ 0x%p Table override, replaced with:", ACPI_SIG_SSDT, + ACPI_CAST_PTR (void, Address))); + AcpiTbPrintTableHeader ( + AcpiGbl_RootTableList.Tables[ACPI_TABLE_INDEX_DSDT].Address, + AcpiGbl_RootTableList.Tables[ACPI_TABLE_INDEX_DSDT].Pointer); + goto UnmapAndExit; + } + /* If a particular signature is expected (DSDT/FACS), it must match */ if (Signature && |