acpi_cpu: _PDC vs _OSC
John Baldwin
jhb at freebsd.org
Thu Feb 4 21:57:57 UTC 2010
On Thursday 04 February 2010 2:42:47 pm Andriy Gapon wrote:
>
> Below is the patch that I have.
> _PDC is evaluated only if _OSC evaluation fails.
> _OSC status returned by AML is reported if not zero.
> Small changes in comments.
>
> BTW, 'if (sc->cpu_features)' check could probably be dropped, because we
> initialize cpu_features with non-zero value and then only bit-or to it.
>
> Index: sys/dev/acpica/acpi_cpu.c
> ===================================================================
> --- sys/dev/acpica/acpi_cpu.c (revision 203497)
> +++ sys/dev/acpica/acpi_cpu.c (working copy)
> @@ -345,26 +345,13 @@
> }
>
> /*
> - * CPU capabilities are specified as a buffer of 32-bit integers:
> - * revision, count, and one or more capabilities. The revision of
> - * "1" is not specified anywhere but seems to match Linux.
> + * CPU capabilities are specified in
> + * Intel Processor Vendor-Specific ACPI Interface Specification.
> */
> if (sc->cpu_features) {
> - arglist.Pointer = arg;
> - arglist.Count = 1;
> - arg[0].Type = ACPI_TYPE_BUFFER;
> - arg[0].Buffer.Length = sizeof(cap_set);
> - arg[0].Buffer.Pointer = (uint8_t *)cap_set;
> - cap_set[0] = 1; /* revision */
> - cap_set[1] = 1; /* number of capabilities integers */
> - cap_set[2] = sc->cpu_features;
> - AcpiEvaluateObject(sc->cpu_handle, "_PDC", &arglist, NULL);
> -
> /*
> - * On some systems we need to evaluate _OSC so that the ASL
> - * loads the _PSS and/or _PDC methods at runtime.
> - *
> - * TODO: evaluate failure of _OSC.
> + * On some systems evaluation of _OSC/_PDC dynamically
> + * loads the _PSS and other methods.
> */
I would only say _OSC here. I don't think we've seen any systems that load
something when _PDC is invoked, only when _OSC is invoked.
--
John Baldwin
More information about the freebsd-acpi
mailing list