Hello Thomas, unfortunately a little change to ip28_be_interrupt is needed (sorry, that it was not yet applied): --- diff -u -p a/arch/mips/sgi-ip22/ip28-berr.c b/arch/mips/sgi-ip22/ip28-berr.c --- a/arch/mips/sgi-ip22/ip28-berr.c +++ b/arch/mips/sgi-ip22/ip28-berr.c @@ -597,7 +597,7 @@ static int ip28_be_interrupt(const struc goto mips_be_fatal; /* Any state other than "GIO transaction bus timed out" is fatal. */ - if (gio_err_stat & GIO_ERRMASK & ~SGIMC_GSTAT_TIME) + if (gio_err_stat & GIO_ERRMASK /* & ~SGIMC_GSTAT_TIME */) goto mips_be_fatal; /* Finding `cpu_err_addr' in the insn at EPC is fatal. */ --- Since identification of HPC3-dma-addresses in ip28_be_interrupt does not work as intended, currently any GIO-bus-error must be taken as fatal, or a "real" bus-error might slip through undetected as "speculative": When the bus-error occurs CBP is already advanced, so it won't match the offending address. Examining the current dma-descriptor for a pbuf-address- range, that might contain this address, isn't possible either, since NDP is already advanced to the next descriptor. GIO error 0x401:<TIME > @ 0x7e390000 HPC3 (scsi1) @ 1fb92000: ctl 00000014, ndp 2043c010, cbp 7e390180 Dumping sgiwd93_host1 dma-descriptors: 900000002043c000: pnext pbuf cntinfo [ 0] 2043c010 7e390000 00002000 8192 cbp == [0].pbuf+0x180 ndp -> [ 1] 2043c020 7e392000 00002000 8192 [ 2] 2043c030 7e394000 00002000 8192 ... [255] 2043c000 00000000 80000000 0 So, for reliable detection of HPC3-dma-addresses the bus-error-handler would need access to the descriptor-chain of each HPC3-driver, which would require any such driver to register its descriptor chain with the bus-error-handler... Experience suggests, that the possibility of false positives, caused by the workaround, should be comparatively neglibible. kind regards peter On Mon, 26 Nov 2007, Thomas Bogendoerfer wrote: > Date: Mon, 26 Nov 2007 23:40:04 +0100 (CET) > From: Thomas Bogendoerfer <tsbogend@xxxxxxxxxxxxxxxx> > To: linux-mips@xxxxxxxxxxxxxx > Cc: ralf@xxxxxxxxxxxxxx > Subject: [PATCH] IP28 support > > Add support for SGI IP28 machines (Indigo 2 with R10k CPUs) > This work is mainly based on Peter Fuersts work. > > Signed-off-by: Thomas Bogendoerfer <tsbogend@xxxxxxxxxxxxxxxx> > --- > > ... > diff --git a/arch/mips/sgi-ip22/ip28-berr.c b/arch/mips/sgi-ip22/ip28-berr.c > new file mode 100644 > index 0000000..e61e8f3 > --- /dev/null > +++ b/arch/mips/sgi-ip22/ip28-berr.c > ...