pmap->pm_pdir_pg = uvm_pagealloc(NULL, 0, NULL, UVM_PGA_USERESERVE|UVM_PGA_ZERO); if (!pmap->pm_pdir_pg)
if ((pmap->pm_pdir_pg = pmap_pagealloc(NULL, 0)) == NULL)
pmap_create(){	struct pmap *pmap;	pa_space_t space;	DPRINTF(PDB_FOLLOW|PDB_PMAP, ("pmap_create()\n"));	pmap = pool_get(&pmap_pmap_pool, PR_WAITOK);	simple_lock_init(&pmap->pm_obj.vmobjlock);	pmap->pm_obj.pgops = NULL;	/* currently not a mappable object */	TAILQ_INIT(&pmap->pm_obj.memq);	pmap->pm_obj.uo_npages = 0;	pmap->pm_obj.uo_refs = 1;	if (pmap_sid_counter >= hppa_sid_max) {		/* collect some */		panic("pmap_create: outer space");	} else		space = ++pmap_sid_counter;	pmap->pm_pdir_pg = uvm_pagealloc(NULL, 0, NULL,	    UVM_PGA_USERESERVE|UVM_PGA_ZERO);	if (!pmap->pm_pdir_pg)		panic("pmap_create: no pages");	pmap->pm_ptphint = NULL;	pmap->pm_pdir = VM_PAGE_TO_PHYS(pmap->pm_pdir_pg);	pmap_sdir_set(space, pmap->pm_pdir);	pmap->pm_space = space;	pmap->pm_pid = (space + 1) << 1;	pmap->pm_stats.resident_count = 1;	pmap->pm_stats.wired_count = 0;	return(pmap);}