aboutsummaryrefslogtreecommitdiff
path: root/sys/sparc64/include/tte.h
diff options
context:
space:
mode:
Diffstat (limited to 'sys/sparc64/include/tte.h')
-rw-r--r--sys/sparc64/include/tte.h9
1 files changed, 5 insertions, 4 deletions
diff --git a/sys/sparc64/include/tte.h b/sys/sparc64/include/tte.h
index e86c722f8793a..c2b38b1f2457a 100644
--- a/sys/sparc64/include/tte.h
+++ b/sys/sparc64/include/tte.h
@@ -104,17 +104,18 @@
#define TTE_GET_VA(tp) \
(TTE_GET_VPN(tp) << TTE_GET_PAGE_SHIFT(tp))
#define TTE_GET_PMAP(tp) \
- ((tp)->tte_pmap)
+ (((tp)->tte_data & TD_P) != 0 ? \
+ (kernel_pmap) : \
+ (PHYS_TO_VM_PAGE(pmap_kextract((vm_offset_t)(tp)))->md.pmap))
#define TTE_ZERO(tp) \
- bzero(tp, sizeof(*tp))
+ __builtin_memset(tp, 0, sizeof(*tp))
struct pmap;
struct tte {
u_long tte_vpn;
u_long tte_data;
- STAILQ_ENTRY(tte) tte_link;
- struct pmap *tte_pmap;
+ TAILQ_ENTRY(tte) tte_link;
};
static __inline int