Searched refs:hat (Results 1 - 25 of 167) sorted by relevance

1234567

/illumos-gate/usr/src/uts/common/vm/
H A Dhat.h58 * in <vm/hat_xxx.h>. The hat layer manages the address
63 struct hat;
86 * One time hat initialization
91 * Notify hat of a system dump
98 * struct hat *hat_alloc(as)
99 * allocated a hat structure for as.
101 * void hat_free_start(hat)
102 * informs hat layer process has finished executing but as has not
105 * void hat_free_end(hat)
106 * informs hat laye
[all...]
H A Dseg_kpm.c46 * See also hat layer for more information about the hat_kpm* routines.
65 #include <vm/hat.h>
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, argument
217 return (hat_kpm_fault(hat, addr));
302 segkpm_fault(struct hat *hat, struct seg *seg, caddr_t addr, size_t len, argument
H A DMakefile31 HDRS= anon.h as.h faultcode.h vpm.h hat.h kpm.h page.h pvn.h rm.h seg.h \
H A Dseg_kp.h156 faultcode_t segkp_fault(struct hat *hat, struct seg *seg, caddr_t addr,
H A Dseg_kpm.h105 extern faultcode_t segkpm_fault(struct hat *, struct seg *, caddr_t,
H A Das.h49 #include <vm/hat.h>
100 * The following fields are protected by the hat layer lock:
112 struct hat *a_hat; /* hat structure */
270 faultcode_t as_fault(struct hat *hat, struct as *as, caddr_t addr, size_t size,
H A Dvm_rm.c52 #include <vm/hat.h>
H A Dseg_kp.c72 #include <vm/hat.h>
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,
969 if ((err = segkp_load(hat, seg, vaddr, len, kpd, KPD_LOCKED))) {
1001 err = segkp_load(hat, seg, vaddr, len, kpd, kpd->kp_flags);
1028 err = segkp_unlock(hat, se
929 segkp_fault( struct hat *hat, struct seg *seg, caddr_t vaddr, size_t len, enum fault_type type, enum seg_rw rw) argument
1087 segkp_load( struct hat *hat, struct seg *seg, caddr_t vaddr, size_t len, struct segkp_data *kpd, uint_t flags) argument
1172 segkp_unlock( struct hat *hat, struct seg *seg, caddr_t vaddr, size_t len, struct segkp_data *kpd, uint_t flags) argument
[all...]
/illumos-gate/usr/src/uts/i86pc/vm/
H A Dhtable.c53 #include <vm/hat.h>
120 * instead of putting them in a hat's htable cache.
359 ht->ht_hat = NULL; /* no longer tied to a hat */
436 htable_steal_active(hat_t *hat, uint_t cnt, uint_t threshold, argument
445 h = h_start = h_seed++ % hat->hat_num_hash;
449 for (ht = hat->hat_ht_hash[h]; ht; ht = ht->ht_next) {
511 ASSERT(hat->hat_ht_hash[h] == ht);
512 hat->hat_ht_hash[h] = ht->ht_next;
529 if (++h == hat->hat_num_hash)
535 * Move hat t
538 move_victim(hat_t *hat) argument
570 hat_t *hat = kas.a_hat; /* list starts with khat */ local
775 htable_alloc( hat_t *hat, uintptr_t vaddr, level_t level, htable_t *shared) argument
976 hat_t *hat = ht->ht_hat; local
1033 htable_purge_hat(hat_t *hat) argument
1095 hat_t *hat = old->ht_hat; local
1180 hat_t *hat; local
1283 htable_lookup(hat_t *hat, uintptr_t vaddr, level_t level) argument
1327 hat_t *hat = ht->ht_hat; local
1361 htable_create( hat_t *hat, uintptr_t vaddr, level_t level, htable_t *shared) argument
1483 htable_attach( hat_t *hat, uintptr_t base, level_t level, htable_t *parent, pfn_t pfn) argument
1671 htable_walk( struct hat *hat, htable_t **htp, uintptr_t *vaddr, uintptr_t eaddr) argument
1776 htable_getpte( struct hat *hat, uintptr_t vaddr, uint_t *entry, x86pte_t *pte, level_t level) argument
1810 htable_getpage(struct hat *hat, uintptr_t vaddr, uint_t *entry) argument
2103 hat_t *hat = ht->ht_hat; local
2497 hat_t *hat; local
[all...]
H A Dhat_i86.h80 * The hat struct exists for each address space.
82 struct hat { struct
91 struct hat *hat_next;
92 struct hat *hat_prev;
101 typedef struct hat hat_t;
103 #define PGCNT_INC(hat, level) \
104 atomic_inc_ulong(&(hat)->hat_pages_mapped[level]);
105 #define PGCNT_DEC(hat, level) \
106 atomic_dec_ulong(&(hat)->hat_pages_mapped[level]);
118 * HAT_VICTIM - This is set while a hat i
[all...]
H A Dhtable.h70 struct hat *ht_hat; /* hat this mapping comes from */
77 /* never used for kernel hat */
100 * hat we include the value of hat pointer in the hash function so
104 #define HTABLE_HASH(hat, va, lvl) \
106 ((uintptr_t)(hat) >> 4)) & ((hat)->hat_num_hash - 1))
162 * to the virtual address "vaddr" in the "hat" at the given "level" of
169 * routines for this htable, since it's for the kernel hat itsel
[all...]
H A Dhat_i86.c36 * Implementation of the interfaces described in <common/vm/hat.h>
89 * Basic parameters for hat operation.
96 * For 32 bit PAE support on i86pc, the kernel hat will use the 1st 4 entries
118 * hat created by hat_alloc(). This means that kernelbase must be:
123 * The hat_kernel_range_ts describe what needs to be copied from kernel hat
124 * to each user hat.
167 * management stuff for hat structures
218 * kmem cache constructor for struct hat
224 hat_t *hat = buf; local
226 mutex_init(&hat
245 hat_t *hat; local
394 hat_free_start(hat_t *hat) argument
414 hat_free_end(hat_t *hat) argument
952 reload_pae32(hat_t *hat, cpu_t *cpu) argument
985 hat_switch(hat_t *hat) argument
1132 hat_swapin(hat_t *hat) argument
1142 hat_swapout(hat_t *hat) argument
1213 hat_get_mapped_size(hat_t *hat) argument
1229 hat_stats_enable(hat_t *hat) argument
1236 hat_stats_disable(hat_t *hat) argument
1304 hat_t *hat = ht->ht_hat; local
1420 hati_load_common( hat_t *hat, uintptr_t va, page_t *pp, uint_t attr, uint_t flags, level_t level, pfn_t pfn) argument
1575 hat_memload( hat_t *hat, caddr_t addr, page_t *pp, uint_t attr, uint_t flags) argument
1617 hat_memload_region(struct hat *hat, caddr_t addr, struct page *pp, uint_t attr, uint_t flags, hat_region_cookie_t rcookie) argument
1627 hat_memload_array( hat_t *hat, caddr_t addr, size_t len, page_t **pages, uint_t attr, uint_t flags) argument
1724 hat_memload_array_region(struct hat *hat, caddr_t addr, size_t len, struct page **pps, uint_t attr, uint_t flags, hat_region_cookie_t rcookie) argument
1762 hat_devload( hat_t *hat, caddr_t addr, size_t len, pfn_t pfn, uint_t attr, int flags) argument
1871 hat_unlock(hat_t *hat, caddr_t addr, size_t len) argument
1911 hat_unlock_region(struct hat *hat, caddr_t addr, size_t len, hat_region_cookie_t rcookie) argument
1926 hat_t *hat = (hat_t *)a1; local
2037 hat_tlb_inval_range(hat_t *hat, uintptr_t va, size_t len) argument
2162 hat_tlb_inval(hat_t *hat, uintptr_t va) argument
2181 hat_t *hat = ht->ht_hat; local
2311 hat_unload(hat_t *hat, caddr_t addr, size_t len, uint_t flags) argument
2344 handle_ranges(hat_t *hat, hat_callback_t *cb, uint_t cnt, range_info_t *range) argument
2374 hat_unload_callback( hat_t *hat, caddr_t addr, size_t len, uint_t flags, hat_callback_t *cb) argument
2469 hat_flush_range(hat_t *hat, caddr_t va, size_t size) argument
2501 hat_sync(hat_t *hat, caddr_t addr, size_t len, uint_t flags) argument
2579 hat_map(hat_t *hat, caddr_t addr, size_t len, uint_t flags) argument
2591 hat_getattr(hat_t *hat, caddr_t addr, uint_t *attr) argument
2632 hat_updateattr(hat_t *hat, caddr_t addr, size_t len, uint_t attr, int what) argument
2735 hat_setattr(hat_t *hat, caddr_t addr, size_t len, uint_t attr) argument
2742 hat_clrattr(hat_t *hat, caddr_t addr, size_t len, uint_t attr) argument
2749 hat_chgattr(hat_t *hat, caddr_t addr, size_t len, uint_t attr) argument
2756 hat_chgprot(hat_t *hat, caddr_t addr, size_t len, uint_t vprot) argument
2768 hat_getpagesize(hat_t *hat, caddr_t addr) argument
2792 hat_getpfnum(hat_t *hat, caddr_t addr) argument
2846 hat_probe(hat_t *hat, caddr_t addr) argument
2880 is_it_dism(hat_t *hat, caddr_t va) argument
2906 hat_share( hat_t *hat, caddr_t addr, hat_t *ism_hat, caddr_t src_addr, size_t len, uint_t ismszc) argument
3102 hat_unshare(hat_t *hat, caddr_t addr, size_t len, uint_t ismszc) argument
3792 hat_softlock( hat_t *hat, caddr_t addr, size_t *len, struct page **page_array, uint_t flags) argument
3848 hat_setup(hat_t *hat, int flags) argument
4012 hat_enter(hat_t *hat) argument
4018 hat_exit(hat_t *hat) argument
4149 hat_join_srd(struct hat *hat, vnode_t *evp) argument
4155 hat_join_region(struct hat *hat, caddr_t r_saddr, size_t r_size, void *r_obj, u_offset_t r_objoff, uchar_t r_perm, uchar_t r_pgszc, hat_rgn_cb_func_t r_cb_function, uint_t flags) argument
4171 hat_leave_region(struct hat *hat, hat_region_cookie_t rcookie, uint_t flags) argument
4178 hat_dup_region(struct hat *hat, hat_region_cookie_t rcookie) argument
4341 hat_kpm_fault(hat_t *hat, caddr_t vaddr) argument
4455 hat_prepare_mapping(hat_t *hat, caddr_t addr, uint64_t *pte_ma) argument
4479 hat_release_mapping(hat_t *hat, caddr_t addr) argument
[all...]
/illumos-gate/usr/src/uts/sun4u/cpu/
H A Dus3_common_mmu.c47 * and feed back into those two hat variables at hat initialization time,
68 * hat's disable_large_pages and disable_ism_large_pages variables.
69 * Currently the hat's disable_large_pages and disable_ism_large_pages
113 * sfmmu_pgsz[0] and sfmmu_pgsz[1], since these hat variables are used in
246 * sorted from largest to smallest #pages per pagesize in use by the hat code,
256 mmu_fixup_large_pages(struct hat *hat, uint64_t *ttecnt, uint8_t *tmp_pgsz) argument
263 * Don't program 2nd dtlb for kernel and ism hat
265 ASSERT(hat
322 mmu_setup_page_sizes(struct hat *hat, uint64_t *ttecnt, uint8_t *tmp_pgsz) argument
413 mmu_set_ctx_page_sizes(struct hat *hat) argument
570 mmu_init_kernel_pgsz(struct hat *hat) argument
[all...]
H A Dmach_cpu_module.c306 mmu_init_kernel_pgsz(struct hat *hat) argument
/illumos-gate/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) argument
544 uintptr_t ptr = (uintptr_t)hat->hat_vlp_ptes;
566 struct hat *hatp;
567 struct hat hat; local
588 * read the hat and its hash table
590 if (mdb_vread(&hat, sizeof (hat), (uintptr_t)hatp) == -1) {
591 mdb_warn("Couldn't read struct hat\
720 struct hat hat; local
860 struct hat hat; local
979 struct hat hat; local
1020 hat_t *hat; local
[all...]
/illumos-gate/usr/src/uts/sfmmu/vm/
H A Dhat_kdi.c30 #include <vm/hat.h>
/illumos-gate/usr/src/uts/sparc/os/
H A Dddi_arch.c113 * If we had an MMU, this is where you'd program the MMU and hat layer.
146 struct hat *hat, struct seg *seg, caddr_t addr,
158 rdip, hat, seg, addr, dp, pfn, prot, lock));
145 i_ddi_map_fault(dev_info_t *dip, dev_info_t *rdip, struct hat *hat, struct seg *seg, caddr_t addr, struct devpage *dp, pfn_t pfn, uint_t prot, uint_t lock) argument
/illumos-gate/usr/src/uts/i86pc/os/
H A Dppage.c36 #include <vm/hat.h>
/illumos-gate/usr/src/cmd/make/lib/mksh/
H A Dglobals.cc103 Name hat; variable
/illumos-gate/usr/src/uts/common/os/
H A Dvm_subr.c69 #include <vm/hat.h>
355 struct hat *hat; local
386 hat = as->a_hat;
397 res = hat_softlock(hat, uaddr, &size, &ppp[0], cow ? HAT_COW : 0);
/illumos-gate/usr/src/uts/i86xpv/vm/
H A Dseg_mf.c50 #include <vm/hat.h>
221 segmf_faultpage(struct hat *hat, struct seg *seg, caddr_t addr, argument
257 hat_devload(hat, addr, MMU_PAGESIZE, (pfn_t)0,
275 hat_unload(hat, addr, MMU_PAGESIZE, hat_flags);
300 segmf_softunlock(struct hat *hat, struct seg *seg, caddr_t addr, size_t len) argument
304 hat_unlock(hat, addr, len);
326 segmf_fault_range(struct hat *hat, struc argument
362 segmf_fault(struct hat *hat, struct seg *seg, caddr_t addr, size_t len, enum fault_type type, enum seg_rw rw) argument
[all...]
/illumos-gate/usr/src/uts/sun4u/sys/
H A Dcpu_module.h104 * cpus with non-fully-associative dtlbs. Page size is stored in hat sfmmu_cext
258 void mmu_init_kernel_pgsz(struct hat *hat);
/illumos-gate/usr/src/uts/sun4v/vm/
H A Dmach_kpm.c27 * Kernel Physical Mapping (segkpm) hat interface routines for sun4v.
31 #include <vm/hat.h>
201 hat_kpm_fault(struct hat *hat, caddr_t vaddr) argument
/illumos-gate/usr/src/uts/intel/os/
H A Dddi_arch.c148 * If we had an MMU, this is where you'd program the MMU and hat layer.
273 struct hat *hat, struct seg *seg, caddr_t addr,
285 rdip, hat, seg, addr, dp, pfn, prot, lock));
272 i_ddi_map_fault(dev_info_t *dip, dev_info_t *rdip, struct hat *hat, struct seg *seg, caddr_t addr, struct devpage *dp, pfn_t pfn, uint_t prot, uint_t lock) argument
/illumos-gate/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,
741 if (hat == NULL) {
744 * a null hat i.e. use the first hat on the
745 * address space hat list which by convention is
746 * the hat of the system MMU. At alternative
750 hat
718 rootnex_map_fault(dev_info_t *dip, dev_info_t *rdip, struct hat *hat, struct seg *seg, caddr_t addr, struct devpage *dp, pfn_t pfn, uint_t prot, uint_t lock) argument
[all...]

Completed in 95 milliseconds

1234567