On Sat, Jan 07, 2017 at 03:32:22PM -0800, Mike Larkin wrote:
> Also, this is the third time (that I recall) that HP has thrown us a curveball
> in their ACPI implementation (although at least this time they seem to be
> spec-compliant and it's us missing stuff). Toshiba is another vendor that
> tends to do bizarre things.
>
> -ml
>
I own many buggy HP machines; This is a starting point / placeholder.
Index: dev/acpi/acpi.c
===================================================================
RCS file: /cvs/src/sys/dev/acpi/acpi.c,v
retrieving revision 1.317
diff -u -p -r1.317 acpi.c
--- dev/acpi/acpi.c 25 Oct 2016 06:48:58 -0000 1.317
+++ dev/acpi/acpi.c 8 Jan 2017 18:10:22 -0000
@@ -419,6 +419,10 @@ acpi_gasio(struct acpi_softc *sc, int io
else
acpiec_write(sc->sc_ec, (u_int8_t)address, len, buffer);
break;
+
+ case GAS_CMOS:
+ printf("Unsupported RegionSpace CMOS\n");
+ break;
}
return (0);
}
Index: dev/acpi/acpireg.h
===================================================================
RCS file: /cvs/src/sys/dev/acpi/acpireg.h,v
retrieving revision 1.36
diff -u -p -r1.36 acpireg.h
--- dev/acpi/acpireg.h 10 Jul 2016 20:36:41 -0000 1.36
+++ dev/acpi/acpireg.h 8 Jan 2017 18:10:23 -0000
@@ -86,6 +86,7 @@ struct acpi_gas {
#define GAS_PCI_CFG_SPACE 2
#define GAS_EMBEDDED 3
#define GAS_SMBUS 4
+#define GAS_CMOS 5
#define GAS_FUNCTIONAL_FIXED 127
u_int8_t register_bit_width;
u_int8_t register_bit_offset;
Index: dev/acpi/dsdt.c
===================================================================
RCS file: /cvs/src/sys/dev/acpi/dsdt.c,v
retrieving revision 1.228
diff -u -p -r1.228 dsdt.c
--- dev/acpi/dsdt.c 18 Dec 2016 15:59:22 -0000 1.228
+++ dev/acpi/dsdt.c 8 Jan 2017 18:10:25 -0000
@@ -2470,6 +2470,7 @@ aml_rwfield(struct aml_value *fld, int b
case ACPI_OPREG_SYSIO:
case ACPI_OPREG_PCICFG:
case ACPI_OPREG_EC:
+ case ACPI_OPREG_CMOS:
aml_rwgas(ref1, fld->v_field.bitpos + bpos, blen,
val, mode, fld->v_field.flags);
break;