diff options
author | Luke Browning <lukebr@linux.vnet.ibm.com> | 2008-04-27 18:41:55 +0000 |
---|---|---|
committer | Jeremy Kerr <jk@ozlabs.org> | 2008-05-05 13:33:44 +1000 |
commit | f3d69e0507f84903059d456c5d19f10b2df3ac69 (patch) | |
tree | f8aa4062bc1a0939d7bdb3a634c01869f2bb32a2 /arch/powerpc/xmon | |
parent | 7a2142002f29a7b398c49da9bdec712dc57087c7 (diff) | |
download | op-kernel-dev-f3d69e0507f84903059d456c5d19f10b2df3ac69.zip op-kernel-dev-f3d69e0507f84903059d456c5d19f10b2df3ac69.tar.gz |
[POWERPC] spufs: fix concurrent delivery of class 0 & 1 exceptions
SPU class 0 & 1 exceptions may occur in parallel, so we may end up
overwriting csa.dsisr.
This change adds dedicated fields for each class to the spu and the spu
context so that fault data is not overwritten.
Signed-off-by: Luke Browning <lukebr@linux.vnet.ibm.com>
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
Diffstat (limited to 'arch/powerpc/xmon')
-rw-r--r-- | arch/powerpc/xmon/xmon.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/arch/powerpc/xmon/xmon.c b/arch/powerpc/xmon/xmon.c index 52c7478..1702de9 100644 --- a/arch/powerpc/xmon/xmon.c +++ b/arch/powerpc/xmon/xmon.c @@ -2842,9 +2842,11 @@ static void dump_spu_fields(struct spu *spu) DUMP_FIELD(spu, "0x%lx", ls_size); DUMP_FIELD(spu, "0x%x", node); DUMP_FIELD(spu, "0x%lx", flags); - DUMP_FIELD(spu, "0x%lx", dar); - DUMP_FIELD(spu, "0x%lx", dsisr); DUMP_FIELD(spu, "%d", class_0_pending); + DUMP_FIELD(spu, "0x%lx", class_0_dar); + DUMP_FIELD(spu, "0x%lx", class_0_dsisr); + DUMP_FIELD(spu, "0x%lx", class_1_dar); + DUMP_FIELD(spu, "0x%lx", class_1_dsisr); DUMP_FIELD(spu, "0x%lx", irqs[0]); DUMP_FIELD(spu, "0x%lx", irqs[1]); DUMP_FIELD(spu, "0x%lx", irqs[2]); |