summaryrefslogtreecommitdiffstats
path: root/sys/powerpc/aim/machdep.c
diff options
context:
space:
mode:
authornwhitehorn <nwhitehorn@FreeBSD.org>2010-08-31 15:27:46 +0000
committernwhitehorn <nwhitehorn@FreeBSD.org>2010-08-31 15:27:46 +0000
commit655a96888d55c63b6496de2c02332278739d62f6 (patch)
tree6d62f76674112f0f46965b70b4629824076f5094 /sys/powerpc/aim/machdep.c
parent97e3e3670826f9a28781351eebc6280670c370a5 (diff)
downloadFreeBSD-src-655a96888d55c63b6496de2c02332278739d62f6.zip
FreeBSD-src-655a96888d55c63b6496de2c02332278739d62f6.tar.gz
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.
Diffstat (limited to 'sys/powerpc/aim/machdep.c')
-rw-r--r--sys/powerpc/aim/machdep.c12
1 files changed, 0 insertions, 12 deletions
diff --git a/sys/powerpc/aim/machdep.c b/sys/powerpc/aim/machdep.c
index a2f13ef..fe3939d 100644
--- a/sys/powerpc/aim/machdep.c
+++ b/sys/powerpc/aim/machdep.c
@@ -168,15 +168,6 @@ struct bat battable[16];
struct kva_md_info kmi;
static void
-powerpc_ofw_shutdown(void *junk, int howto)
-{
- if (howto & RB_HALT) {
- OF_halt();
- }
- OF_reboot();
-}
-
-static void
cpu_startup(void *dummy)
{
@@ -233,9 +224,6 @@ cpu_startup(void *dummy)
*/
bufinit();
vm_pager_bufferinit();
-
- EVENTHANDLER_REGISTER(shutdown_final, powerpc_ofw_shutdown, 0,
- SHUTDOWN_PRI_LAST);
}
extern char kernel_text[], _end[];
OpenPOWER on IntegriCloud