Module Name:    src
Committed By:   snj
Date:           Wed Sep 30 00:08:03 UTC 2009

Modified Files:
        src/sys/arch/i386/i386 [netbsd-5]: db_memrw.c
        src/sys/arch/i386/include [netbsd-5]: param.h
        src/sys/arch/xen/include [netbsd-5]: xenpmap.h
        src/sys/arch/xen/xen [netbsd-5]: xenevt.c
Added Files:
        src/sys/arch/i386/conf [netbsd-5]: XEN3PAE_DOM0

Log Message:
Pull up following revision(s) (requested by bouyer in ticket #1040):
        sys/arch/i386/include/param.h: revision 1.71
        sys/arch/i386/i386/db_memrw.c: revision 1.25
        sys/arch/xen/include/xenpmap.h: revision 1.22
        sys/arch/xen/xen/xenevt.c: revision 1.31
More i386PAE fixes:
- x86_round_page, x86_trunc_page, x86_btop and x86_ptob macros are used with
  physical addresses; cast to paddr_t instead of u_long. Issue pointed out
  by jym@
- machine_to_phys_mapping[] is a long. This is fine as it holds page
  frame numbers (and this fits in a 32bit int as physical addresses are
  only 36bits), but cast to paddr_t before << PAGE_SHIFT
- xen_start_info.store_mfn is a long; cast it to paddr_t before << PAGE_SHIFT.
  should fix issue pointed out by cegger@


To generate a diff of this commit:
cvs rdiff -u -r0 -r1.1.8.2 src/sys/arch/i386/conf/XEN3PAE_DOM0
cvs rdiff -u -r1.24 -r1.24.10.1 src/sys/arch/i386/i386/db_memrw.c
cvs rdiff -u -r1.67.30.3 -r1.67.30.4 src/sys/arch/i386/include/param.h
cvs rdiff -u -r1.21 -r1.21.4.1 src/sys/arch/xen/include/xenpmap.h
cvs rdiff -u -r1.29.4.1 -r1.29.4.2 src/sys/arch/xen/xen/xenevt.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/db_memrw.c
diff -u src/sys/arch/i386/i386/db_memrw.c:1.24 src/sys/arch/i386/i386/db_memrw.c:1.24.10.1
--- src/sys/arch/i386/i386/db_memrw.c:1.24	Mon Apr 28 20:23:24 2008
+++ src/sys/arch/i386/i386/db_memrw.c	Wed Sep 30 00:08:03 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: db_memrw.c,v 1.24 2008/04/28 20:23:24 martin Exp $	*/
+/*	$NetBSD: db_memrw.c,v 1.24.10.1 2009/09/30 00:08:03 snj Exp $	*/
 
 /*-
  * Copyright (c) 1996, 2000 The NetBSD Foundation, Inc.
@@ -49,7 +49,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: db_memrw.c,v 1.24 2008/04/28 20:23:24 martin Exp $");
+__KERNEL_RCSID(0, "$NetBSD: db_memrw.c,v 1.24.10.1 2009/09/30 00:08:03 snj Exp $");
 
 #include "opt_xen.h"
 
@@ -125,7 +125,7 @@
 		if (oldpte & PG_PS)
 			pgva = (vaddr_t)dst & PG_LGFRAME;
 		else
-			pgva = x86_trunc_page(dst);
+			pgva = x86_trunc_page((vaddr_t)dst);
 
 		/*
 		 * Compute number of bytes that can be written

Index: src/sys/arch/i386/include/param.h
diff -u src/sys/arch/i386/include/param.h:1.67.30.3 src/sys/arch/i386/include/param.h:1.67.30.4
--- src/sys/arch/i386/include/param.h:1.67.30.3	Mon Feb 16 03:06:21 2009
+++ src/sys/arch/i386/include/param.h	Wed Sep 30 00:08:03 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: param.h,v 1.67.30.3 2009/02/16 03:06:21 snj Exp $	*/
+/*	$NetBSD: param.h,v 1.67.30.4 2009/09/30 00:08:03 snj Exp $	*/
 
 /*-
  * Copyright (c) 1990 The Regents of the University of California.
@@ -161,9 +161,9 @@
 #define	x86_trunc_pdr(x)	((unsigned long)(x) & ~(NBPD_L2 - 1))
 #define	x86_btod(x)		((unsigned long)(x) >> L2_SHIFT)
 #define	x86_dtob(x)		((unsigned long)(x) << L2_SHIFT)
-#define	x86_round_page(x)	((((unsigned long)(x)) + PGOFSET) & ~PGOFSET)
-#define	x86_trunc_page(x)	((unsigned long)(x) & ~PGOFSET)
-#define	x86_btop(x)		((unsigned long)(x) >> PGSHIFT)
-#define	x86_ptob(x)		((unsigned long)(x) << PGSHIFT)
+#define	x86_round_page(x)	((((paddr_t)(x)) + PGOFSET) & ~PGOFSET)
+#define	x86_trunc_page(x)	((paddr_t)(x) & ~PGOFSET)
+#define	x86_btop(x)		((paddr_t)(x) >> PGSHIFT)
+#define	x86_ptob(x)		((paddr_t)(x) << PGSHIFT)
 
 #endif /* _I386_PARAM_H_ */

Index: src/sys/arch/xen/include/xenpmap.h
diff -u src/sys/arch/xen/include/xenpmap.h:1.21 src/sys/arch/xen/include/xenpmap.h:1.21.4.1
--- src/sys/arch/xen/include/xenpmap.h:1.21	Fri Oct 24 22:06:06 2008
+++ src/sys/arch/xen/include/xenpmap.h	Wed Sep 30 00:08:03 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: xenpmap.h,v 1.21 2008/10/24 22:06:06 jym Exp $	*/
+/*	$NetBSD: xenpmap.h,v 1.21.4.1 2009/09/30 00:08:03 snj Exp $	*/
 
 /*
  *
@@ -71,15 +71,17 @@
 static __inline paddr_t
 xpmap_mtop(paddr_t mpa)
 {
-	return ((machine_to_phys_mapping[mpa >> PAGE_SHIFT] << PAGE_SHIFT) +
-	    XPMAP_OFFSET) | (mpa & ~PG_FRAME);
+	return (
+	    ((paddr_t)machine_to_phys_mapping[mpa >> PAGE_SHIFT] << PAGE_SHIFT)
+	    + XPMAP_OFFSET) | (mpa & ~PG_FRAME);
 }
 
 static __inline paddr_t
 xpmap_mtop_masked(paddr_t mpa)
 {
-	return ((machine_to_phys_mapping[mpa >> PAGE_SHIFT] << PAGE_SHIFT) +
-	    XPMAP_OFFSET);
+	return (
+	    ((paddr_t)machine_to_phys_mapping[mpa >> PAGE_SHIFT] << PAGE_SHIFT)
+	    + XPMAP_OFFSET);
 }
 
 static __inline paddr_t

Index: src/sys/arch/xen/xen/xenevt.c
diff -u src/sys/arch/xen/xen/xenevt.c:1.29.4.1 src/sys/arch/xen/xen/xenevt.c:1.29.4.2
--- src/sys/arch/xen/xen/xenevt.c:1.29.4.1	Sat Apr  4 23:36:27 2009
+++ src/sys/arch/xen/xen/xenevt.c	Wed Sep 30 00:08:03 2009
@@ -1,4 +1,4 @@
-/*      $NetBSD: xenevt.c,v 1.29.4.1 2009/04/04 23:36:27 snj Exp $      */
+/*      $NetBSD: xenevt.c,v 1.29.4.2 2009/09/30 00:08:03 snj Exp $      */
 
 /*
  * Copyright (c) 2005 Manuel Bouyer.
@@ -31,7 +31,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: xenevt.c,v 1.29.4.1 2009/04/04 23:36:27 snj Exp $");
+__KERNEL_RCSID(0, "$NetBSD: xenevt.c,v 1.29.4.2 2009/09/30 00:08:03 snj Exp $");
 
 #include "opt_xen.h"
 #include <sys/param.h>
@@ -373,7 +373,7 @@
 		if (off != 0)
 			return -1;
 		return x86_btop(
-		    xpmap_mtop(xen_start_info.store_mfn << PAGE_SHIFT));
+		   xpmap_mtop((paddr_t)xen_start_info.store_mfn << PAGE_SHIFT));
 	}
 #endif
 	return -1;

Added files:

Index: src/sys/arch/i386/conf/XEN3PAE_DOM0
diff -u /dev/null src/sys/arch/i386/conf/XEN3PAE_DOM0:1.1.8.2
--- /dev/null	Wed Sep 30 00:08:04 2009
+++ src/sys/arch/i386/conf/XEN3PAE_DOM0	Wed Sep 30 00:08:03 2009
@@ -0,0 +1,5 @@
+# $NetBSD: XEN3PAE_DOM0,v 1.1.8.2 2009/09/30 00:08:03 snj Exp $
+
+include "arch/i386/conf/XEN3_DOM0"
+
+options 	 PAE

Reply via email to