Module Name: src
Committed By: jym
Date: Thu Jul 15 23:20:34 UTC 2010
Modified Files:
src/sys/arch/i386/i386: machdep.c
src/sys/arch/xen/x86: x86_xpmap.c
Log Message:
With Xen, PDPpaddr should contain a guest physical address (== PFN).
To generate a diff of this commit:
cvs rdiff -u -r1.689 -r1.690 src/sys/arch/i386/i386/machdep.c
cvs rdiff -u -r1.19 -r1.20 src/sys/arch/xen/x86/x86_xpmap.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/arch/i386/i386/machdep.c
diff -u src/sys/arch/i386/i386/machdep.c:1.689 src/sys/arch/i386/i386/machdep.c:1.690
--- src/sys/arch/i386/i386/machdep.c:1.689 Thu Jul 15 22:19:19 2010
+++ src/sys/arch/i386/i386/machdep.c Thu Jul 15 23:20:34 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: machdep.c,v 1.689 2010/07/15 22:19:19 jym Exp $ */
+/* $NetBSD: machdep.c,v 1.690 2010/07/15 23:20:34 jym Exp $ */
/*-
* Copyright (c) 1996, 1997, 1998, 2000, 2004, 2006, 2008, 2009
@@ -67,7 +67,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.689 2010/07/15 22:19:19 jym Exp $");
+__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.690 2010/07/15 23:20:34 jym Exp $");
#include "opt_beep.h"
#include "opt_compat_ibcs2.h"
@@ -1303,9 +1303,9 @@
cpu_init_msrs(&cpu_info_primary, true);
#ifdef XEN
- pcb->pcb_cr3 = PDPpaddr - KERNBASE;
+ pcb->pcb_cr3 = PDPpaddr;
__PRINTK(("pcb_cr3 0x%lx cr3 0x%lx\n",
- PDPpaddr - KERNBASE, xpmap_ptom(PDPpaddr - KERNBASE)));
+ PDPpaddr, xpmap_ptom(PDPpaddr)));
XENPRINTK(("lwp0uarea %p first_avail %p\n",
lwp0uarea, (void *)(long)first_avail));
XENPRINTK(("ptdpaddr %p atdevbase %p\n", (void *)PDPpaddr,
Index: src/sys/arch/xen/x86/x86_xpmap.c
diff -u src/sys/arch/xen/x86/x86_xpmap.c:1.19 src/sys/arch/xen/x86/x86_xpmap.c:1.20
--- src/sys/arch/xen/x86/x86_xpmap.c:1.19 Fri Feb 26 19:25:07 2010
+++ src/sys/arch/xen/x86/x86_xpmap.c Thu Jul 15 23:20:34 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: x86_xpmap.c,v 1.19 2010/02/26 19:25:07 jym Exp $ */
+/* $NetBSD: x86_xpmap.c,v 1.20 2010/07/15 23:20:34 jym Exp $ */
/*
* Copyright (c) 2006 Mathieu Ropert <[email protected]>
@@ -69,7 +69,7 @@
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: x86_xpmap.c,v 1.19 2010/02/26 19:25:07 jym Exp $");
+__KERNEL_RCSID(0, "$NetBSD: x86_xpmap.c,v 1.20 2010/07/15 23:20:34 jym Exp $");
#include "opt_xen.h"
#include "opt_ddb.h"
@@ -816,7 +816,7 @@
#endif
#ifdef __i386__
/* Save phys. addr of PDP, for libkvm. */
- PDPpaddr = (long)pde;
+ PDPpaddr = (long)pde - KERNBASE;
#ifdef PAE
/* also save the address of the L3 page */
pmap_l3pd = pdtpe;