Subject: Re: hardware caches and DMA
To: None <port-i386@NetBSD.ORG>
From: Michael L. VanLoon -- HeadCandy.com <michaelv@HeadCandy.com>
List: port-i386
Date: 04/18/1995 10:46:47
>> Most x86 motherboards have write-through caches, but many have write-back,
>> and according to the manual that came with mine, it has write-back.
>Mine too. I've been running NetBSD using the cache in write-back mode
>(according to the BIOS, anyway), with no problems. Of course, I don't
>think I have any DMA devices other than the FDC, which I hardly ever
[...]
>It is true that write-back caches without snooping appear here and
>there.
I have a 486 motherboard with an EISA bus which has a perfectly
functional write-back L2 cache.
My experience has been (so far) that many (not all) EISA motherboards
have correctly implemented write-back, and most currently produced
(not all) PCI motherboards now correctly implement write-back caching.
REALLY cheap PCI motherboards might not get write-back correct. You
can almost lay money on the fact that an ISA board engineer wouldn't
have even wasted his time on attempting write-back coherency.
Just fodder for the frenzy...
BTW I did have cache invalidation working for awhile in the DMA code
when I used to run a Cyrix 486DLC in full-cache mode with a 386
motherboard. I had 31 days uptime with that kernel while using a
BusLogic bt747s bus-mastering controller. So, I know it can be done
(although it was messy).
-----------------------------------------------------------------------------
Michael L. VanLoon michaelv@HeadCandy.com
--< Free your mind and your machine -- NetBSD free un*x >--
NetBSD working ports: 386+PC, Mac, Amiga, HP300, Sun3, Sun4, PC532,
DEC pmax (MIPS R2k/3k), DEC/AXP (Alpha)
NetBSD ports in progress: VAX and others...
-----------------------------------------------------------------------------