/titanic_44/usr/src/uts/common/vm/ |
H A D | hat.h | 63 struct hat; 132 struct hat *hat_alloc(struct as *); 133 void hat_free_start(struct hat *); 134 void hat_free_end(struct hat *); 135 int hat_dup(struct hat *, struct hat *, caddr_t, size_t, uint_t); 136 void hat_swapin(struct hat *); 137 void hat_swapout(struct hat *); 138 size_t hat_get_mapped_size(struct hat *); 139 int hat_stats_enable(struct hat *); 140 void hat_stats_disable(struct hat *); [all …]
|
H A D | seg_kpm.c | 103 faultcode_t segkpm_fault(struct hat *hat, struct seg *seg, caddr_t addr, 210 segkpm_fault(struct hat *hat, struct seg *seg, caddr_t addr, size_t len, in segkpm_fault() argument 217 return (hat_kpm_fault(hat, addr)); in segkpm_fault() 302 segkpm_fault(struct hat *hat, struct seg *seg, caddr_t addr, size_t len, in segkpm_fault() argument
|
H A D | seg_kp.c | 92 static int segkp_unlock(struct hat *hat, struct seg *seg, caddr_t vaddr, 94 static int segkp_load(struct hat *hat, struct seg *seg, caddr_t vaddr, 930 struct hat *hat, in segkp_fault() argument 969 if ((err = segkp_load(hat, seg, vaddr, len, kpd, KPD_LOCKED))) { in segkp_fault() 1001 err = segkp_load(hat, seg, vaddr, len, kpd, kpd->kp_flags); in segkp_fault() 1028 err = segkp_unlock(hat, seg, vaddr, len, kpd, flags); in segkp_fault() 1088 struct hat *hat, in segkp_load() argument 1145 (void) segkp_unlock(hat, seg, vaddr, in segkp_load() 1153 hat_memload(hat, va, pl[0], (PROT_READ|PROT_WRITE), in segkp_load() 1173 struct hat *hat, in segkp_unlock() argument [all …]
|
H A D | seg_kp.h | 156 faultcode_t segkp_fault(struct hat *hat, struct seg *seg, caddr_t addr,
|
H A D | xhat.h | 76 #define XHAT_HOPS(hat, func, args) \ argument 78 if (XHAT_PROPS(hat)-> /* */ func) \ 79 XHAT_PROPS(hat)-> /* */ func /* */ args; \
|
H A D | as.h | 112 struct hat *a_hat; /* hat structure */ 275 faultcode_t as_fault(struct hat *hat, struct as *as, caddr_t addr, size_t size,
|
H A D | seg_map.c | 75 faultcode_t segmap_fault(struct hat *hat, struct seg *seg, caddr_t addr, 133 static void segmap_unlock(struct hat *hat, struct seg *seg, caddr_t addr, 492 struct hat *hat, in segmap_unlock() argument 527 hat_unlock(hat, addr, P2ROUNDUP(len, PAGESIZE)); in segmap_unlock() 583 struct hat *hat, in segmap_fault() argument 699 segmap_unlock(hat, seg, addr, len, rw, smp); in segmap_fault() 739 ASSERT(hat == kas.a_hat); in segmap_fault() 764 hat_memload(hat, adr, pp, prot, hat_flag); in segmap_fault()
|
/titanic_44/usr/src/uts/i86pc/vm/ |
H A D | htable.c | 436 htable_steal_active(hat_t *hat, uint_t cnt, uint_t threshold, in htable_steal_active() argument 445 h = h_start = h_seed++ % hat->hat_num_hash; in htable_steal_active() 449 for (ht = hat->hat_ht_hash[h]; ht; ht = ht->ht_next) { in htable_steal_active() 511 ASSERT(hat->hat_ht_hash[h] == ht); in htable_steal_active() 512 hat->hat_ht_hash[h] = ht->ht_next; in htable_steal_active() 529 if (++h == hat->hat_num_hash) in htable_steal_active() 538 move_victim(hat_t *hat) in move_victim() argument 543 if (hat->hat_prev) in move_victim() 544 hat->hat_prev->hat_next = hat->hat_next; in move_victim() 546 kas.a_hat->hat_next = hat->hat_next; in move_victim() [all …]
|
H A D | hat_i86.c | 224 hat_t *hat = buf; in hati_constructor() local 226 mutex_init(&hat->hat_mutex, NULL, MUTEX_DEFAULT, NULL); in hati_constructor() 227 bzero(hat->hat_pages_mapped, in hati_constructor() 229 hat->hat_ism_pgcnt = 0; in hati_constructor() 230 hat->hat_stats = 0; in hati_constructor() 231 hat->hat_flags = 0; in hati_constructor() 232 CPUSET_ZERO(hat->hat_cpus); in hati_constructor() 233 hat->hat_htable = NULL; in hati_constructor() 234 hat->hat_ht_hash = NULL; in hati_constructor() 245 hat_t *hat; in hat_alloc() local [all …]
|
H A D | htable.h | 70 struct hat *ht_hat; /* hat this mapping comes from */ 104 #define HTABLE_HASH(hat, va, lvl) \ argument 106 ((uintptr_t)(hat) >> 4)) & ((hat)->hat_num_hash - 1)) 174 extern htable_t *htable_lookup(struct hat *hat, uintptr_t vaddr, level_t level); 175 extern htable_t *htable_create(struct hat *hat, uintptr_t vaddr, level_t level, 186 extern void htable_purge_hat(struct hat *hat); 193 extern htable_t *htable_getpte(struct hat *, uintptr_t, uint_t *, x86pte_t *, 200 extern htable_t *htable_getpage(struct hat *hat, uintptr_t va, uint_t *entry); 217 extern size_t htable_mapped(struct hat *); 223 extern void htable_attach(struct hat *, uintptr_t, level_t, struct htable *, [all …]
|
H A D | hat_i86.h | 82 struct hat { struct 91 struct hat *hat_next; argument 92 struct hat *hat_prev; argument 101 typedef struct hat hat_t; 103 #define PGCNT_INC(hat, level) \ argument 104 atomic_inc_ulong(&(hat)->hat_pages_mapped[level]); 105 #define PGCNT_DEC(hat, level) \ argument 106 atomic_dec_ulong(&(hat)->hat_pages_mapped[level]); 231 extern void hat_tlb_inval(struct hat *hat, uintptr_t va); 254 extern void hat_switch(struct hat *hat);
|
/titanic_44/usr/src/uts/sun4u/cpu/ |
H A D | us3_common_mmu.c | 256 mmu_fixup_large_pages(struct hat *hat, uint64_t *ttecnt, uint8_t *tmp_pgsz) in mmu_fixup_large_pages() argument 265 ASSERT(hat->sfmmu_ismhat == 0); in mmu_fixup_large_pages() 266 ASSERT(hat != ksfmmup); in mmu_fixup_large_pages() 269 ASSERT(!SFMMU_TTEFLAGS_ISSET(hat, HAT_32M_FLAG) || in mmu_fixup_large_pages() 270 !SFMMU_TTEFLAGS_ISSET(hat, HAT_256M_FLAG)); in mmu_fixup_large_pages() 271 ASSERT(!SFMMU_TTEFLAGS_ISSET(hat, HAT_256M_FLAG) || in mmu_fixup_large_pages() 272 !SFMMU_TTEFLAGS_ISSET(hat, HAT_32M_FLAG)); in mmu_fixup_large_pages() 273 ASSERT(!SFMMU_FLAGS_ISSET(hat, HAT_32M_ISM) || in mmu_fixup_large_pages() 274 !SFMMU_FLAGS_ISSET(hat, HAT_256M_ISM)); in mmu_fixup_large_pages() 275 ASSERT(!SFMMU_FLAGS_ISSET(hat, HAT_256M_ISM) || in mmu_fixup_large_pages() [all …]
|
H A D | opl_olympus.c | 869 mmu_setup_page_sizes(struct hat *hat, uint64_t *ttecnt, uint8_t *tmp_pgsz) argument 876 ASSERT(hat->sfmmu_ismhat == NULL); 877 ASSERT(hat != ksfmmup); 918 mmu_set_ctx_page_sizes(struct hat *hat) argument 923 ASSERT(sfmmu_hat_lock_held(hat)); 927 if (hat->sfmmu_ismhat || hat == ksfmmup) 933 if (hat->sfmmu_scdp != NULL) { 934 new_cext = hat->sfmmu_scdp->scd_sfmmup->sfmmu_cext; 937 pgsz0 = hat->sfmmu_pgsz[0]; 938 pgsz1 = hat->sfmmu_pgsz[1]; [all …]
|
H A D | mach_cpu_module.c | 306 mmu_init_kernel_pgsz(struct hat *hat) in mmu_init_kernel_pgsz() argument
|
/titanic_44/usr/src/cmd/mdb/i86pc/modules/unix/ |
H A D | i86mmu.c | 158 static struct hat *khat; /* value of kas.a_hat */ 537 get_pte(hat_t *hat, htable_t *htable, uintptr_t addr) in get_pte() argument 544 uintptr_t ptr = (uintptr_t)hat->hat_vlp_ptes; in get_pte() 566 struct hat *hatp; in do_va2pa() 567 struct hat hat; in do_va2pa() local 590 if (mdb_vread(&hat, sizeof (hat), (uintptr_t)hatp) == -1) { in do_va2pa() 599 if (level == TOP_LEVEL(&hat)) in do_va2pa() 604 for (h = 0; h < hat.hat_num_hash; ++h) { in do_va2pa() 606 (uintptr_t)(hat.hat_ht_hash + h)) == -1) { in do_va2pa() 621 pte = get_pte(&hat, &htable, addr); in do_va2pa() [all …]
|
/titanic_44/usr/src/uts/sfmmu/vm/ |
H A D | hat_sfmmu.c | 90 #define SFMMU_VALIDATE_HMERID(hat, rid, saddr, len) \ argument 96 ASSERT(SF_RGNMAP_TEST(hat->sfmmu_hmeregion_map, rid)); \ 97 ASSERT((hat) != ksfmmup); \ 98 _srdp = (hat)->sfmmu_srdp; \ 145 #define SFMMU_VALIDATE_HMERID(hat, rid, addr, len) argument 397 static caddr_t sfmmu_hblk_unload(struct hat *, struct hme_blk *, caddr_t, 399 static caddr_t sfmmu_hblk_sync(struct hat *, struct hme_blk *, caddr_t, 410 static void hat_do_memload_array(struct hat *, caddr_t, size_t, 412 static void hat_do_memload(struct hat *, caddr_t, struct page *, 414 static void sfmmu_memload_batchsmall(struct hat *, caddr_t, page_t **, [all …]
|
/titanic_44/usr/src/uts/i86xpv/vm/ |
H A D | seg_mf.c | 221 segmf_faultpage(struct hat *hat, struct seg *seg, caddr_t addr, in segmf_faultpage() argument 257 hat_devload(hat, addr, MMU_PAGESIZE, (pfn_t)0, in segmf_faultpage() 275 hat_unload(hat, addr, MMU_PAGESIZE, hat_flags); in segmf_faultpage() 300 segmf_softunlock(struct hat *hat, struct seg *seg, caddr_t addr, size_t len) in segmf_softunlock() argument 304 hat_unlock(hat, addr, len); in segmf_softunlock() 326 segmf_fault_range(struct hat *hat, struct seg *seg, caddr_t addr, size_t len, in segmf_fault_range() argument 339 error = segmf_faultpage(hat, seg, a, type, data->prot); in segmf_fault_range() 351 segmf_softunlock(hat, seg, addr, done); in segmf_fault_range() 362 segmf_fault(struct hat *hat, struct seg *seg, caddr_t addr, size_t len, in segmf_fault() argument
|
/titanic_44/usr/src/uts/sparc/os/ |
H A D | ddi_arch.c | 146 struct hat *hat, struct seg *seg, caddr_t addr, in i_ddi_map_fault() argument 158 rdip, hat, seg, addr, dp, pfn, prot, lock)); in i_ddi_map_fault()
|
/titanic_44/usr/src/uts/common/os/ |
H A D | vm_subr.c | 355 struct hat *hat; in cow_mapin() local 386 hat = as->a_hat; in cow_mapin() 397 res = hat_softlock(hat, uaddr, &size, &ppp[0], cow ? HAT_COW : 0); in cow_mapin()
|
/titanic_44/usr/src/uts/sun4/io/ |
H A D | rootnex.c | 63 struct hat *hat, struct seg *seg, caddr_t addr, 719 struct hat *hat, struct seg *seg, caddr_t addr, in rootnex_map_fault() argument 741 if (hat == NULL) { in rootnex_map_fault() 750 hat = seg->s_as->a_hat; in rootnex_map_fault() 753 hat_devload(hat, addr, MMU_PAGESIZE, pfn, prot | sdp->hat_attr, in rootnex_map_fault()
|
/titanic_44/usr/src/uts/intel/os/ |
H A D | ddi_arch.c | 273 struct hat *hat, struct seg *seg, caddr_t addr, in i_ddi_map_fault() argument 285 rdip, hat, seg, addr, dp, pfn, prot, lock)); in i_ddi_map_fault()
|
/titanic_44/usr/src/uts/common/sys/ |
H A D | devops.h | 201 struct hat *hat, struct seg *seg, caddr_t addr, 326 struct hat *hat, struct seg *seg, caddr_t addr,
|
H A D | ddi_implfuncs.h | 64 struct hat *hat, struct seg *seg, caddr_t addr,
|
/titanic_44/usr/src/uts/sun4u/sys/ |
H A D | cpu_module.h | 258 void mmu_init_kernel_pgsz(struct hat *hat);
|
/titanic_44/usr/src/uts/sun4v/vm/ |
H A D | mach_kpm.c | 201 hat_kpm_fault(struct hat *hat, caddr_t vaddr) in hat_kpm_fault() argument
|