vm_page
fp = kmalloc(page_count * sizeof(struct vm_page), M_DRM,
struct vm_page *p = (struct vm_page *)page;
struct vm_page *p = (struct vm_page *)page;
pmap_page_set_memattr((struct vm_page *)pages[i], VM_MEMATTR_UNCACHEABLE);
pmap_page_set_memattr((struct vm_page *)pages[i], VM_MEMATTR_WRITE_BACK);
pmap_page_set_memattr((struct vm_page *)pages[i], VM_MEMATTR_WRITE_COMBINING);
struct vm_page *p = (struct vm_page *)page;
struct vm_page *p = (struct vm_page *)page;
return VM_PAGE_TO_PHYS((struct vm_page *)page) + offset;
struct vm_page *scratch_page;
return VM_PAGE_TO_PHYS((struct vm_page *)page) + offset;
return VM_PAGE_TO_PHYS((struct vm_page *)page) + offset;
vm_page_free_contig((struct vm_page *)pgs, bytes);
struct vm_page *pgs;
return (void *)PHYS_TO_DMAP(VM_PAGE_TO_PHYS( (struct vm_page *)pg ));
return (void *)PHYS_TO_DMAP(VM_PAGE_TO_PHYS( (struct vm_page *)pg ));
vm_page_dirty((struct vm_page *)page);
get_page(struct vm_page *page)
vm_page_busy_wait((struct vm_page *)page, FALSE, "i915gem");
vm_page_unwire((struct vm_page *)page, 1);
vm_page_wakeup((struct vm_page *)page);
return (void *)VM_PAGE_TO_PHYS((const struct vm_page *)page);
struct vm_page pa_vmpage;
return ((struct vm_page *)sg_page(sg))->phys_addr + sg->offset;
vm_page_flag_set((struct vm_page *)m, PG_REFERENCED);
pmap_qenter(off, (struct vm_page **)pages, count);
m = (struct vm_page *)ttm->pages[OFF_TO_IDX(offset)];
struct vm_page *p, *p1;
TAILQ_REMOVE(&pool->list, (struct vm_page *)pages_to_free[i], pageq);
TAILQ_REMOVE(&pool->list, (struct vm_page *)pages_to_free[i], pageq);
TAILQ_REMOVE(pages, (struct vm_page *)failed_pages[i], pageq);
TAILQ_INSERT_HEAD(pages, (struct vm_page *)p, pageq);
struct vm_page *page;
page = (struct vm_page *)pages[i];
struct vm_page *p = NULL;
p = (struct vm_page *)alloc_page(gfp_flags);
pmap_page_set_memattr((struct vm_page *)p, VM_MEMATTR_WRITE_COMBINING);
if (((struct vm_page *)from_page)->valid != VM_PAGE_BITS_ALL) {
(struct vm_page **)&from_page, 1) != VM_PAGER_OK) {
vm_page_free((struct vm_page *)from_page);
vm_page_zero_invalid((struct vm_page *)from_page, TRUE);
vm_page_wakeup((struct vm_page *)from_page);
pmap_copy_page(VM_PAGE_TO_PHYS((struct vm_page *)from_page),
VM_PAGE_TO_PHYS((struct vm_page *)to_page));
vm_page_wakeup((struct vm_page *)from_page);
from_page = (struct vm_page *)ttm->pages[i];
struct vm_page *pg;
struct vm_page *pg;
TAILQ_HEAD(,vm_page) vtballoon_pages;
TAILQ_HEAD(, vm_page) free_pages;
sf_buf_alloc(struct vm_page *m)
xio_init_pages(xio_t xio, struct vm_page **mbase, int npages, int xflags)
struct vm_page *pg;
struct vm_page **pglist, int *rtvals, int pgcount,
m = kmalloc(sizeof(struct vm_page), M_FICT_PAGES, M_WAITOK | M_ZERO);
struct vm_page;
struct vm_page *pv_m; /* page being mapped */
typedef struct vm_page *vm_page_t;
struct vm_page *pmap_use_pt (pmap_t, vm_offset_t);
pmap_page_init(struct vm_page *m)
nkpt_phys = howmany(Maxmem * sizeof(struct vm_page), NBPDR);
struct vm_page;
struct vm_page *pm_pdirm; /* VM page for pg directory */
struct vm_page *pm_ptphint; /* pmap ptp hint */
struct vm_page *pv_ptem; /* VM page for pte */
typedef struct vm_page *vm_page_t;
struct vm_page *pmap_use_pt (pmap_t, vm_offset_t);
static int pmap_release_callback(struct vm_page *p, void *data);
pmap_release_callback(struct vm_page *p, void *data)
nkpt = (Maxmem * (sizeof(struct vm_page) * 2) + MSGBUF_SIZE) / NBPDR;
pmap_page_init(struct vm_page *m)
struct cdev *dev, struct vm_page *fake);
struct vm_page;
struct vm_page;
struct vm_page **pglist, int *rtvals, int pgcount,
struct sf_buf *sf_buf_alloc(struct vm_page *);
struct vm_page;
int uiomove_fromphys(struct vm_page *ma[], vm_offset_t offset,
struct vm_page **a_m;
struct vm_page **a_m;
int vop_getpages(struct vop_ops *ops, struct vnode *vp, struct vm_page **m,
int vop_putpages(struct vop_ops *ops, struct vnode *vp, struct vm_page **m,
struct vm_page;
struct vm_page;
struct vm_page **xio_pages;
struct vm_page *xio_internal_pages[XIO_INTERNAL_PAGES];
int xio_init_pages(xio_t xio, struct vm_page **mbase, int npages, int xflags);
static TAILQ_HEAD(, vm_page) dev_freepages_list =
struct vm_page *);
void pmap_clear_modify (struct vm_page *m);
void pmap_clear_reference (struct vm_page *m);
void pmap_enter (pmap_t, vm_offset_t, struct vm_page *,
boolean_t pmap_is_modified (struct vm_page *m);
int pmap_ts_referenced (struct vm_page *m);
void pmap_page_protect (struct vm_page *m, vm_prot_t prot);
void pmap_page_init (struct vm_page *m);
void pmap_qenter (vm_offset_t, struct vm_page **, int);
void pmap_qenter_noinval (vm_offset_t, struct vm_page **, int);
struct vm_page *pmap_kvtom(vm_offset_t va);
struct vm_page;
void swap_pager_putpages (vm_object_t, struct vm_page **, int, int, int *);
void swap_pager_page_removed (struct vm_page *, vm_object_t);
struct vm_page;
typedef struct vm_page *vm_page_t;
struct vm_page marker;
struct vm_page fakem;
struct vm_page fakem;
vm_object_page_clean_pass1(struct vm_page *p, void *data)
vm_object_page_clean_pass2(struct vm_page *p, void *data)
static int vm_object_page_clean_pass1(struct vm_page *p, void *data);
static int vm_object_page_clean_pass2(struct vm_page *p, void *data);
TAILQ_HEAD(, vm_page) devp_pglist;
RB_GENERATE2(vm_page_rb_tree, vm_page, rb_entry, rb_vm_page_compare,
npages = (total - (page_range * sizeof(struct vm_page))) / PAGE_SIZE;
new_end = trunc_page(end - page_range * sizeof(struct vm_page));
bzero((caddr_t) vm_page_array, page_range * sizeof(struct vm_page));
rb_vm_page_scancmp(struct vm_page *p, void *data)
rb_vm_page_compare(struct vm_page *p1, struct vm_page *p2)
TAILQ_HEAD(pglist, vm_page);
int rb_vm_page_compare(struct vm_page *, struct vm_page *);
RB_PROTOTYPE2(vm_page_rb_tree, vm_page, rb_entry,
RB_HEAD(vm_page_rb_tree, vm_page);
TAILQ_ENTRY(vm_page) pageq; /* vm_page_queues[] list */
RB_ENTRY(vm_page) rb_entry; /* Red-Black tree based at object */
typedef struct vm_page *vm_page_t;
struct vm_page *mpte;
int rb_vm_page_scancmp(struct vm_page *, void *);
extern struct vm_page *vm_page_array; /* First resident page in table */
struct vm_page hold;
struct vm_page stat;
struct vm_page pact;
struct vm_page *marker,
vm_pageout_scan_hold(int q, struct vm_page *marker)
vm_pageout_page_stats(int q, struct vm_page *marker, long *counterp)
struct vm_page marker;
struct vm_page marker;
static struct vm_page page_marker[PQ_L2_SIZE];
dump_memq(kvm_t *kd, struct vm_page *pgp)
struct vm_page pg;
static void dump_memq(kvm_t *kd, struct vm_page *pgp);
struct vm_page m;
struct vm_page scan;
static struct vm_page vpcache[1024];
struct vm_page *vm_page_array_ptr;
struct vm_page m;
vm_page_array_size * sizeof(struct vm_page) / 1048576.0);
struct vm_page scan;
static struct vm_page vpcache[1024];
struct vm_page **vm_page_buckets;
struct vm_page *vm_page_array;
struct vm_page m;
vm_page_array_size * sizeof(struct vm_page) / 1048576.0);
struct vm_page scan;
static struct vm_page vpcache[VPCACHE_SIZE];
struct vm_page **vm_page_buckets;
struct vm_page *vm_page_array;