• Michael Ellerman's avatar
    [POWERPC] add support for stopping spus from xmon · ff8a8f25
    Michael Ellerman authored
    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: default avatarMichael Ellerman <michael@ellerman.id.au>
    Signed-off-by: default avatarArnd Bergmann <arnd.bergmann@de.ibm.com>
    Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
    ff8a8f25
xmon.c 57.2 KB