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...
-----------------------------------------------------------------------------