Home
last modified time | relevance | path

Searched refs:hat (Results 1 – 25 of 74) sorted by relevance

123

/titanic_44/usr/src/uts/common/vm/
H A Dhat.h63 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 Dseg_kpm.c103 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 Dseg_kp.c92 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 Dseg_kp.h156 faultcode_t segkp_fault(struct hat *hat, struct seg *seg, caddr_t addr,
H A Dxhat.h76 #define XHAT_HOPS(hat, func, args) \ argument
78 if (XHAT_PROPS(hat)-> /* */ func) \
79 XHAT_PROPS(hat)-> /* */ func /* */ args; \
H A Das.h112 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 Dseg_map.c75 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 Dhtable.c436 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 Dhat_i86.c224 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 Dhtable.h70 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 Dhat_i86.h82 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 Dus3_common_mmu.c256 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 Dopl_olympus.c869 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 Dmach_cpu_module.c306 mmu_init_kernel_pgsz(struct hat *hat) in mmu_init_kernel_pgsz() argument
/titanic_44/usr/src/cmd/mdb/i86pc/modules/unix/
H A Di86mmu.c158 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 Dhat_sfmmu.c90 #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 Dseg_mf.c221 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 Dddi_arch.c146 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 Dvm_subr.c355 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 Drootnex.c63 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 Dddi_arch.c273 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 Ddevops.h201 struct hat *hat, struct seg *seg, caddr_t addr,
326 struct hat *hat, struct seg *seg, caddr_t addr,
H A Dddi_implfuncs.h64 struct hat *hat, struct seg *seg, caddr_t addr,
/titanic_44/usr/src/uts/sun4u/sys/
H A Dcpu_module.h258 void mmu_init_kernel_pgsz(struct hat *hat);
/titanic_44/usr/src/uts/sun4v/vm/
H A Dmach_kpm.c201 hat_kpm_fault(struct hat *hat, caddr_t vaddr) in hat_kpm_fault() argument

123