🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.sys.amiga.tech
Article #2959

Re: 2630 Data Cache

#2959
From: Dave Haynie
Date: Fri, 16 Mar 1990 15:01
51 lines
2845 bytes
In article <10158@cbmvax.commodore.com> steveb@cbmvax (Steve Beats) writes:
>In article <10121@cbmvax.commodore.com> daveh@cbmvax (Dave Haynie) writes:
>>Flushing of the cache to support DMA belongs in the device driver.  If
>>that's what's tripping up Blink, its not a Blink problem.  Under 1.3,
>>there's no standard way of doing cache flush, so most device drivers
>>(including those from Commodore) don't do this.

>Ahem, actually Dave, the A2091 does flush the data and instruction caches
>if an 030 is present in the system.  

Cool!  I remember the night you hacked that in there (write allocate bit and
all), but I didn't know if that actually made it to production ROMs or not.
That's the best thing anyone could have done under 1.3 to support data
caching, but won't help on a machine with external cache or a 68040.

>It`s a bit drastic but there is no system supported way of finding out 
>exactly what memory areas are cached, so the whole lot has to go.  I don`t 
>think there`s any way of determining what`s been cached, even in hardware, 
>is there ?

Not from your point of view.  Caches always know what they have cached, but
don't always let you know.  You wouldn't really want to know, anyway.  You
only know what you've modified, so the best thing the OS could do would be
to let you say something like:

	ClearCache(buffer,length);

Or in your language,

	move.l	buffer,d0
	move.l	length,a0
	CALLSYS	ClearCache

Anyway, some cache configurations allow line or block flushes.  Others may
actually snoop the bus in hardware in one of several ways and make the
flush unecessary.  You shouldn't ever have to worry about the implementation
details of the cache consistency mechanism.  I guess the only other extra 
information a cache manager would find useful at some point would be a tag
passed to the the ClearCache() call that indicates where the DMA device was.
It's not always certain that CPU bus DMA vs. expansion bus DMA will have
the same effect on the host CPU's cache.

Anyway, thanks for the news on the 2091 driver.  I've been running with data
cache on.

>	Steve

-- 
Dave Haynie Commodore-Amiga (Systems Engineering) "The Crew That Never Rests"
   {uunet|pyramid|rutgers}!cbmvax!daveh      PLINK: hazy     BIX: hazy
                    Too much of everything is just enough
Technical Details
Message-ID: <10208@cbmvax.commodore.com>
Path: arc1-ca.pugleaf.net!utzoo!attcan!uunet!jarthur!usc!zaphod.mps.ohio-state.edu!sol.ctr.columbia.edu!cica!iuvax!rutgers!cbmvax!daveh
References: <345@hawk.isc-br.com> <10121@cbmvax.commodore.com> <10158@cbmvax.commodore.com>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!attcan!uunet!jarthur!usc!zaphod.mps.ohio-state.edu!sol.ctr.columbia.edu!cica!iuvax!rutgers!cbmvax!daveh
From: daveh@cbmvax.commodore.com (Dave Haynie)
Newsgroups: comp.sys.amiga.tech
Subject: Re: 2630 Data Cache
Message-ID: <10208@cbmvax.commodore.com>
Date: 16 Mar 90 15:01:43 GMT
References: <345@hawk.isc-br.com> <10121@cbmvax.commodore.com> <10158@cbmvax.commodore.com>
Reply-To: daveh@cbmvax (Dave Haynie)
Organization: Commodore, West Chester, PA
Lines: 51