diff options
author | tmm <tmm@FreeBSD.org> | 2002-02-13 16:20:38 +0000 |
---|---|---|
committer | tmm <tmm@FreeBSD.org> | 2002-02-13 16:20:38 +0000 |
commit | df810ee5f1af4512ddf0146a5a598908d0fdf6b0 (patch) | |
tree | 32ef78f639dd6b65401326a50c1a68d06cf70725 /sys/sparc64/include/cache.h | |
parent | 05608361069b84ec575e02132e2dcb16bda447a4 (diff) | |
download | FreeBSD-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.h | 3 |
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; |