aboutsummaryrefslogtreecommitdiff
path: root/sys/mips/include
diff options
context:
space:
mode:
authorWarner Losh <imp@FreeBSD.org>2015-12-11 16:51:04 +0000
committerWarner Losh <imp@FreeBSD.org>2015-12-11 16:51:04 +0000
commit14f4e1570469c75655d56cbf72361a71343742c3 (patch)
tree301c48f7b48ff7c8ee3f3a228cf2302f5aa62187 /sys/mips/include
parenta38fc8ca6afef3a1d87f294938bfcbf491cdd231 (diff)
downloadsrc-14f4e1570469c75655d56cbf72361a71343742c3.tar.gz
src-14f4e1570469c75655d56cbf72361a71343742c3.zip
Correct the CONFIG0_VI value. According to
http://www.t-es-t.hu/download/mips/md00090c.pdf this is bit 3 of the config0 word, not bit 2. This should fix virtually indexed caches (relatively new in the MIPS world, so no current platforms used this and current code just uses it as an optimization). It was causing false positives on newer platforms that default to large values for the kseg0 cache coherency attribute. Submitted by: Stanislav Galabov PR: 205249
Notes
Notes: svn path=/head/; revision=292114
Diffstat (limited to 'sys/mips/include')
-rw-r--r--sys/mips/include/cpuregs.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/mips/include/cpuregs.h b/sys/mips/include/cpuregs.h
index 54a9234069a8..a39f6a6a2688 100644
--- a/sys/mips/include/cpuregs.h
+++ b/sys/mips/include/cpuregs.h
@@ -524,7 +524,7 @@
#define MIPS_CONFIG0_MT_MASK 0x00000380 /* bits 9..7 MMU Type */
#define MIPS_CONFIG0_MT_SHIFT 7
#define MIPS_CONFIG0_BE 0x00008000 /* data is big-endian */
-#define MIPS_CONFIG0_VI 0x00000004 /* instruction cache is virtual */
+#define MIPS_CONFIG0_VI 0x00000008 /* instruction cache is virtual */
#define MIPS_CONFIG1_TLBSZ_MASK 0x7E000000 /* bits 30..25 # tlb entries minus one */
#define MIPS_CONFIG1_TLBSZ_SHIFT 25