diff options
author | jake <jake@FreeBSD.org> | 2001-08-06 02:24:18 +0000 |
---|---|---|
committer | jake <jake@FreeBSD.org> | 2001-08-06 02:24:18 +0000 |
commit | 8a08e4a1c60be8859caafea25ef1b61e92c36bb4 (patch) | |
tree | db2ec44863d49d8c3ac6577fd76e01f144b05938 /sys/sparc64/include/tte.h | |
parent | 08c39847a7bb3feba41b1213b6558a25689624c3 (diff) | |
download | FreeBSD-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.h | 12 |
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 |