Module Name:    src
Committed By:   uebayasi
Date:           Sun Nov 14 04:25:16 UTC 2010

Modified Files:
        src/sys/uvm: uvm_init.c uvm_param.h

Log Message:
Platforms that dynamically set PAGE_{SIZE,MASK,SHIFT}, those values are
saved in struct uvmexp.  Expose only the relevant part for symbol users,
so that they don't need to include the whole uvm(9) API.


To generate a diff of this commit:
cvs rdiff -u -r1.36 -r1.37 src/sys/uvm/uvm_init.c
cvs rdiff -u -r1.23 -r1.24 src/sys/uvm/uvm_param.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/uvm/uvm_init.c
diff -u src/sys/uvm/uvm_init.c:1.36 src/sys/uvm/uvm_init.c:1.37
--- src/sys/uvm/uvm_init.c:1.36	Wed Oct 21 21:12:07 2009
+++ src/sys/uvm/uvm_init.c	Sun Nov 14 04:25:16 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: uvm_init.c,v 1.36 2009/10/21 21:12:07 rmind Exp $	*/
+/*	$NetBSD: uvm_init.c,v 1.37 2010/11/14 04:25:16 uebayasi Exp $	*/
 
 /*
  *
@@ -39,7 +39,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: uvm_init.c,v 1.36 2009/10/21 21:12:07 rmind Exp $");
+__KERNEL_RCSID(0, "$NetBSD: uvm_init.c,v 1.37 2010/11/14 04:25:16 uebayasi Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -66,6 +66,12 @@
 struct uvmexp uvmexp;	/* decl */
 struct uvm_object *uvm_kernel_object;
 
+#if !defined(PAGE_SIZE)
+int *uvmexp_pagesize = &uvmexp.pagesize;
+int *uvmexp_pagemask = &uvmexp.pagemask;
+int *uvmexp_pageshift = &uvmexp.pageshift;
+#endif
+
 kmutex_t uvm_pageqlock;
 kmutex_t uvm_fpageqlock;
 kmutex_t uvm_kentry_lock;

Index: src/sys/uvm/uvm_param.h
diff -u src/sys/uvm/uvm_param.h:1.23 src/sys/uvm/uvm_param.h:1.24
--- src/sys/uvm/uvm_param.h:1.23	Sat Nov 13 12:50:09 2010
+++ src/sys/uvm/uvm_param.h	Sun Nov 14 04:25:16 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: uvm_param.h,v 1.23 2010/11/13 12:50:09 uebayasi Exp $	*/
+/*	$NetBSD: uvm_param.h,v 1.24 2010/11/14 04:25:16 uebayasi Exp $	*/
 
 /*
  * Copyright (c) 1991, 1993
@@ -145,9 +145,12 @@
  * have ones that are compile-time constants.
  */
 #if !defined(PAGE_SIZE)
-#define	PAGE_SIZE	uvmexp.pagesize		/* size of page */
-#define	PAGE_MASK	uvmexp.pagemask		/* size of page - 1 */
-#define	PAGE_SHIFT	uvmexp.pageshift	/* bits to shift for pages */
+extern int *uvmexp_pagesize;
+extern int *uvmexp_pagemask;
+extern int *uvmexp_pageshift;
+#define	PAGE_SIZE	(*uvmexp_pagesize)	/* size of page */
+#define	PAGE_MASK	(*uvmexp_pagemask)	/* size of page - 1 */
+#define	PAGE_SHIFT	(*uvmexp_pageshift)	/* bits to shift for pages */
 #endif /* PAGE_SIZE */
 
 #endif /* _KERNEL */

Reply via email to