+ p->p_vmspace = &vmspace0;
+ vmspace0.vm_refcnt = 1;
+ pmap_pinit(&vmspace0.vm_pmap);
+ vm_map_init(&p->p_vmspace->vm_map, round_page(VM_MIN_ADDRESS),
+ trunc_page(VM_MAX_ADDRESS), TRUE);
+ vmspace0.vm_map.pmap = &vmspace0.vm_pmap;
+ p->p_addr = proc0paddr; /* XXX */
+
+ /*
+ * We continue to place resource usage info
+ * and signal actions in the user struct so they're pageable.
+ */
+ p->p_stats = &p->p_addr->u_stats;
+ p->p_sigacts = &p->p_addr->u_sigacts;
+
+ rqinit();
+
+ /*
+ * configure virtual memory system,
+ * set vm rlimits
+ */
+ vm_init_limits(p);
+
+ /*
+ * Initialize the file systems.
+ *
+ * Get vnodes for swapdev and rootdev.
+ */
+ vfsinit();
+ if (bdevvp(swapdev, &swapdev_vp) || bdevvp(rootdev, &rootvp))
+ panic("can't setup bdevvp's");