Date: Tue, 28 Oct 2008 22:05:20 +0000 (UTC) From: Marius Strobl <marius@FreeBSD.org> To: cvs-src-old@freebsd.org Subject: cvs commit: src/sys/sparc64/pci schizo.c Message-ID: <200810282205.m9SM5T6o090616@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
marius 2008-10-28 22:05:20 UTC FreeBSD src repository Modified files: sys/sparc64/pci schizo.c Log: SVN rev 184428 on 2008-10-28 22:05:20Z by marius - Turn off interrupts instead of only entering a critical section while doing the block store workaround so we restore the correct floating-point registers state in case of nested floating-point operations resulting from nested interrupts. This allows the VIS-based block copy/zero functions to be used on machines requiring this workaround. Alternatively, we could take care of saving the floating-point registers here, which would be more inefficiently though and also involves turning off interrupts. - It turns out that the SCZ_PCI_DMA_SYNC register doesn't work like the TOMXMS_PCI_DMA_SYNC_PEND one (but more like the corresponding register in of Hummingbird and Sabre bridges) and writing the INO of the respective device to it causes a Safari bus error. However, due to the Schizo errata I-23, SCZ_PCI_DMA_SYNC can't be used as intended either, so remove consistent DMA syncing for Schzio bridges for now, which means that add-on cards with non-"sun4u compliant" (whatever that means exactly) PCI-PCI-bridges should be avoided until the proper workaround is implemented. [1] Reported by: Michael Moll [1] Revision Changes Path 1.2 +10 -14 src/sys/sparc64/pci/schizo.c
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200810282205.m9SM5T6o090616>