svn commit: r206107 - vendor-sys/acpica/dist/tables
Jung-uk Kim
jkim at FreeBSD.org
Fri Apr 2 17:00:37 UTC 2010
Author: jkim
Date: Fri Apr 2 17:00:37 2010
New Revision: 206107
URL: http://svn.freebsd.org/changeset/base/206107
Log:
Fixes for table load regression.
http://git.moblin.org/cgit.cgi/acpica/commit/?id=e4c530f4e71d70804ed911d41d922dce4cea8b23
http://git.moblin.org/cgit.cgi/acpica/commit/?id=67a1ef8c98791bd4a0fb84fe0c2feff7082151dc
Obtained from: Intel
Modified:
vendor-sys/acpica/dist/tables/tbxface.c
Modified: vendor-sys/acpica/dist/tables/tbxface.c
==============================================================================
--- vendor-sys/acpica/dist/tables/tbxface.c Fri Apr 2 16:57:25 2010 (r206106)
+++ vendor-sys/acpica/dist/tables/tbxface.c Fri Apr 2 17:00:37 2010 (r206107)
@@ -552,18 +552,13 @@ AcpiTbLoadNamespace (
(void) AcpiUtAcquireMutex (ACPI_MTX_TABLES);
/*
- * Save the DSDT pointer for simple access. This is the mapped memory
- * address. We must take care here because the address of the .Tables
- * array can change dynamically as tables are loaded at run-time
- */
- AcpiGbl_DSDT = AcpiGbl_RootTableList.Tables[ACPI_TABLE_INDEX_DSDT].Pointer;
-
- /*
* Load the namespace. The DSDT is required, but any SSDT and
* PSDT tables are optional. Verify the DSDT.
*/
if (!AcpiGbl_RootTableList.Count ||
- !ACPI_COMPARE_NAME (AcpiGbl_DSDT->Signature, ACPI_SIG_DSDT) ||
+ !ACPI_COMPARE_NAME (
+ &(AcpiGbl_RootTableList.Tables[ACPI_TABLE_INDEX_DSDT].Signature),
+ ACPI_SIG_DSDT) ||
ACPI_FAILURE (AcpiTbVerifyTable (
&AcpiGbl_RootTableList.Tables[ACPI_TABLE_INDEX_DSDT])))
{
@@ -572,6 +567,14 @@ AcpiTbLoadNamespace (
}
/*
+ * Save the DSDT pointer for simple access. This is the mapped memory
+ * address. We must take care here because the address of the .Tables
+ * array can change dynamically as tables are loaded at run-time. Note:
+ * .Pointer field is not validated until after call to AcpiTbVerifyTable.
+ */
+ AcpiGbl_DSDT = AcpiGbl_RootTableList.Tables[ACPI_TABLE_INDEX_DSDT].Pointer;
+
+ /*
* Optionally copy the entire DSDT to local memory (instead of simply
* mapping it.) There are some BIOSs that corrupt or replace the original
* DSDT, creating the need for this option. Default is FALSE, do not copy
More information about the svn-src-vendor
mailing list