summaryrefslogtreecommitdiffstats
path: root/sys/sparc64/include/cache.h
diff options
context:
space:
mode:
authortmm <tmm@FreeBSD.org>2002-02-13 16:20:38 +0000
committertmm <tmm@FreeBSD.org>2002-02-13 16:20:38 +0000
commitdf810ee5f1af4512ddf0146a5a598908d0fdf6b0 (patch)
tree32ef78f639dd6b65401326a50c1a68d06cf70725 /sys/sparc64/include/cache.h
parent05608361069b84ec575e02132e2dcb16bda447a4 (diff)
downloadFreeBSD-src-df810ee5f1af4512ddf0146a5a598908d0fdf6b0.zip
FreeBSD-src-df810ee5f1af4512ddf0146a5a598908d0fdf6b0.tar.gz
Use stxa_sync() when accessing the diagnostic registers to invalidate
caches; this is needed to avoid undefined behaviour. Clean up a bit.
Diffstat (limited to 'sys/sparc64/include/cache.h')
-rw-r--r--sys/sparc64/include/cache.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/sparc64/include/cache.h b/sys/sparc64/include/cache.h
index 5059e02..e6bb173 100644
--- a/sys/sparc64/include/cache.h
+++ b/sys/sparc64/include/cache.h
@@ -57,7 +57,7 @@
*/
/* ASI offsets for I$ diagnostic access */
#define ICDA_SET_SHIFT 13
-#define ICDA_SET_MASK (1UL << 13)
+#define ICDA_SET_MASK (1UL << ICDA_SET_SHIFT)
#define ICDA_SET(a) (((a) << ICDA_SET_SHIFT) & ICDA_SET_MASK)
/* I$ tag/valid format */
#define ICDT_TAG_SHIFT 8
@@ -110,6 +110,7 @@ void ecache_inval_phys __P((vm_offset_t, vm_offset_t));
struct cacheinfo {
int c_enabled; /* true => cache is enabled */
int ic_size; /* instruction cache */
+ int ic_set;
int ic_l2set;
int ic_assoc;
int ic_linesize;
OpenPOWER on IntegriCloud