cvs commit: src/sys/dev/acpica acpi.c acpi_cpu.c
Nate Lawson
njl at FreeBSD.org
Wed Nov 19 12:27:08 PST 2003
njl 2003/11/19 12:27:06 PST
FreeBSD src repository
Modified files:
sys/dev/acpica acpi.c acpi_cpu.c
Log:
* Add a DEVMETHOD for acpi so that child detach methods get called. Add
an acpi_cpu method for shutdown that disables entry to acpi_cpu_idle
and then IPIs/waits for threads to exit. This fixes a panic late in
reboot in the SMP case.
* In the !SMP case, don't use the processor id filled out by the MADT
since there can only be one processor. This was causing a panic in
acpi_cpu_idle if the id was 1 since the data was being dereferenced from
cpu_softc[1] even though the actual data was in cpu_softc[0] (which is
correct).
* Rework the initialization functions so that cpu_idle_hook is written
late in the boot process.
* Make the P_BLK, P_BLK_LEN, and cpu_cx_count all softc-local variables.
This will help SMP boxes that have _CST or multiple P_BLKs. No such
boxes are known at this time.
* Always allocate the C1 state, even if the P_BLK is invalid. This means
we will always take over idling if enabled. Remove the value -1 as
valid for cx_lowest since this is redundant with machdep.cpu_idle_hlt.
* Reduce locking for the throttle initialization case to around the write
to the smi_cmd port. Add disabled code to write the CST_CNT. It will
be enabled once _CST re-evaluation is tested (post 5.2R).
Thank you: dfr, imp, jhb, marcel, peter
Tested by: rwatson, Harald Schmalzbauer <h at schmalzbauer.de>
Approved by: re (rwatson)
Revision Changes Path
1.108 +1 -0 src/sys/dev/acpica/acpi.c
1.20 +203 -109 src/sys/dev/acpica/acpi_cpu.c
More information about the cvs-src
mailing list