svn commit: r245165 - projects/amd64_xen_pv/sys/amd64/amd64

Cherry G. Mathew cherry at FreeBSD.org
Tue Jan 8 15:22:03 UTC 2013


Author: cherry
Date: Tue Jan  8 15:22:03 2013
New Revision: 245165
URL: http://svnweb.freebsd.org/changeset/base/245165

Log:
  pcb->pcb_cr3 should contain the PA of the pml4 table

Modified:
  projects/amd64_xen_pv/sys/amd64/amd64/vm_machdep.c

Modified: projects/amd64_xen_pv/sys/amd64/amd64/vm_machdep.c
==============================================================================
--- projects/amd64_xen_pv/sys/amd64/amd64/vm_machdep.c	Tue Jan  8 12:21:50 2013	(r245164)
+++ projects/amd64_xen_pv/sys/amd64/amd64/vm_machdep.c	Tue Jan  8 15:22:03 2013	(r245165)
@@ -219,7 +219,12 @@ cpu_fork(td1, p2, td2, flags)
 	 * return address on stack.  These are the kernel mode register values.
 	 */
 	pmap2 = vmspace_pmap(p2->p_vmspace);
+#ifdef XEN
+	pcb2->pcb_cr3 = pmap_kextract((vm_offset_t)pmap2->pm_pml4);
+#else
 	pcb2->pcb_cr3 = DMAP_TO_PHYS((vm_offset_t)pmap2->pm_pml4);
+#endif
+
 	pcb2->pcb_r12 = (register_t)fork_return;	/* fork_trampoline argument */
 	pcb2->pcb_rbp = 0;
 	pcb2->pcb_rsp = (register_t)td2->td_frame - sizeof(void *);


More information about the svn-src-projects mailing list