vm_pindex_t
#define atop(x) ((vm_pindex_t)((x) >> PAGE_SHIFT))
#define x86_64_btop(x) ((vm_pindex_t)((x) >> PAGE_SHIFT))
vm_pindex_t pindex;
vm_pindex_t pages;
struct page * shmem_read_mapping_page(vm_object_t, vm_pindex_t);
shmem_read_mapping_page(vm_object_t object, vm_pindex_t pindex)
exec_map_page(struct image_params *imgp, vm_pindex_t pageno,
vm_pindex_t npages;
vm_pindex_t pi, pmax;
vm_pindex_t pindex;
vm_pindex_t pg, int deficit);
vm_pindex_t poff;
vm_pindex_t pi;
vm_pindex_t pi;
bio_page_alloc(struct buf *bp, vm_object_t obj, vm_pindex_t pg, int deficit)
vm_pindex_t nobjsize;
vm_pindex_t oobjsize;
vm_pindex_t pi;
vm_pindex_t pidx;
pv_entry_compare, vm_pindex_t);
#define PM_NOPLACEMARK ((vm_pindex_t)-1)
#define PM_PLACEMARK_WAKEUP ((vm_pindex_t)0x8000000000000000LLU)
vm_pindex_t pm_placemarks[PM_PLACEMARKS];
vm_pindex_t pv_pindex; /* PTE, PT, PD, PDP, or PML4 */
#define NUPTE_TOTAL ((vm_pindex_t)NPTEPG * NUPT_TOTAL)
#define NUPTE_USER ((vm_pindex_t)NPTEPG * NPDEPG * NPDPEPG * NUPDP_USER)
pt_entry_t pmap_inval_smp(pmap_t pmap, vm_offset_t va, vm_pindex_t npgs,
vm_pindex_t initial_pvs;
vm_pindex_t i;
vm_pindex_t entry_max;
vm_pindex_t ipindex_start; \
vm_pindex_t ipindex_end; \
pmap_allocpte(pmap_t pmap, vm_pindex_t ptepindex, pv_entry_t *pvpp)
vm_pindex_t pindex;
vm_pindex_t ptepindex = pv->pv_pindex;
vm_pindex_t pml4_pindex;
vm_pindex_t pdp_index;
vm_pindex_t pdp_pindex;
vm_pindex_t pd_index;
vm_pindex_t pd_pindex;
vm_pindex_t pt_index;
_pv_alloc(pmap_t pmap, vm_pindex_t pindex, int *isnew PMAP_DEBUG_DECL)
static pv_entry_t _pv_alloc(pmap_t pmap, vm_pindex_t pindex, int *isnew
vm_pindex_t *pmark;
static pv_entry_t _pv_get(pmap_t pmap, vm_pindex_t pindex, vm_pindex_t **pmarkp
static pv_entry_t pv_get_try(pmap_t pmap, vm_pindex_t pindex,
vm_pindex_t **pmarkp, int *errorp);
static void *pv_pte_lookup(pv_entry_t pv, vm_pindex_t pindex);
static pv_entry_t pmap_allocpte(pmap_t pmap, vm_pindex_t ptepindex,
_pv_get(pmap_t pmap, vm_pindex_t pindex, vm_pindex_t **pmarkp PMAP_DEBUG_DECL)
vm_pindex_t *pmark;
vm_pindex_t *pte_placemark, pv_entry_t pt_pv,
vm_pindex_t *pte_placemark, pv_entry_t pt_pv,
pv_get_try(pmap_t pmap, vm_pindex_t pindex, vm_pindex_t **pmarkp, int *errorp)
vm_pindex_t *pmark;
static void pv_placemarker_wait(pmap_t pmap, vm_pindex_t *pmark);
static void pv_placemarker_wakeup(pmap_t pmap, vm_pindex_t *pmark);
pv_entry_compare, vm_pindex_t, pv_pindex);
vm_pindex_t sva_pd_pindex;
vm_pindex_t eva_pd_pindex;
vm_pindex_t *, pv_entry_t, vm_offset_t,
vm_pindex_t *pte_placemark;
vm_pindex_t *pt_placemark;
vm_pindex_t *pt_placemark;
vm_pindex_t pd_pindex;
vm_pindex_t *pte_placemark;
vm_pindex_t
vm_pindex_t *pte_placemark, pv_entry_t pt_pv,
vm_pindex_t
vm_pindex_t
vm_pindex_t
vm_pindex_t *pte_placemark,
vm_pindex_t
vm_pindex_t *pte_placemark;
vm_pindex_t
vm_pindex_t
vm_pindex_t pindex = atop(entry->ba.offset + (addr - entry->ba.start));
vm_pindex_t
vm_pindex_t rel_index;
vm_pindex_t
pv_cache(pmap_t pmap, pv_entry_t pv, vm_pindex_t pindex)
pv_entry_lookup(pmap_t pmap, vm_pindex_t pindex)
pmap_phys_address(vm_pindex_t ppn)
vm_pindex_t *
pmap_placemarker_hash(pmap_t pmap, vm_pindex_t pindex)
vm_pindex_t *pte_placemark,
pv_pte_lookup(pv_entry_t pv, vm_pindex_t pindex)
pv_placemarker_wait(pmap_t pmap, vm_pindex_t *pmark)
vm_pindex_t mark;
pv_placemarker_wakeup(pmap_t pmap, vm_pindex_t *pmark)
vm_pindex_t pindex;
vm_pindex_t pd_pindex;
pmap_inval_smp(pmap_t pmap, vm_offset_t va, vm_pindex_t npgs,
vm_pindex_t n;
vm_pindex_t npgs;
vm_pindex_t npgs;
vm_pindex_t npgs;
vm_pindex_t pm_pdindex; /* page dir page in obj */
vm_pindex_t ptepindex;
_pmap_allocpte(pmap_t pmap, vm_pindex_t ptepindex)
vm_pindex_t pindex;
vm_pindex_t ptepindex;
static vm_pindex_t pv_entry_count = 0;
static vm_pindex_t pv_entry_max = 0;
static vm_pindex_t pv_entry_high_water = 0;
static vm_page_t _pmap_allocpte (pmap_t pmap, vm_pindex_t ptepindex);
static vm_page_t pmap_page_lookup (vm_object_t object, vm_pindex_t pindex);
static __inline vm_pindex_t
static __inline vm_pindex_t
static __inline vm_pindex_t
static __inline vm_pindex_t
static __inline vm_pindex_t
vm_pindex_t pindex = atop(entry->ba.offset + (addr - entry->ba.start));
vm_pindex_t rel_index;
pmap_phys_address(vm_pindex_t ppn)
vm_pindex_t i;
vm_pindex_t initial_pvs;
vm_pindex_t shpgperproc = PMAP_SHPGPERPROC;
pmap_page_lookup(vm_object_t object, vm_pindex_t pindex)
int exec_map_page(struct image_params *, vm_pindex_t, struct lwbuf **,
vm_pindex_t osize;
vm_pindex_t nsize;
vm_pindex_t pages = 0;
vm_pindex_t newpages, oldpages;
vm_pindex_t pages;
vm_pindex_t pages_limit;
vm_pindex_t pindex;
default_pager_getpage(vm_object_t object, vm_pindex_t pindex,
default_pager_haspage(vm_object_t object, vm_pindex_t pindex)
vm_pindex_t pindex;
dev_pager_getpage(vm_object_t object, vm_pindex_t pindex,
dev_pager_haspage(vm_object_t object, vm_pindex_t pindex)
phys_pager_haspage(vm_object_t object, vm_pindex_t pindex)
phys_pager_getpage(vm_object_t object, vm_pindex_t pindex,
vm_pindex_t limit;
vm_pindex_t busycount;
vm_pindex_t cleancount;
vm_pindex_t actioncount;
vm_paddr_t pmap_phys_address (vm_pindex_t);
start = (vm_pindex_t)(bio->bio_offset >> PAGE_SHIFT);
swap_pager_getpage(vm_object_t object, vm_pindex_t pindex,
vm_pindex_t basei;
vm_pindex_t begi;
vm_pindex_t endi; /* inclusive */
swp_pager_fault_page(vm_object_t object, int *sharedp, vm_pindex_t pindex)
vm_pindex_t, swb_index);
vm_pindex_t index;
swp_pager_lookup(vm_object_t object, vm_pindex_t index)
index &= ~(vm_pindex_t)SWAP_META_MASK;
swp_pager_meta_build(vm_object_t object, vm_pindex_t index, swblk_t swapblk)
vm_pindex_t v;
swap->swb_index = index & ~(vm_pindex_t)SWAP_META_MASK;
swp_pager_meta_free(vm_object_t object, vm_pindex_t index, vm_pindex_t count)
info.basei = index & ~(vm_pindex_t)SWAP_META_MASK;
swp_pager_meta_ctl(vm_object_t object, vm_pindex_t index, int flags)
static int swap_pager_getpage (vm_object_t, vm_pindex_t, vm_page_t *, int);
static void swp_pager_meta_build(vm_object_t, vm_pindex_t, swblk_t);
static void swp_pager_meta_free(vm_object_t, vm_pindex_t, vm_pindex_t);
static swblk_t swp_pager_meta_ctl(vm_object_t, vm_pindex_t, int);
swap_pager_freespace(vm_object_t object, vm_pindex_t start, vm_pindex_t size)
swap_pager_condfree(vm_object_t object, vm_pindex_t *basei, int count)
swap_pager_reserve(vm_object_t object, vm_pindex_t start, vm_size_t size)
vm_pindex_t beg = start; /* save start index */
vm_pindex_t base_index, int destroysource)
vm_pindex_t i;
swap_pager_haspage(vm_object_t object, vm_pindex_t pindex)
swap_pager_haspage_locked(vm_object_t object, vm_pindex_t pindex)
vm_pindex_t start;
vm_pindex_t biox_blkno = 0;
boolean_t swap_pager_haspage (vm_object_t object, vm_pindex_t pindex);
boolean_t swap_pager_haspage_locked (vm_object_t object, vm_pindex_t pindex);
void swap_pager_copy (vm_object_t, vm_object_t, vm_pindex_t, int);
void swap_pager_freespace (vm_object_t, vm_pindex_t, vm_pindex_t);
int swap_pager_condfree(vm_object_t, vm_pindex_t *, int);
int swap_pager_reserve (vm_object_t, vm_pindex_t, vm_size_t);
vm_pindex_t swb_index;
static void vm_contig_pg_free(vm_pindex_t start, u_long size);
vm_contig_pg_clean(int queue, vm_pindex_t count)
static vm_pindex_t
vm_pindex_t i, q, start;
return ((vm_pindex_t)-1);
vm_contig_pg_free(vm_pindex_t start, u_long size)
vm_contig_pg_kmap(vm_pindex_t start, u_long size, vm_map_t map, int flags)
vm_pindex_t index;
if (index == (vm_pindex_t)-1) {
vm_pindex_t first_pindex;
vm_pindex_t first_count;
vm_pindex_t first_pindex;
vm_pindex_t first_count;
vm_fault_vpagetable(struct faultstate *fs, vm_pindex_t *pindex,
vm_fault_object(struct faultstate *fs, vm_pindex_t first_pindex,
vm_pindex_t pindex;
static int vm_fault_bypass(struct faultstate *fs, vm_pindex_t first_pindex,
vm_pindex_t first_count, int *mextcountp,
static int vm_fault_object(struct faultstate *, vm_pindex_t, vm_prot_t, int);
static int vm_fault_vpagetable(struct faultstate *, vm_pindex_t *,
vm_pindex_t pindex;
vm_pindex_t index;
vm_pindex_t pindex;
vm_pindex_t pindex;
vm_pindex_t first_pindex;
vm_pindex_t first_count;
vm_pindex_t limit;
vm_pindex_t size;
vm_fault_bypass(struct faultstate *fs, vm_pindex_t first_pindex,
vm_pindex_t first_count, int *mextcountp,
vm_pindex_t npages;
vm_pindex_t pindex;
vm_pindex_t delta;
vm_pindex_t offidxstart, offidxend, count;
vm_pindex_t *pindex, /* OUT */
vm_pindex_t *pcount, /* OUT */
vm_pindex_t *, vm_pindex_t *, vm_prot_t *, int *);
vm_pindex_t pindex;
vm_pindex_t pi;
vm_object_madvise(vm_object_t object, vm_pindex_t pindex,
vm_pindex_t count, int advise)
vm_pindex_t end;
vm_object_page_remove(vm_object_t object, vm_pindex_t start, vm_pindex_t end,
if (end == 0 || end == (vm_pindex_t)-1) {
info.end_pindex = (vm_pindex_t)-1;
vm_pindex_t sba, eba;
vm_object_coalesce(vm_object_t prev_object, vm_pindex_t prev_pindex,
vm_pindex_t next_pindex;
vm_pindex_t idx, fidx;
vm_pindex_t osize;
_vm_object_allocate(objtype_t type, vm_pindex_t size, vm_object_t object,
vm_object_init(vm_object_t object, vm_pindex_t size)
vm_object_allocate(objtype_t type, vm_pindex_t size)
vm_object_allocate_hold(objtype_t type, vm_pindex_t size)
vm_object_page_clean(vm_object_t object, vm_pindex_t start, vm_pindex_t end,
vm_pindex_t);
vm_pindex_t size; /* Object size */
#define OFF_TO_IDX(off) ((vm_pindex_t)(((vm_ooffset_t)(off)) >> PAGE_SHIFT))
vm_object_t vm_object_allocate (objtype_t, vm_pindex_t);
vm_object_t vm_object_allocate_hold (objtype_t, vm_pindex_t);
void _vm_object_allocate (objtype_t, vm_pindex_t, vm_object_t, const char *);
boolean_t vm_object_coalesce (vm_object_t, vm_pindex_t, vm_size_t, vm_size_t);
void vm_object_init(vm_object_t, vm_pindex_t);
void vm_object_page_clean (vm_object_t, vm_pindex_t, vm_pindex_t, int);
void vm_object_page_remove (vm_object_t, vm_pindex_t, vm_pindex_t, boolean_t);
void vm_object_pmap_copy (vm_object_t, vm_pindex_t, vm_pindex_t);
void vm_object_madvise (vm_object_t, vm_pindex_t, vm_pindex_t, int);
vm_pindex_t pindex; /* heuristical */
vm_get_pg_color(int cpuid, vm_object_t object, vm_pindex_t pindex)
vm_page_insert(vm_page_t m, vm_object_t object, vm_pindex_t pindex)
vm_page_hash_hash(vm_object_t object, vm_pindex_t pindex)
vm_page_hash_get(vm_object_t object, vm_pindex_t pindex)
vm_pindex_t pindex;
vm_pindex_t, pindex);
vm_page_lookup(vm_object_t object, vm_pindex_t pindex)
vm_pindex_t pindex,
vm_pindex_t pindex,
vm_page_lookup_sbusy_try(struct vm_object *object, vm_pindex_t pindex,
vm_page_rename(vm_page_t m, vm_object_t new_object, vm_pindex_t new_pindex)
vm_pindex_t first_page = 0;
vm_pindex_t vm_page_array_size = 0;
vm_page_alloc(vm_object_t object, vm_pindex_t pindex, int page_req)
vm_pindex_t i;
static vm_pindex_t contig_rover;
vm_pindex_t start = pa >> PAGE_SHIFT;
vm_pindex_t pages = (size + PAGE_MASK) >> PAGE_SHIFT;
vm_pindex_t npages;
vm_page_alloczwq(vm_pindex_t pindex, int flags)
vm_page_grab(vm_object_t object, vm_pindex_t pindex, int flags)
rb_vm_page_compare, vm_pindex_t);
vm_pindex_t pindex; /* offset into object */
vm_pindex_t start_pindex;
vm_pindex_t end_pindex;
extern vm_pindex_t vm_page_array_size; /* number of vm_page_t's */
extern vm_pindex_t first_page; /* first physical page number */
vm_page_t vm_page_alloc (struct vm_object *, vm_pindex_t, int);
vm_page_t vm_page_alloczwq (vm_pindex_t, int);
vm_page_t vm_page_grab (struct vm_object *, vm_pindex_t, int);
int vm_page_insert (vm_page_t, struct vm_object *, vm_pindex_t);
vm_page_t vm_page_hash_get(vm_object_t object, vm_pindex_t pindex);
vm_page_t vm_page_lookup (struct vm_object *, vm_pindex_t);
vm_pindex_t pindex, int pgoff, int pgbytes);
struct vm_object *, vm_pindex_t, int, const char *
struct vm_object *, vm_pindex_t, int, int *
void vm_page_rename (vm_page_t, struct vm_object *, vm_pindex_t);
u_short vm_get_pg_color(int cpuid, vm_object_t object, vm_pindex_t pindex);
vm_pindex_t limit, size;
vm_pindex_t pindex = m->pindex;
vm_pageout_map_deactivate_pages(vm_map_t map, vm_pindex_t limit)
void vm_pageout_map_deactivate_pages(struct vm_map *map, vm_pindex_t limit);
dead_pager_getpage(vm_object_t obj, vm_pindex_t pindex,
dead_pager_haspage(vm_object_t object, vm_pindex_t pindex)
vm_pindex_t pg;
static __inline int vm_pager_get_page (vm_object_t, vm_pindex_t,
static __inline boolean_t vm_pager_has_page (vm_object_t, vm_pindex_t);
vm_pager_get_page(vm_object_t object, vm_pindex_t pindex,
vm_pager_has_page(vm_object_t object, vm_pindex_t offset)
typedef int pgo_getpage_t(vm_object_t, vm_pindex_t, vm_page_t *, int);
typedef boolean_t pgo_haspage_t(vm_object_t, vm_pindex_t);
vm_pindex_t basei;
static vm_pindex_t zone_kmem_pages, zone_kern_pages;
vm_pindex_t i;
vm_pindex_t npages;
vm_pindex_t nalloc;
vm_pindex_t i;
vm_pindex_t zpagecount; /* Total # of allocated pages */
vm_pindex_t zpagemax; /* Max address space */
vm_pindex_t lsize;
vnode_pager_haspage(vm_object_t object, vm_pindex_t pindex)
vm_pindex_t nobjsize;
vm_pindex_t oobjsize;
vnode_pager_getpage(vm_object_t object, vm_pindex_t pindex,