Lines Matching refs:pwp

3305 	struct watched_page *pwp;  in pr_free_watched_pages()  local
3316 pwp = avl_first(&as->a_wpage); in pr_free_watched_pages()
3319 while ((pwp = avl_destroy_nodes(&as->a_wpage, &cookie)) != NULL) { in pr_free_watched_pages()
3321 if ((prot = pwp->wp_oprot) != 0) { in pr_free_watched_pages()
3322 caddr_t addr = pwp->wp_vaddr; in pr_free_watched_pages()
3326 if ((pwp->wp_prot != prot || in pr_free_watched_pages()
3327 (pwp->wp_flags & WP_NOWATCH)) && in pr_free_watched_pages()
3337 kmem_free(pwp, sizeof (struct watched_page)); in pr_free_watched_pages()
3357 struct watched_page *pwp, *newpwp; in set_watched_page() local
3372 pwp = kmem_zalloc(sizeof (struct watched_page), KM_SLEEP); in set_watched_page()
3373 pwp->wp_list = newpwp; in set_watched_page()
3374 newpwp = pwp; in set_watched_page()
3394 pwp = newpwp->wp_list; in set_watched_page()
3396 newpwp = pwp; in set_watched_page()
3402 if ((pwp = avl_find(pwp_tree, &tpw, &where)) == NULL) { in set_watched_page()
3403 pwp = newpwp; in set_watched_page()
3405 pwp->wp_list = NULL; in set_watched_page()
3406 pwp->wp_vaddr = (caddr_t)((uintptr_t)vaddr & in set_watched_page()
3408 avl_insert(pwp_tree, pwp, where); in set_watched_page()
3411 ASSERT(vaddr >= pwp->wp_vaddr && vaddr < pwp->wp_vaddr + PAGESIZE); in set_watched_page()
3414 pwp->wp_read--; in set_watched_page()
3416 pwp->wp_write--; in set_watched_page()
3418 pwp->wp_exec--; in set_watched_page()
3420 ASSERT(pwp->wp_read >= 0); in set_watched_page()
3421 ASSERT(pwp->wp_write >= 0); in set_watched_page()
3422 ASSERT(pwp->wp_exec >= 0); in set_watched_page()
3425 pwp->wp_read++; in set_watched_page()
3427 pwp->wp_write++; in set_watched_page()
3429 pwp->wp_exec++; in set_watched_page()
3432 vaddr = pwp->wp_vaddr; in set_watched_page()
3433 if (pwp->wp_oprot == 0 && in set_watched_page()
3436 pwp->wp_oprot = (uchar_t)prot; in set_watched_page()
3437 pwp->wp_prot = (uchar_t)prot; in set_watched_page()
3439 if (pwp->wp_oprot != 0) { in set_watched_page()
3440 prot = pwp->wp_oprot; in set_watched_page()
3441 if (pwp->wp_read) in set_watched_page()
3443 if (pwp->wp_write) in set_watched_page()
3445 if (pwp->wp_exec) in set_watched_page()
3447 if (!(pwp->wp_flags & WP_NOWATCH) && in set_watched_page()
3448 pwp->wp_prot != prot && in set_watched_page()
3449 (pwp->wp_flags & WP_SETPROT) == 0) { in set_watched_page()
3450 pwp->wp_flags |= WP_SETPROT; in set_watched_page()
3451 pwp->wp_list = p->p_wprot; in set_watched_page()
3452 p->p_wprot = pwp; in set_watched_page()
3454 pwp->wp_prot = (uchar_t)prot; in set_watched_page()
3462 if ((vaddr = pwp->wp_vaddr + PAGESIZE) < eaddr) in set_watched_page()
3471 pwp = newpwp->wp_list; in set_watched_page()
3473 newpwp = pwp; in set_watched_page()
3487 struct watched_page *pwp; in clear_watched_page() local
3501 pwp = avl_find(tree, &tpw, &where); in clear_watched_page()
3502 if (pwp == NULL) in clear_watched_page()
3503 pwp = avl_nearest(tree, where, AVL_AFTER); in clear_watched_page()
3505 while (pwp != NULL && pwp->wp_vaddr < eaddr) { in clear_watched_page()
3506 ASSERT(vaddr <= pwp->wp_vaddr); in clear_watched_page()
3509 pwp->wp_read--; in clear_watched_page()
3511 pwp->wp_write--; in clear_watched_page()
3513 pwp->wp_exec--; in clear_watched_page()
3515 if (pwp->wp_read + pwp->wp_write + pwp->wp_exec != 0) { in clear_watched_page()
3519 if (pwp->wp_oprot != 0) { in clear_watched_page()
3520 uint_t prot = pwp->wp_oprot; in clear_watched_page()
3522 if (pwp->wp_read) in clear_watched_page()
3525 if (pwp->wp_write) in clear_watched_page()
3527 if (pwp->wp_exec) in clear_watched_page()
3530 if (!(pwp->wp_flags & WP_NOWATCH) && in clear_watched_page()
3531 pwp->wp_prot != prot && in clear_watched_page()
3532 (pwp->wp_flags & WP_SETPROT) == 0) { in clear_watched_page()
3533 pwp->wp_flags |= WP_SETPROT; in clear_watched_page()
3534 pwp->wp_list = p->p_wprot; in clear_watched_page()
3535 p->p_wprot = pwp; in clear_watched_page()
3537 pwp->wp_prot = (uchar_t)prot; in clear_watched_page()
3544 if (pwp->wp_oprot != 0) { in clear_watched_page()
3545 pwp->wp_prot = pwp->wp_oprot; in clear_watched_page()
3546 if ((pwp->wp_flags & WP_SETPROT) == 0) { in clear_watched_page()
3547 pwp->wp_flags |= WP_SETPROT; in clear_watched_page()
3548 pwp->wp_list = p->p_wprot; in clear_watched_page()
3549 p->p_wprot = pwp; in clear_watched_page()
3554 pwp = AVL_NEXT(tree, pwp); in clear_watched_page()
3566 struct watched_page *pwp; in getwatchprot() local
3572 if ((pwp = avl_find(&as->a_wpage, &tpw, NULL)) != NULL) in getwatchprot()
3573 *prot = pwp->wp_oprot; in getwatchprot()