Lines Matching defs:pagev

3581 	prpagev_t *pagev = kmem_alloc(sizeof (prpagev_t), KM_SLEEP);
3589 pagev->pg_npages = MIN(total_pages, pagev_lim);
3590 pagev->pg_pnbase = 0;
3592 pagev->pg_protv =
3593 kmem_alloc(pagev->pg_npages * sizeof (uint_t), KM_SLEEP);
3596 pagev->pg_incore =
3597 kmem_alloc(pagev->pg_npages * sizeof (char), KM_SLEEP);
3599 pagev->pg_incore = NULL;
3601 return (pagev);
3605 pr_pagev_destroy(prpagev_t *pagev)
3607 if (pagev->pg_incore != NULL)
3608 kmem_free(pagev->pg_incore, pagev->pg_npages * sizeof (char));
3610 kmem_free(pagev->pg_protv, pagev->pg_npages * sizeof (uint_t));
3611 kmem_free(pagev, sizeof (prpagev_t));
3615 pr_pagev_fill(prpagev_t *pagev, struct seg *seg, caddr_t addr, caddr_t eaddr)
3629 pagev->pg_pnbase = seg_page(seg, addr);
3630 pnlim = pagev->pg_pnbase + pagev->pg_npages;
3636 len = pagev->pg_npages * PAGESIZE;
3638 if (pagev->pg_incore != NULL) {
3643 SEGOP_INCORE(seg, addr, len, pagev->pg_incore);
3644 pn = pagev->pg_pnbase;
3653 if (pagev->pg_incore[pn++ - pagev->pg_pnbase])
3671 SEGOP_GETPROT(seg, saddr, len - 1, pagev->pg_protv);
3676 pr_pagev_nextprot(prpagev_t *pagev, struct seg *seg,
3681 * address from the start of the pagev. If the latter is greater,
3685 caddr_t base = seg->s_base + pagev->pg_pnbase * PAGESIZE;
3694 if (pagev->pg_incore != NULL) {
3695 while (pagev->pg_incore[pn - pagev->pg_pnbase] == 0) {
3701 if (++pn == pagev->pg_pnbase + pagev->pg_npages) {
3702 addr = pr_pagev_fill(pagev, seg, addr, eaddr);
3717 ASSERT(pn >= pagev->pg_pnbase);
3718 ASSERT(pn < (pagev->pg_pnbase + pagev->pg_npages));
3720 prot = pagev->pg_protv[pn - pagev->pg_pnbase];
3736 if (++pn == pagev->pg_pnbase + pagev->pg_npages) {
3737 caddr_t naddr = pr_pagev_fill(pagev, seg, addr, eaddr);
3748 if (pagev->pg_incore != NULL &&
3749 pagev->pg_incore[pn - pagev->pg_pnbase] == 0)
3756 nprot = pagev->pg_protv[pn - pagev->pg_pnbase];
3892 prpagev_t *pagev;
3902 pagev = pr_pagev_create(seg, check_noreserve);
3903 saddr = pr_pagev_fill(pagev, seg, saddr, eaddr);
3906 *tmp = pagev;
3919 pagev = (prpagev_t *)*tmp;
3922 naddr = pr_pagev_nextprot(pagev, seg, saddrp, eaddr, &prot);