summaryrefslogtreecommitdiffstats
path: root/sys/sparc64/include/tte.h
diff options
context:
space:
mode:
authorjake <jake@FreeBSD.org>2001-08-06 02:24:18 +0000
committerjake <jake@FreeBSD.org>2001-08-06 02:24:18 +0000
commit8a08e4a1c60be8859caafea25ef1b61e92c36bb4 (patch)
treedb2ec44863d49d8c3ac6577fd76e01f144b05938 /sys/sparc64/include/tte.h
parent08c39847a7bb3feba41b1213b6558a25689624c3 (diff)
downloadFreeBSD-src-8a08e4a1c60be8859caafea25ef1b61e92c36bb4.zip
FreeBSD-src-8a08e4a1c60be8859caafea25ef1b61e92c36bb4.tar.gz
Fix macros for dealing with tte contexts.
Add tte bits for initializing tsbs and for specifying managed mappings.
Diffstat (limited to 'sys/sparc64/include/tte.h')
-rw-r--r--sys/sparc64/include/tte.h12
1 files changed, 8 insertions, 4 deletions
diff --git a/sys/sparc64/include/tte.h b/sys/sparc64/include/tte.h
index f938560..6b78a08 100644
--- a/sys/sparc64/include/tte.h
+++ b/sys/sparc64/include/tte.h
@@ -48,8 +48,8 @@
#define TT_VA_MASK ((1L << TT_VA_SIZE) - 1)
#define TT_G (1L << 63)
-#define TT_CTX(ctx) (((u_long)(ctx) << TT_CTX_SHIFT) & TT_CTX_MASK)
-#define TT_VA(va) (((u_long)(va) >> TT_VA_SHIFT) & TT_VA_MASK)
+#define TT_CTX(ctx) (((u_long)(ctx) & TT_CTX_MASK) << TT_CTX_SHIFT)
+#define TT_VA(va) ((u_long)(va) >> TT_VA_SHIFT)
#define TD_SIZE_SHIFT (61)
#define TD_SOFT2_SHIFT (50)
@@ -72,7 +72,9 @@
#define TD_VA_LOW_SHIFT TD_SOFT2_SHIFT
#define TD_VA_LOW_MASK TD_SOFT2_MASK
-#define TS_EXEC (1L << 3)
+#define TS_EXEC (1L << 5)
+#define TS_INIT (1L << 4)
+#define TS_MNG (1L << 3)
#define TS_MOD (1L << 2)
#define TS_REF (1L << 1)
#define TS_TSB (1L << 0)
@@ -88,6 +90,8 @@
#define TD_VA_LOW(va) (TD_VPN_LOW((va) >> PAGE_SHIFT))
#define TD_PA(pa) ((pa) & TD_PA_MASK)
#define TD_EXEC (TS_EXEC << TD_SOFT_SHIFT)
+#define TD_INIT (TS_INIT << TD_SOFT_SHIFT)
+#define TD_MNG (TS_MNG << TD_SOFT_SHIFT)
#define TD_MOD (TS_MOD << TD_SOFT_SHIFT)
#define TD_REF (TS_REF << TD_SOFT_SHIFT)
#define TD_TSB (TS_TSB << TD_SOFT_SHIFT)
@@ -113,7 +117,7 @@ struct stte {
static __inline u_int
tte_get_ctx(struct tte tte)
{
- return ((tte.tte_tag & TT_CTX_MASK) >> TT_CTX_SHIFT);
+ return ((tte.tte_tag >> TT_CTX_SHIFT) & TT_CTX_MASK);
}
static __inline vm_offset_t
OpenPOWER on IntegriCloud