CVSROOT:        /cvs
Module name:    src
Changes by:     m...@cvs.openbsd.org    2013/02/19 14:02:06

Modified files:
        sys/arch/m88k/include: cmmu.h 
        sys/arch/m88k/m88k: m8820x_machdep.c pmap.c 
        sys/arch/mvme88k/mvme88k: m88110.c 

Log message:
Introduce a new cmmu method to return the preferred cache mode bits for the
kernel APR. Return write-back for every design but those involving 88410,
where write through is returned.

Apparently the use of writeback on single-processor kernels using 88410 (197SP,
197DP) has only been working by fat chance, and the last two years of uvm
changes, as well as the switch to ELF (causing kernel rodata to move `up')
exposes silent memory corruption on (88410-size) aliased addresses.
(I am guilty of not using my 197DP board much after making 197LE write-back
capable, as 197LE turned out to be faster and more stable, for I would have
noticed this earlier).

Further thought needs to happen about this. It might be possible to switch to
writeback by default again as long as bus_dma maps things write-through on
88410 designs, and perhaps with a part of the kernel mapped with a write-through
BATC, since BATC have precedence upon page tables. Right now I'm trying to get
a stable release out of the door.

Reply via email to