summaryrefslogtreecommitdiffstats
path: root/sys/powerpc
diff options
context:
space:
mode:
authormav <mav@FreeBSD.org>2011-10-03 21:19:15 +0000
committermav <mav@FreeBSD.org>2011-10-03 21:19:15 +0000
commit073a0c270491411548461e8859b26b7010c397c6 (patch)
treee8dde54ee9429e9f52ff1864137ae35351d4073a /sys/powerpc
parentc9416bed0bf0e18891552f7e303b95af2d963d41 (diff)
downloadFreeBSD-src-073a0c270491411548461e8859b26b7010c397c6.zip
FreeBSD-src-073a0c270491411548461e8859b26b7010c397c6.tar.gz
Revert r225875, r225877:
It is reported that on some chips (e.g. the 970MP) behavior of POW bit set simultaneously with modifying other bits is undefined and may cause hangs. The race should be handled in some other way, but for now just get back. Reported by: nwitehorn
Diffstat (limited to 'sys/powerpc')
-rw-r--r--sys/powerpc/powerpc/cpu.c11
1 files changed, 0 insertions, 11 deletions
diff --git a/sys/powerpc/powerpc/cpu.c b/sys/powerpc/powerpc/cpu.c
index b9625e1..9701156 100644
--- a/sys/powerpc/powerpc/cpu.c
+++ b/sys/powerpc/powerpc/cpu.c
@@ -65,7 +65,6 @@
#include <sys/cpu.h>
#include <sys/kernel.h>
#include <sys/proc.h>
-#include <sys/sched.h>
#include <sys/sysctl.h>
#include <machine/bus.h>
@@ -554,11 +553,6 @@ cpu_idle_60x(void)
vers = mfpvr() >> 16;
#ifdef AIM
- mtmsr(msr & ~PSL_EE);
- if (sched_runnable()) {
- mtmsr(msr);
- return;
- }
switch (vers) {
case IBM970:
case IBM970FX:
@@ -589,11 +583,6 @@ cpu_idle_e500(void)
msr = mfmsr();
#ifdef E500
- mtmsr(msr & ~PSL_EE);
- if (sched_runnable()) {
- mtmsr(msr);
- return;
- }
/* Freescale E500 core RM section 6.4.1. */
__asm __volatile("msync; mtmsr %0; isync" ::
"r" (msr | PSL_WE));
OpenPOWER on IntegriCloud