Module Name: src Committed By: jruoho Date: Sun Aug 8 16:58:42 UTC 2010
Modified Files: src/sys/arch/x86/acpi: acpi_cpu_md.c src/sys/arch/x86/include: cpuvar.h src/sys/arch/x86/x86: est.c src/sys/dev/acpi: TODO acpi_cpu.c acpi_cpu.h acpi_cpu_cstate.c src/sys/modules/acpicpu: Makefile Added Files: src/sys/dev/acpi: acpi_cpu_pstate.c Log Message: Merge P-state support for acpicpu(4). Remarks: 1. All processors (x86 or not) for which the vendor has implemented ACPI I/O access routines are supported. Native instructions are currently supported only for Intel's "Enhanced Speedstep". Code for "PowerNow!" (AMD) will be merged later. Native support for VIA's "PowerSaver" will be investigated. 2. Backwards compatibility with existing userland code is maintained. Comparable to the case with cpu_idle(9), the ACPI CPU driver installs alternative functions for the existing sysctl(8) controls. The "native" behavior (if any) is restored upon detachment. 3. The dynamic nature of ACPI-provided P-states needs more investigation. The maximum frequency induced (but not forced) by the firmware may change dynamically. Currently, the sysctl(8) controls error out with a value larger than the dynamic maximum. The code itself does not however yet react to the notifications from the firmware by changing the frequencies in-place. Presumably the system administrator should be able to choose whether to use dynamic or static frequencies. To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.5 src/sys/arch/x86/acpi/acpi_cpu_md.c cvs rdiff -u -r1.34 -r1.35 src/sys/arch/x86/include/cpuvar.h cvs rdiff -u -r1.15 -r1.16 src/sys/arch/x86/x86/est.c cvs rdiff -u -r1.11 -r1.12 src/sys/dev/acpi/TODO src/sys/dev/acpi/acpi_cpu.c cvs rdiff -u -r1.8 -r1.9 src/sys/dev/acpi/acpi_cpu.h cvs rdiff -u -r1.14 -r1.15 src/sys/dev/acpi/acpi_cpu_cstate.c cvs rdiff -u -r0 -r1.1 src/sys/dev/acpi/acpi_cpu_pstate.c cvs rdiff -u -r1.1 -r1.2 src/sys/modules/acpicpu/Makefile Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.