Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 3 Feb 1995 16:17:04 -0800 (PST)
From:      "Justin T. Gibbs" <gibbs@estienne.CS.Berkeley.EDU>
To:        terry@cs.weber.edu (Terry Lambert)
Cc:        bugs@warlock.win.net, freebsd-hackers@FreeBSD.org
Subject:   Re: FIX FOR CACHE/DMA RANGE PROBLEMS (was Re: new SNAP)
Message-ID:  <199502040017.QAA11664@estienne.cs.berkeley.edu>
In-Reply-To: <9502032126.AA23872@cs.weber.edu> from "Terry Lambert" at Feb 3, 95 02:26:26 pm

next in thread | previous in thread | raw e-mail | index | archive | help
> 
> > Are you possitive that your motherboard can do DMA above 16meg??  Not all
> > EISA machines are created equal you know.  I also cannot guarantee that the 
> > diagnostic code in there is up to date.  I've been running without it enabled 
> > for some time now.
> 
> Look, you can diagnose a cache problem:
> 
> o	Do a pattern write to the first block of swap.
> o	Use the same buffer.  Do a pattern write of a different pattern
> 	to the second block of swap.
> o	Use the same buffer.  DMA read the first block of swap.  Examine
> 	the first byte of the buffer.  Do you see the character you used
> 	in the first or the second pattern?
> o	If you have a cache problem, turn off the cache or turn on BINVD
> 	or use programmed I/O.
> 
> This should be automatic.  If necessary, reserve a disk block before the
> mountable part of the 'a' slice to do the test (assuming no swap).
> 
> 
> Diagnosing a DMA range restriction is similarly easy:
> 
> o	Make sure that you have a memory area that is clean both with
> 	and without the 16M range mask.  This is the tricky part.
> o	Fill the lower memory area with a pattern.
> o	Do a write of the lower memory area to the first block of swap.
> o	Fill both the upper and lower memory are with a different
> 	pattern.
> o	Do a DMA read into the upper memory address.
> o	Determine if the controller wrote upper or lower memory.
> o	If you have a DMA range restriction, turn on bouncing.
> 
> 
> All this "try setting this, try setting that" is just mindless frobbing.
> 

This is not the job of the device driver.  I think that many of these types
of problems are detectable.  The question is who has the time or interest to 
write the code.

> 
> 					Terry Lambert
> 					terry@cs.weber.edu
> ---
> Any opinions in this posting are my own and not those of my present
> or previous employers.
> 


-- 
Justin T. Gibbs
==============================================
TCS Instructional Group - Programmer/Analyst 1
  Cory | Po | Danube | Volga | Parker | Torus
==============================================



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