From owner-svn-src-projects@FreeBSD.ORG Tue Jan 8 15:22:03 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id DC86EA32; Tue, 8 Jan 2013 15:22:03 +0000 (UTC) (envelope-from cherry@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id D00D9875; Tue, 8 Jan 2013 15:22:03 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r08FM3K9006925; Tue, 8 Jan 2013 15:22:03 GMT (envelope-from cherry@svn.freebsd.org) Received: (from cherry@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r08FM3Fs006924; Tue, 8 Jan 2013 15:22:03 GMT (envelope-from cherry@svn.freebsd.org) Message-Id: <201301081522.r08FM3Fs006924@svn.freebsd.org> From: "Cherry G. Mathew" Date: Tue, 8 Jan 2013 15:22:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245165 - projects/amd64_xen_pv/sys/amd64/amd64 X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Jan 2013 15:22:03 -0000 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 *);