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>
index | next in thread | raw e-mail
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
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200810282205.m9SM5T6o090616>
