Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 24 Mar 1996 21:16:47 -0800 (PST)
From:      "Rodney W. Grimes" <rgrimes@GndRsh.aac.dev.com>
To:        cau@cc.gatech.edu (Carlos Ugarte)
Cc:        uhclem@nemesis.lonestar.org, hackers@FreeBSD.ORG, current@FreeBSD.ORG
Subject:   Re: Crash advice needed APPENDIX B
Message-ID:  <199603250516.VAA28302@GndRsh.aac.dev.com>
In-Reply-To: <199603250452.XAA24485@oscar.cc.gatech.edu> from "Carlos Ugarte" at Mar 24, 96 11:52:33 pm

next in thread | previous in thread | raw e-mail | index | archive | help
> 
> 
> > > 7.	It has been suggested that I remove the cache.  I'll just
> > > 	mention that the cache and the board it is plugged-into were
> > > 	both replaced earlier and there was no change in failure rate.
> > > 	Further, this board/cache has no trouble with SCO UNIX,
> > > 	Windows '95 and Windows NT which have all run on it previously
> 
> [snip]
> 
> > 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.

It is going to take the likes of David Greenman or John Dyson to actually
go implement it, and I would rather see them spend there time working on fixing
critical software bugs that cause even good hardware to crash on occasion
that is effecting _everyone_.

Just my $1.00 worth...

-- 
Rod Grimes                                      rgrimes@gndrsh.aac.dev.com
Accurate Automation Company                 Reliable computers for FreeBSD



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199603250516.VAA28302>