Date: Mon, 25 Mar 1996 10:18:04 -0700 (MST) From: Terry Lambert <terry@lambert.org> To: rgrimes@GndRsh.aac.dev.com (Rodney W. Grimes) Cc: cau@cc.gatech.edu, uhclem@nemesis.lonestar.org, hackers@FreeBSD.ORG, current@FreeBSD.ORG Subject: Re: Crash advice needed APPENDIX B Message-ID: <199603251718.KAA12203@phaeton.artisoft.com> In-Reply-To: <199603250516.VAA28302@GndRsh.aac.dev.com> from "Rodney W. Grimes" at Mar 24, 96 09:16:47 pm
next in thread | previous in thread | raw e-mail | index | archive | help
> > > Because SCO Unix, Windows 95 and Windows NT are all gross in the way > > > they handled bus master DMA disk controllers, they use a dedicated > > > buffer area that is marked uncacheable just so they can run on the > > > broken cache coherency motherboards. Can you say totally defeat > > > the purpose of bus master DMA buy having the processor bcopy data > > > around... > > > > Unfortunately, I've got one of these broken motherboards. Is > > there a way to make FreeBSD behave the same way? That is, to > > mark some memory block uncacheable (I guess this would be the > > bounce buffers area)? I realize this would be counterproductive > > (decreased performance) in most cases, but in my case it might > > help (I am able to use my DMA busmaster car at lower CPU > > speeds, but I'd like to see the results of using a higher clock > > value). > > I can only theorize here as I am not that familiar with the current > vm system in FreeBSD but... it should not be that major of a task > to mark the bounce buffer region as uncachable (simply 1 or 2 bits > per PTE in the page tables for this region) and then modify the > bounce buffer code to _always_ bounce the I/O through the buffer. > > This would totally defeat bus mastered DMA, but it would infact allow > broken hardware to run. I'd like to point out at this time that Cyrix/TI chipmask processors not based on the IBM masks Cyrix got a while back do *not* honor the non-cacheable bit in any case. A BINVD would be required to manually flush the cache, or the cache would still need to be turned off for these systems. Terry Lambert terry@lambert.org --- Any opinions in this posting are my own and not those of my present or previous employers.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199603251718.KAA12203>