summaryrefslogtreecommitdiffstats
path: root/sys/mips
diff options
context:
space:
mode:
authorimp <imp@FreeBSD.org>2015-12-11 16:51:04 +0000
committerimp <imp@FreeBSD.org>2015-12-11 16:51:04 +0000
commit69e096c120ec1d9cd28d6d3e328d0e0bc5b5a968 (patch)
tree301c48f7b48ff7c8ee3f3a228cf2302f5aa62187 /sys/mips
parenta8452bf47837b9e2833b97eb4ea534a2929c1d76 (diff)
downloadFreeBSD-src-69e096c120ec1d9cd28d6d3e328d0e0bc5b5a968.zip
FreeBSD-src-69e096c120ec1d9cd28d6d3e328d0e0bc5b5a968.tar.gz
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
Diffstat (limited to 'sys/mips')
-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 54a9234..a39f6a6 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
OpenPOWER on IntegriCloud