> acpi0 at bios2: rev 2, ACPI control unavailable The diff below should fix that issue and get rid of the
can't map interrupt issues. Index: acpi.c =================================================================== RCS file: /cvs/src/sys/dev/acpi/acpi.c,v retrieving revision 1.297 diff -u -p -r1.297 acpi.c --- acpi.c 23 Nov 2015 00:10:53 -0000 1.297 +++ acpi.c 2 Jan 2016 17:53:09 -0000 @@ -852,6 +852,7 @@ acpi_attach(struct device *parent, struc struct device *dev; #endif /* SMALL_KERNEL */ paddr_t facspa; + uint16_t pm1; int s; sc->sc_iot = ba->ba_iot; @@ -912,8 +913,9 @@ acpi_attach(struct device *parent, struc /* * Check if we are able to enable ACPI control */ - if (sc->sc_fadt->smi_cmd && - (!sc->sc_fadt->acpi_enable && !sc->sc_fadt->acpi_disable)) { + pm1 = acpi_read_pmreg(sc, ACPIREG_PM1_CNT, 0); + if ((pm1 & ACPI_PM1_SCI_EN) == 0 && + (sc->sc_fadt->smi_cmd == 0 || sc->sc_fadt->acpi_enable == 0)) { printf(", ACPI control unavailable\n"); return; } @@ -997,7 +999,7 @@ acpi_attach(struct device *parent, struc * This may prevent thermal control on some systems where * that actually does work */ - if (sc->sc_fadt->smi_cmd) { + if ((pm1 & ACPI_PM1_SCI_EN) == 0) { if (acpi_enable(sc)) { printf(", can't enable ACPI\n"); return;