On Hyper-V a 16 byte array isn't large enough for the strings.

    Scope (\_SB)
    {
        Device (GENC)
        {
            Name (_CID, "VM_Gen_Counter")  // _CID: Compatible ID
            Name (_HID, "Hyper_V_Gen_Counter_V1")  // _HID: Hardware ID
            Name (_UID, 0x00)  // _UID: Unique ID
            Name (_DDN, "VM_Gen_Counter")  // _DDN: DOS Device Name

-"Hyper_V_Gen_Cou" at acpi0 not configured
+"Hyper_V_Gen_Counter_V1" at acpi0 not configured

Index: acpi.c
===================================================================
RCS file: /cvs/src/sys/dev/acpi/acpi.c,v
retrieving revision 1.318
diff -u -p -r1.318 acpi.c
--- acpi.c      8 Jan 2017 12:39:16 -0000       1.318
+++ acpi.c      11 Jan 2017 06:55:55 -0000
@@ -2813,15 +2813,15 @@ acpi_foundhid(struct aml_node *node, voi
 {
        struct acpi_softc       *sc = (struct acpi_softc *)arg;
        struct device           *self = (struct device *)arg;
-       char                     cdev[16];
-       char                     dev[16];
+       char                     cdev[32];
+       char                     dev[32];
        struct acpi_attach_args  aaa;
        int64_t                  sta;
 #ifndef SMALL_KERNEL
        int                      i;
 #endif
 
-       if (acpi_parsehid(node, arg, cdev, dev, 16) != 0)
+       if (acpi_parsehid(node, arg, cdev, dev, sizeof(dev)) != 0)
                return (0);
 
        if (aml_evalinteger(sc, node->parent, "_STA", 0, NULL, &sta))

Reply via email to