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;

Reply via email to