Cache Control

Howard C. Tyler (theurgi@primenet.com)
Tue, 16 Apr 1996 02:56:16 -0700 (MST)


My bios (AMI rev.F for MTI-r407e mb) has bugs affecting
both on-chip (L1) and off-chip(L2) caches. Not only does this
bios not enable the dirty-tag bit in the L2 cache, but if the
"bios setup" is configured for "L1 write-back" and "L1-disabled",
the L1 cache is NOT disabled.
Write-back cache requires hardware support. The AMD
"Enhanced 486" and "586" cpus select either write-back or
write-thru mode after reset by the voltage on pin B13. If the
cpu is wired for write-back, but the bios does not or can not
configure the motherboard to support the L1 write-back cache,
caching inconsistencies will arise. That is, what the cpu thinks
it wrote to memory may not be what another bus-mastering device
finds in ram.
Even if bios gets it right, Linux does not honor the bios's
configuration. Linux always enables the L1 cache by zeroing the
CD bit in cr0. Linux also zeros the NW bit in cr0. If the L1
cache is to be disabled, both these bits should be 1.
Attached is a patch, against 1.3.86, that leaves CD and
NW bits they way bios set them. The patch also enhances the
right-ctl+srool-lock display to show the value of cr0. If cr0
is 0x8xxx xxxx, L1 caching is enabled, if cr0 is 0xExxx xxxx,
L1 is disabled.
I suspect that caching and the newer 486 cpu's are the
source of some of the strange OOPS's. YMMV ;-)

Howard

---- Cut Here -------
begin 644 patch-cache.diff.gz
M'XL("'8Y;S$"`W!A=&-H+6-A8VAE+F1I9F8`Y93;;MI`$(:O[:<8D::%V`8?
M@!*GC3C$2:.&%)5(2=56UF*O\3;&1KN&6(KR[AW;G*(<FOM:H)TU\W_#S.R.
MIFD0L7B1:4;=JG?:#<*]L,$LM&XICVG4""GQZ^-Z$OG2*6?0FW,P3#!-VS!M
MJP7&X6%;5A3E313I*ES`D'`P.Z#KMFG9K16AVP7-:)FJT00E7TT+NET9I%FR
MC&"?3C)U_&/8_W;A7O:&3C7KM-TEC?V$N\RO27L0)=`$+R1<;#7^:QJEB:J8
M9NE3G?>JKI-'(V*K4_9\&K"8PJ`W^.*XP][XJR0U#F#U-DU@1EB<XA?NB("%
MH/R#@`E+!(2X%S25#AJ;Z![7U7U*,@G#-#MM!?$L0-0.758D$OL1O-,S1\\?
MPR@E>S`F2PJC,W7DJ,Z5.CA1K_N@%2%AR4@9U$OBE"<1&L0+*?)I)"C&7S,[
MKS&1%B3<HZ48:$PF$57ANI]S8I\%>>8[A2@R2W@!;NFZ::ZIF#;TAJ@<J7#I
M``:'X0A]_\SF8`8R,('9V])\(<*R)WE!.!5IPBDDG$U93")P3B]Z9V.4S9-Y
M$+U4Q/^WAM;;:ZC]<Q#,>>)1(>K><[.@9>N';YT%&U`Q#G((7B;C(\X"&Z__
M9AR86#_#`J58.^4X>)`!/]L[Y[H<!XN+#:_6H'H/OV2%TRD3*79K$0LVC:F/
MPR&>%I[B*'=P72)FKENME(>E/"UY22LV5#Z3"E0+WYI=6[GGPH>:K,BP3)@/
M(DSN\-U45$7*%UX*\[38P@'D2TV&^_Q$<KSTM]7*K[A2.]K9.^<C&_;U9F;_
M_+2O=Z+L^'=%U;,`'WA?`+1C3ZBE0=F\$+,`JNN?T,O"&-*&",YXC2R`3W!B
M@Q,Y3MM1%KW/Q:C#?[KV"R*"B1SA+7G>%6#P77]!ICYJRN/<>S=K@-/?FH.M
H>7*S0\V37)%)MHXQV5C>QO*SQV'&YUO@UNR/5B:2_P*O@T;R]P8``-/?
`
end
---- Cut Here -------
___________________________________________________________
Howard C. Tyler | email: theurgi@primenet.com
phn: (602)-866-9074 | 1KSPT: 13.96 exCOG 1741
___________________________________________________________