[POWERPC] spufs: Fix SPE single-step mode

Currently we only catch debug events through the 0x3fff status;
spufs_run_spu doesn't handle single-step SPE events.

This change adds a handler for conditions where the SPE is stopped due
to single-step-mode.

Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
This commit is contained in:
Jeremy Kerr 2008-01-11 15:03:26 +11:00 коммит произвёл Paul Mackerras
Родитель 038200cfdc
Коммит 60cf54db47
1 изменённых файлов: 5 добавлений и 2 удалений

Просмотреть файл

@ -410,8 +410,11 @@ long spufs_run_spu(struct spu_context *ctx, u32 *npc, u32 *event)
* since we have TIF_SINGLESTEP set, thus the kernel will do * since we have TIF_SINGLESTEP set, thus the kernel will do
* it upon return from the syscall anyawy * it upon return from the syscall anyawy
*/ */
if ((status & SPU_STATUS_STOPPED_BY_STOP) if (unlikely(status & SPU_STATUS_SINGLE_STEP))
&& (status >> SPU_STOP_STATUS_SHIFT) == 0x3fff) { ret = -ERESTARTSYS;
else if (unlikely((status & SPU_STATUS_STOPPED_BY_STOP)
&& (status >> SPU_STOP_STATUS_SHIFT) == 0x3fff)) {
force_sig(SIGTRAP, current); force_sig(SIGTRAP, current);
ret = -ERESTARTSYS; ret = -ERESTARTSYS;
} }