linux/arch/powerpc/platforms/cell
Michael Ellerman ff8a8f2597 [POWERPC] add support for stopping spus from xmon
This patch adds support for stopping, and restarting, spus
from xmon. We use the spu master runcntl bit to stop execution,
this is apparently the "right" way to control spu execution and
spufs will be changed in the future to use this bit.

Testing has shown that to restart execution we have to turn the
master runcntl bit on and also rewrite the spu runcntl bit, even
if it is already set to 1 (running).

Stopping spus is triggered by the xmon command 'ss' - "spus stop"
perhaps. Restarting them is triggered via 'sr'. Restart doesn't
start execution on spus unless they were running prior to being
stopped by xmon.

Walking the spu->full_list in xmon after a panic, would mean
corruption of any spu struct would make all the others
inaccessible. To avoid this, and also to make the next patch
easier, we cache pointers to all spus during boot.

We attempt to catch and recover from errors while stopping and
restarting the spus, but as with most xmon functionality there are
no guarantees that performing these operations won't crash xmon
itself.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2006-10-25 14:20:22 +10:00
..
spufs [POWERPC] spufs: Add isolated-mode SPE recycling support 2006-10-25 14:20:21 +10:00
Kconfig [POWERPC] cell: add temperature to SPU and CPU sysfs entries 2006-10-25 14:20:22 +10:00
Makefile [POWERPC] cell: add temperature to SPU and CPU sysfs entries 2006-10-25 14:20:22 +10:00
cbe_regs.c [POWERPC] cell: add shadow registers for pmd_reg 2006-10-25 14:20:21 +10:00
cbe_regs.h [POWERPC] cell: add low-level performance monitoring code 2006-10-25 14:20:21 +10:00
cbe_thermal.c [POWERPC] cell: add temperature to SPU and CPU sysfs entries 2006-10-25 14:20:22 +10:00
interrupt.c [POWERPC] Fix up after irq changes 2006-10-07 22:08:26 +10:00
interrupt.h [POWERPC] Cell interrupt rework 2006-10-04 14:52:08 +10:00
iommu.c [POWERPC] cell: fix bugs found by sparse 2006-10-05 09:21:02 +10:00
iommu.h [PATCH] powerpc: move arch/ppc64/kernel/bpa* to arch/powerpc/platforms/cell 2005-11-01 21:03:07 +11:00
pervasive.c [POWERPC] cell: use ppc_md->power_save instead of cbe_idle_loop 2006-10-25 14:20:22 +10:00
pervasive.h [POWERPC] cell: add RAS support 2006-06-21 15:01:29 +10:00
pmu.c [POWERPC] cell: add low-level performance monitoring code 2006-10-25 14:20:21 +10:00
pmu.h [POWERPC] cell: add low-level performance monitoring code 2006-10-25 14:20:21 +10:00
ras.c Remove all inclusions of <linux/config.h> 2006-10-04 03:38:54 -04:00
ras.h [POWERPC] cell: add RAS support 2006-06-21 15:01:29 +10:00
setup.c [POWERPC] powerpc: Make RTAS console init generic 2006-08-25 13:27:35 +10:00
smp.c [POWERPC] Cleanup CPU inits 2006-08-25 13:27:35 +10:00
spider-pic.c IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
spu_base.c [POWERPC] add support for stopping spus from xmon 2006-10-25 14:20:22 +10:00
spu_callbacks.c [POWERPC] Unify ppc syscall tables 2006-06-21 15:01:32 +10:00
spu_priv1_mmio.c [POWERPC] spufs: wrap mfc sdr access 2006-10-25 14:20:20 +10:00
spu_syscalls.c [PATCH] spufs: fix module refcount race 2006-01-09 14:53:11 +11:00