Lines Matching defs:pagev

3579 	prpagev_t *pagev = kmem_alloc(sizeof (prpagev_t), KM_SLEEP);
3587 pagev->pg_npages = MIN(total_pages, pagev_lim);
3588 pagev->pg_pnbase = 0;
3590 pagev->pg_protv =
3591 kmem_alloc(pagev->pg_npages * sizeof (uint_t), KM_SLEEP);
3594 pagev->pg_incore =
3595 kmem_alloc(pagev->pg_npages * sizeof (char), KM_SLEEP);
3597 pagev->pg_incore = NULL;
3599 return (pagev);
3603 pr_pagev_destroy(prpagev_t *pagev)
3605 if (pagev->pg_incore != NULL)
3606 kmem_free(pagev->pg_incore, pagev->pg_npages * sizeof (char));
3608 kmem_free(pagev->pg_protv, pagev->pg_npages * sizeof (uint_t));
3609 kmem_free(pagev, sizeof (prpagev_t));
3613 pr_pagev_fill(prpagev_t *pagev, struct seg *seg, caddr_t addr, caddr_t eaddr)
3627 pagev->pg_pnbase = seg_page(seg, addr);
3628 pnlim = pagev->pg_pnbase + pagev->pg_npages;
3634 len = pagev->pg_npages * PAGESIZE;
3636 if (pagev->pg_incore != NULL) {
3641 SEGOP_INCORE(seg, addr, len, pagev->pg_incore);
3642 pn = pagev->pg_pnbase;
3651 if (pagev->pg_incore[pn++ - pagev->pg_pnbase])
3669 SEGOP_GETPROT(seg, saddr, len - 1, pagev->pg_protv);
3674 pr_pagev_nextprot(prpagev_t *pagev, struct seg *seg,
3679 * address from the start of the pagev. If the latter is greater,
3683 caddr_t base = seg->s_base + pagev->pg_pnbase * PAGESIZE;
3692 if (pagev->pg_incore != NULL) {
3693 while (pagev->pg_incore[pn - pagev->pg_pnbase] == 0) {
3699 if (++pn == pagev->pg_pnbase + pagev->pg_npages) {
3700 addr = pr_pagev_fill(pagev, seg, addr, eaddr);
3715 ASSERT(pn >= pagev->pg_pnbase);
3716 ASSERT(pn < (pagev->pg_pnbase + pagev->pg_npages));
3718 prot = pagev->pg_protv[pn - pagev->pg_pnbase];
3734 if (++pn == pagev->pg_pnbase + pagev->pg_npages) {
3735 caddr_t naddr = pr_pagev_fill(pagev, seg, addr, eaddr);
3746 if (pagev->pg_incore != NULL &&
3747 pagev->pg_incore[pn - pagev->pg_pnbase] == 0)
3754 nprot = pagev->pg_protv[pn - pagev->pg_pnbase];
3890 prpagev_t *pagev;
3900 pagev = pr_pagev_create(seg, check_noreserve);
3901 saddr = pr_pagev_fill(pagev, seg, saddr, eaddr);
3904 *tmp = pagev;
3917 pagev = (prpagev_t *)*tmp;
3920 naddr = pr_pagev_nextprot(pagev, seg, saddrp, eaddr, &prot);