On Fri, May 20, 2016 at 02:27:49AM +0100, Stuart Henderson wrote: > On 2016/05/19 18:15, [email protected] 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: [email protected] 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@
