On Fri, May 20, 2016 at 02:27:49AM +0100, Stuart Henderson wrote:
> On 2016/05/19 18:15, rick...@nym.hush.com wrote:
> > Info in file, comment at top.  Includes trace, ps, dmesg.
> > 
> > Very reproducable.  I'm willing to provide more info if requested.
> > 
> > Kind regards,
> > Rick
> 
> Several people have seen this "panic: psycho0: uncorrectable DMA error"
> crash but I don't think anyone has known where to dig further.

Rick, please try -current. Your dmesg shows dc(4) network devices.
So I believe this commit applies:


CVSROOT:        /cvs
Module name:    src
Changes by:     kette...@cvs.openbsd.org        2016/05/04 12:26:12

Modified files:
        sys/arch/sparc64/dev: iommu.c iommuvar.h viommu.c 
        sys/arch/sparc64/include: bus.h 

Log message:
Some hardware (such as the onboard dc(4) of the Netra X1) has a broken DMA
engine that might attempt to read beyond the end of the buffer that was
programmed.  The IOMMU catches this "DMA overrun" and throws an unrecoverable
error at us, at which point we have no choice but to panic.  To avoid this
implement a BUS_DMA_OVERRUN flag that maps an additional scratch page at the
end of the vdma address range.  DMA requests will spill over into this page,
which just returns zeroes.

Thanks to matthieu@ for giving me access to a machine with the problem.

ok deraadt@, beck@

Reply via email to