Lines Matching refs:newas
784 struct as *newas; in as_dup() local
791 newas = as_alloc(); in as_dup()
792 newas->a_userlimit = as->a_userlimit; in as_dup()
793 newas->a_proc = forkedproc; in as_dup()
795 AS_LOCK_ENTER(newas, RW_WRITER); in as_dup()
801 mutex_enter(&newas->a_contents); in as_dup()
802 AS_SETBUSY(newas); in as_dup()
803 mutex_exit(&newas->a_contents); in as_dup()
805 (void) hat_dup(as->a_hat, newas->a_hat, NULL, 0, HAT_DUP_SRD); in as_dup()
814 newseg = seg_alloc(newas, seg->s_base, seg->s_size); in as_dup()
816 AS_LOCK_EXIT(newas); in as_dup()
822 as_free(newas); in as_dup()
837 AS_LOCK_EXIT(newas); in as_dup()
838 as_free(newas); in as_dup()
841 newas->a_size += seg->s_size; in as_dup()
843 newas->a_resvsize = as->a_resvsize - purgesize; in as_dup()
845 error = hat_dup(as->a_hat, newas->a_hat, NULL, 0, HAT_DUP_ALL); in as_dup()
847 error |= xhat_dup_all(as, newas, NULL, 0, HAT_DUP_ALL); in as_dup()
849 mutex_enter(&newas->a_contents); in as_dup()
850 AS_CLRBUSY(newas); in as_dup()
851 mutex_exit(&newas->a_contents); in as_dup()
852 AS_LOCK_EXIT(newas); in as_dup()
860 as_free(newas); in as_dup()
863 forkedproc->p_as = newas; in as_dup()