allow longer ACPI _HID/_CID strings

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

allow longer ACPI _HID/_CID strings

Jonathan Gray-11
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 | Threaded
Open this post in threaded view
|

Re: allow longer ACPI _HID/_CID strings

Mike Larkin
On Wed, Jan 11, 2017 at 06:10:41PM +1100, Jonathan Gray wrote:

> 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

ok mlarkin

>
> 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))
>