Subject: Re: Fun w/ caches (was Mac II & pmmu)
To: None <port-mac68k@NetBSD.ORG>
From: Kevin Radke <radke@cpre1.ee.iastate.edu>
List: port-mac68k
Date: 03/03/1996 21:23:41
[snip]
> > If we used true DMA, I'd agree. But aren't we doing pseudo DMA?
> > Thus all data went through the CPU, so the cache should have
> > seen Process B get paged in, as the CPU did it?
> 
> Hmm...  You are right...  The memory would have to go through the CPU
> to the physical addresses.  I'm not sure when it's necessary to flush
> the cache, now...

Well, I wimped out and borrowed stuff from the hp300 port.
They have some machines that have a 32k physical mapped
external cache (lets just ignore they have DMA for now :)

In addition to the PCIA routine in locore.s (and some
additions sys_machdep.c to call it), I have found 2 additional
places that need cache flushes.  (pmap_remove and pmap_update
in pmap.c).  The caches still seem to be flushed WAY too often...

I have gotten my daystar accelerator will work with external 
caches now, atleast a little.  For some reason doing a "trace"
in the debugger will lock up the machine... :(

I also noticed that the pmap_collect routine in pmap.c says
"do we need to do anything here?"  Since pmap.c is almost
a direct derivative of the hp one, and they have this
nicely filled it, shouldn't we?

And lastly if anyone has been trying to get my daystar
test kernel, the ftp machine is alive again.  (I am
not the admin of this machine anymore, but it seems like
they were having some nasty network problems)

Kevin

----------------------------------------------------------------
|/     |)                   ~ Flight Management Systems Engineer
|\evin |\adke                ~ Rockwell-Collins Avionics
radke@cpre1.ee.iastate.edu    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kmradke@fmsb.cca.rockwell.com ~  Iowa State University Grad
----------------------------------------------------------------