diff options
Diffstat (limited to 'sys/sparc64/include')
| -rw-r--r-- | sys/sparc64/include/pmap.h | 11 | ||||
| -rw-r--r-- | sys/sparc64/include/tte.h | 9 |
2 files changed, 11 insertions, 9 deletions
diff --git a/sys/sparc64/include/pmap.h b/sys/sparc64/include/pmap.h index 427074a7f3120..d0a11fa740772 100644 --- a/sys/sparc64/include/pmap.h +++ b/sys/sparc64/include/pmap.h @@ -55,16 +55,17 @@ #define PMAP_CONTEXT_MAX 8192 -#define pmap_page_is_mapped(m) (!STAILQ_EMPTY(&(m)->md.tte_list)) +#define pmap_page_is_mapped(m) (!TAILQ_EMPTY(&(m)->md.tte_list)) #define pmap_resident_count(pm) (pm->pm_stats.resident_count) typedef struct pmap *pmap_t; struct md_page { - STAILQ_HEAD(, tte) tte_list; - int colors[DCACHE_COLORS]; - int color; - int flags; + TAILQ_HEAD(, tte) tte_list; + struct pmap *pmap; + uint32_t colors[DCACHE_COLORS]; + int32_t color; + uint32_t flags; }; struct pmap { 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 |
