Install default address space handlers too during startup.
Without them, embedded controler may have issue accessing some addresses before installing his own handlers. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33273 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
parent
0d62f09d74
commit
a9e916dc25
|
@ -127,25 +127,50 @@ acpi_std_ops(int32 op,...)
|
|||
#endif
|
||||
|
||||
status = AcpiInitializeSubsystem();
|
||||
if (status != AE_OK) {
|
||||
if (ACPI_FAILURE(status)) {
|
||||
ERROR("AcpiInitializeSubsystem failed (%s)\n",
|
||||
AcpiFormatException(status));
|
||||
goto err;
|
||||
}
|
||||
|
||||
status = AcpiInitializeTables(NULL, 0, TRUE);
|
||||
if (status != AE_OK) {
|
||||
if (ACPI_FAILURE(status)) {
|
||||
ERROR("AcpiInitializeTables failed (%s)\n",
|
||||
AcpiFormatException(status));
|
||||
goto err;
|
||||
}
|
||||
|
||||
status = AcpiLoadTables();
|
||||
if (status != AE_OK) {
|
||||
if (ACPI_FAILURE(status)) {
|
||||
ERROR("AcpiLoadTables failed (%s)\n",
|
||||
AcpiFormatException(status));
|
||||
goto err;
|
||||
}
|
||||
|
||||
/* Install the default address space handlers. */
|
||||
status = AcpiInstallAddressSpaceHandler(ACPI_ROOT_OBJECT,
|
||||
ACPI_ADR_SPACE_SYSTEM_MEMORY, ACPI_DEFAULT_HANDLER, NULL, NULL);
|
||||
if (ACPI_FAILURE(status)) {
|
||||
ERROR("Could not initialise SystemMemory handler: %s\n",
|
||||
AcpiFormatException(status));
|
||||
goto err;
|
||||
}
|
||||
|
||||
status = AcpiInstallAddressSpaceHandler(ACPI_ROOT_OBJECT,
|
||||
ACPI_ADR_SPACE_SYSTEM_IO, ACPI_DEFAULT_HANDLER, NULL, NULL);
|
||||
if (ACPI_FAILURE(status)) {
|
||||
ERROR("Could not initialise SystemIO handler: %s\n",
|
||||
AcpiFormatException(status));
|
||||
goto err;
|
||||
}
|
||||
|
||||
status = AcpiInstallAddressSpaceHandler(ACPI_ROOT_OBJECT,
|
||||
ACPI_ADR_SPACE_PCI_CONFIG, ACPI_DEFAULT_HANDLER, NULL, NULL);
|
||||
if (ACPI_FAILURE(status)) {
|
||||
ERROR("Could not initialise PciConfig handler: %s\n",
|
||||
AcpiFormatException(status));
|
||||
goto err;
|
||||
}
|
||||
|
||||
flags = acpiAvoidFullInit ?
|
||||
ACPI_NO_DEVICE_INIT | ACPI_NO_OBJECT_INIT :
|
||||
|
@ -155,14 +180,14 @@ acpi_std_ops(int32 op,...)
|
|||
// well but specs don't define ACPI_NO_DEVICE_INIT
|
||||
// and ACPI_NO_OBJECT_INIT here.
|
||||
status = AcpiEnableSubsystem(ACPI_FULL_INITIALIZATION);
|
||||
if (status != AE_OK) {
|
||||
if (ACPI_FAILURE(status)) {
|
||||
ERROR("AcpiEnableSubsystem failed (%s)\n",
|
||||
AcpiFormatException(status));
|
||||
goto err;
|
||||
}
|
||||
|
||||
status = AcpiInitializeObjects(flags);
|
||||
if (status != AE_OK) {
|
||||
if (ACPI_FAILURE(status)) {
|
||||
ERROR("AcpiInitializeObjects failed (%s)\n",
|
||||
AcpiFormatException(status));
|
||||
goto err;
|
||||
|
|
Loading…
Reference in New Issue