aboutsummaryrefslogtreecommitdiff
path: root/source/components/utilities/utxfinit.c
diff options
context:
space:
mode:
authorJung-uk Kim <jkim@FreeBSD.org>2016-02-12 18:53:29 +0000
committerJung-uk Kim <jkim@FreeBSD.org>2016-02-12 18:53:29 +0000
commit67ac2c42d552618270f8ba5431d63944a35a0ee7 (patch)
tree5c13158cdf7d0b9ff31cb1f23b72fa64440df238 /source/components/utilities/utxfinit.c
parent176870a6cad869aa9bbb6b7906be146cc651c359 (diff)
downloadsrc-67ac2c42d552618270f8ba5431d63944a35a0ee7.tar.gz
src-67ac2c42d552618270f8ba5431d63944a35a0ee7.zip
Import ACPICA 20160212.vendor/acpica/20160212
Notes
Notes: svn path=/vendor-sys/acpica/dist/; revision=295571 svn path=/vendor-sys/acpica/20160212/; revision=295572; tag=vendor/acpica/20160212
Diffstat (limited to 'source/components/utilities/utxfinit.c')
-rw-r--r--source/components/utilities/utxfinit.c72
1 files changed, 16 insertions, 56 deletions
diff --git a/source/components/utilities/utxfinit.c b/source/components/utilities/utxfinit.c
index 898a75cf314e..a8ea3fdf49f4 100644
--- a/source/components/utilities/utxfinit.c
+++ b/source/components/utilities/utxfinit.c
@@ -132,25 +132,6 @@ AcpiInitializeSubsystem (
return_ACPI_STATUS (Status);
}
- if (!AcpiGbl_OverrideDefaultRegionHandlers)
- {
- /*
- * Install the default operation region handlers. These are the
- * handlers that are defined by the ACPI specification to be
- * "always accessible" -- namely, SystemMemory, SystemIO, and
- * PCI_Config. This also means that no _REG methods need to be
- * run for these address spaces. We need to have these handlers
- * installed before any AML code can be executed, especially any
- * module-level code (11/2015).
- */
- Status = AcpiEvInstallRegionHandlers ();
- if (ACPI_FAILURE (Status))
- {
- ACPI_EXCEPTION ((AE_INFO, Status, "During Region initialization"));
- return_ACPI_STATUS (Status);
- }
- }
-
return_ACPI_STATUS (AE_OK);
}
@@ -187,17 +168,17 @@ AcpiEnableSubsystem (
*/
AcpiGbl_EarlyInitialization = FALSE;
- if (AcpiGbl_OverrideDefaultRegionHandlers)
+ /*
+ * Install the default operation region handlers. These are the
+ * handlers that are defined by the ACPI specification to be
+ * "always accessible" -- namely, SystemMemory, SystemIO, and
+ * PCI_Config. This also means that no _REG methods need to be
+ * run for these address spaces. We need to have these handlers
+ * installed before any AML code can be executed, especially any
+ * module-level code (11/2015).
+ */
+ if (!AcpiGbl_GroupModuleLevelCode)
{
- /*
- * Install the default operation region handlers. These are the
- * handlers that are defined by the ACPI specification to be
- * "always accessible" -- namely, SystemMemory, SystemIO, and
- * PCI_Config. This also means that no _REG methods need to be
- * run for these address spaces. We need to have these handlers
- * installed before any AML code can be executed, especially any
- * module-level code (11/2015).
- */
Status = AcpiEvInstallRegionHandlers ();
if (ACPI_FAILURE (Status))
{
@@ -206,7 +187,6 @@ AcpiEnableSubsystem (
}
}
-
#if (!ACPI_REDUCED_HARDWARE)
/* Enable ACPI mode */
@@ -312,25 +292,6 @@ AcpiInitializeObjects (
ACPI_FUNCTION_TRACE (AcpiInitializeObjects);
- /*
- * Run all _REG methods
- *
- * Note: Any objects accessed by the _REG methods will be automatically
- * initialized, even if they contain executable AML (see the call to
- * AcpiNsInitializeObjects below).
- */
- if (!(Flags & ACPI_NO_ADDRESS_SPACE_INIT))
- {
- ACPI_DEBUG_PRINT ((ACPI_DB_EXEC,
- "[Init] Executing _REG OpRegion methods\n"));
-
- Status = AcpiEvInitializeOpRegions ();
- if (ACPI_FAILURE (Status))
- {
- return_ACPI_STATUS (Status);
- }
- }
-
#ifdef ACPI_EXEC_APP
/*
* This call implements the "initialization file" option for AcpiExec.
@@ -373,16 +334,15 @@ AcpiInitializeObjects (
}
}
+ AcpiGbl_NamespaceInitialized = TRUE;
+
/*
- * Initialize all device objects in the namespace. This runs the device
- * _STA and _INI methods.
+ * Initialize all device/region objects in the namespace. This runs
+ * the device _STA and _INI methods and region _REG methods.
*/
- if (!(Flags & ACPI_NO_DEVICE_INIT))
+ if (!(Flags & (ACPI_NO_DEVICE_INIT | ACPI_NO_ADDRESS_SPACE_INIT)))
{
- ACPI_DEBUG_PRINT ((ACPI_DB_EXEC,
- "[Init] Initializing ACPI Devices\n"));
-
- Status = AcpiNsInitializeDevices ();
+ Status = AcpiNsInitializeDevices (Flags);
if (ACPI_FAILURE (Status))
{
return_ACPI_STATUS (Status);