diff options
Diffstat (limited to 'sys/contrib/dev/acpica/components/tables/tbxfload.c')
-rw-r--r-- | sys/contrib/dev/acpica/components/tables/tbxfload.c | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/sys/contrib/dev/acpica/components/tables/tbxfload.c b/sys/contrib/dev/acpica/components/tables/tbxfload.c index 5a4906f..171f74c 100644 --- a/sys/contrib/dev/acpica/components/tables/tbxfload.c +++ b/sys/contrib/dev/acpica/components/tables/tbxfload.c @@ -180,7 +180,7 @@ AcpiTbLoadNamespace ( /* Load any SSDT or PSDT tables. Note: Loop leaves tables locked */ (void) AcpiUtAcquireMutex (ACPI_MTX_TABLES); - for (i = 2; i < AcpiGbl_RootTableList.CurrentTableCount; ++i) + for (i = 0; i < AcpiGbl_RootTableList.CurrentTableCount; ++i) { if ((!ACPI_COMPARE_NAME (&(AcpiGbl_RootTableList.Tables[i].Signature), ACPI_SIG_SSDT) && @@ -192,12 +192,15 @@ AcpiTbLoadNamespace ( continue; } - /* Skip SSDT when it is overriden with DSDT */ - if (ACPI_COMPARE_NAME (&(AcpiGbl_RootTableList.Tables[i].Signature), - ACPI_SIG_SSDT) && - (AcpiGbl_RootTableList.Tables[i].Flags & - ACPI_TABLE_ORIGIN_OVERRIDE)) + /* + * Optionally do not load any SSDTs from the RSDT/XSDT. This can + * be useful for debugging ACPI problems on some machines. + */ + if (AcpiGbl_DisableSsdtTableLoad) { + ACPI_INFO ((AE_INFO, "Ignoring %4.4s at %p", + AcpiGbl_RootTableList.Tables[i].Signature.Ascii, + ACPI_CAST_PTR (void, AcpiGbl_RootTableList.Tables[i].Address))); continue; } |