]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Restructure how reset and poweroff are handled on PowerPC systems, since
authorNathan Whitehorn <nwhitehorn@FreeBSD.org>
Tue, 31 Aug 2010 15:27:46 +0000 (15:27 +0000)
committerNathan Whitehorn <nwhitehorn@FreeBSD.org>
Tue, 31 Aug 2010 15:27:46 +0000 (15:27 +0000)
commitb2a237be5c4031f91743bde57571075ff388e497
tree6d62f76674112f0f46965b70b4629824076f5094
parent68181d0091629a04de47868fed0c079acb4cf165
Restructure how reset and poweroff are handled on PowerPC systems, since
the existing code was very platform specific, and broken for SMP systems
trying to reboot from KDB.

- Add a new PLATFORM_RESET() method to the platform KOBJ interface, and
  migrate existing reset functions into platform modules.
- Modify the OF_reboot() routine to submit the request by hand to avoid
  the IPIs involved in the regular openfirmware() routine. This fixes
  reboot from KDB on SMP machines.
- Move non-KDB reset and poweroff functions on the Powermac platform
  into the relevant power control drivers (cuda, pmu, smu), instead of
  using them through the Open Firmware backdoor.
- Rename platform_chrp to platform_powermac since it has become
  increasingly Powermac specific. When we gain support for IBM systems,
  we will grow a new platform_chrp.
13 files changed:
sys/conf/files.powerpc
sys/powerpc/aim/machdep.c
sys/powerpc/aim/ofw_machdep.c
sys/powerpc/aim/vm_machdep.c
sys/powerpc/booke/platform_bare.c
sys/powerpc/include/ofw_machdep.h
sys/powerpc/mpc85xx/mpc85xx.c
sys/powerpc/powermac/cuda.c
sys/powerpc/powermac/platform_powermac.c [moved from sys/powerpc/aim/platform_chrp.c with 72% similarity]
sys/powerpc/powermac/pmu.c
sys/powerpc/powermac/smu.c
sys/powerpc/powerpc/platform.c
sys/powerpc/powerpc/platform_if.m