Hi, Instead of passing sizeof(struct aml_value)*4 as the len argument to memset when writing zeros to osc_cmd, pass sizeof(osc_cmd) since osc_cmd already is declared as 'struct aml_value osc_cmd[4]'.
Tested on amd64. Index: acpicpu.c =================================================================== RCS file: /cvs/src/sys/dev/acpi/acpicpu.c,v retrieving revision 1.78 diff -u -p -r1.78 acpicpu.c --- acpicpu.c 18 Sep 2016 23:56:45 -0000 1.78 +++ acpicpu.c 2 Apr 2017 08:24:52 -0000 @@ -240,7 +240,7 @@ acpicpu_set_pdc(struct acpicpu_softc *sc if (aml_searchname(sc->sc_devnode, "_OSC")) { /* Query _OSC */ - memset(&osc_cmd, 0, sizeof(cmd) * 4); + memset(&osc_cmd, 0, sizeof(osc_cmd)); osc_cmd[0].type = AML_OBJTYPE_BUFFER; osc_cmd[0].v_buffer = (uint8_t *)&cpu_oscuuid; osc_cmd[0].length = sizeof(cpu_oscuuid); @@ -269,7 +269,7 @@ acpicpu_set_pdc(struct acpicpu_softc *sc } /* Evaluate _OSC */ - memset(&osc_cmd, 0, sizeof(cmd) * 4); + memset(&osc_cmd, 0, sizeof(osc_cmd)); osc_cmd[0].type = AML_OBJTYPE_BUFFER; osc_cmd[0].v_buffer = (uint8_t *)&cpu_oscuuid; osc_cmd[0].length = sizeof(cpu_oscuuid);