ACPI: Use AcpiGbl_OverrideDefaultRegionHandlers and do the init ourselves.

May help with the recent boot failures, according to a post on the ACPICA-dev
mailing list.
This commit is contained in:
Augustin Cavalier
2015-12-31 16:36:38 -05:00
parent 2c49943980
commit aa89e2de03
@@ -185,6 +185,7 @@ acpi_std_ops(int32 op,...)
void *settings;
bool acpiDisabled = false;
AcpiGbl_CopyDsdtLocally = true;
AcpiGbl_OverrideDefaultRegionHandlers = true;
settings = load_driver_settings("kernel");
if (settings != NULL) {
@@ -223,6 +224,25 @@ acpi_std_ops(int32 op,...)
"AcpiInitializeSubsystem failed"))
goto err;
/* Install the default address space handlers. */
if (checkAndLogFailure(AcpiInstallAddressSpaceHandler(
ACPI_ROOT_OBJECT, ACPI_ADR_SPACE_SYSTEM_MEMORY,
ACPI_DEFAULT_HANDLER, NULL, NULL),
"Could not initialise SystemMemory handler:"))
goto err;
if (checkAndLogFailure(AcpiInstallAddressSpaceHandler(
ACPI_ROOT_OBJECT, ACPI_ADR_SPACE_SYSTEM_IO,
ACPI_DEFAULT_HANDLER, NULL, NULL),
"Could not initialise SystemIO handler:"))
goto err;
if (checkAndLogFailure(AcpiInstallAddressSpaceHandler(
ACPI_ROOT_OBJECT, ACPI_ADR_SPACE_PCI_CONFIG,
ACPI_DEFAULT_HANDLER, NULL, NULL),
"Could not initialise PciConfig handler:"))
goto err;
if (checkAndLogFailure(AcpiInitializeTables(NULL, 0, TRUE),
"AcpiInitializeTables failed"))
goto err;