Module Name: src
Committed By: cherry
Date: Thu Dec 22 13:26:25 UTC 2016
Modified Files:
src/sys/uvm: Makefile uvm.h uvm_extern.h uvm_page.c
Log Message:
Use uvm_physseg.h:uvm_page_physload() instead of uvm_extern.h
For this, include uvm_physseg.h in the build and include tree, make a
cosmetic modification to the prototype for uvm_page_physload().
To generate a diff of this commit:
cvs rdiff -u -r1.9 -r1.10 src/sys/uvm/Makefile
cvs rdiff -u -r1.66 -r1.67 src/sys/uvm/uvm.h
cvs rdiff -u -r1.199 -r1.200 src/sys/uvm/uvm_extern.h
cvs rdiff -u -r1.187 -r1.188 src/sys/uvm/uvm_page.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/uvm/Makefile
diff -u src/sys/uvm/Makefile:1.9 src/sys/uvm/Makefile:1.10
--- src/sys/uvm/Makefile:1.9 Sat Feb 11 12:45:07 2006
+++ src/sys/uvm/Makefile Thu Dec 22 13:26:24 2016
@@ -1,11 +1,11 @@
-# $NetBSD: Makefile,v 1.9 2006/02/11 12:45:07 yamt Exp $
+# $NetBSD: Makefile,v 1.10 2016/12/22 13:26:24 cherry Exp $
INCSDIR= /usr/include/uvm
INCS= uvm.h uvm_amap.h uvm_anon.h uvm_aobj.h uvm_device.h \
uvm_extern.h uvm_fault.h uvm_fault_i.h uvm_glue.h \
uvm_km.h uvm_loan.h \
- uvm_map.h uvm_object.h uvm_page.h \
+ uvm_map.h uvm_object.h uvm_page.h uvm_physseg.h \
uvm_pager.h uvm_param.h uvm_pdaemon.h uvm_pglist.h \
uvm_pmap.h uvm_prot.h uvm_stat.h \
uvm_swap.h
Index: src/sys/uvm/uvm.h
diff -u src/sys/uvm/uvm.h:1.66 src/sys/uvm/uvm.h:1.67
--- src/sys/uvm/uvm.h:1.66 Mon Apr 13 22:04:44 2015
+++ src/sys/uvm/uvm.h Thu Dec 22 13:26:24 2016
@@ -1,4 +1,4 @@
-/* $NetBSD: uvm.h,v 1.66 2015/04/13 22:04:44 riastradh Exp $ */
+/* $NetBSD: uvm.h,v 1.67 2016/12/22 13:26:24 cherry Exp $ */
/*
* Copyright (c) 1997 Charles D. Cranor and Washington University.
@@ -57,6 +57,7 @@
#include <uvm/uvm_object.h>
#include <uvm/uvm_page.h>
#include <uvm/uvm_pager.h>
+#include <uvm/uvm_physseg.h>
#include <uvm/uvm_pdaemon.h>
#include <uvm/uvm_swap.h>
Index: src/sys/uvm/uvm_extern.h
diff -u src/sys/uvm/uvm_extern.h:1.199 src/sys/uvm/uvm_extern.h:1.200
--- src/sys/uvm/uvm_extern.h:1.199 Thu Dec 22 12:55:21 2016
+++ src/sys/uvm/uvm_extern.h Thu Dec 22 13:26:24 2016
@@ -1,4 +1,4 @@
-/* $NetBSD: uvm_extern.h,v 1.199 2016/12/22 12:55:21 cherry Exp $ */
+/* $NetBSD: uvm_extern.h,v 1.200 2016/12/22 13:26:24 cherry Exp $ */
/*
* Copyright (c) 1997 Charles D. Cranor and Washington University.
@@ -475,6 +475,14 @@ extern bool vm_page_zero_enable;
#endif
/*
+ * Include the uvm_hotplug(9) API unconditionally until
+ * uvm_page_physload() et. al. are obsoleted
+ *
+ * After this, MD code will have to explicitly include it if needed.
+ */
+#include <uvm/uvm_physseg.h>
+
+/*
* helpers for calling ubc_release()
*/
#ifdef PMAP_CACHE_VIVT
@@ -709,9 +717,6 @@ void uvm_pagereplace(struct vm_page *,
struct vm_page *);
void uvm_pagerealloc(struct vm_page *,
struct uvm_object *, voff_t);
-/* Actually, uvm_page_physload takes PF#s which need their own type */
-void uvm_page_physload(paddr_t, paddr_t, paddr_t,
- paddr_t, int);
void uvm_setpagesize(void);
/* uvm_pager.c */
Index: src/sys/uvm/uvm_page.c
diff -u src/sys/uvm/uvm_page.c:1.187 src/sys/uvm/uvm_page.c:1.188
--- src/sys/uvm/uvm_page.c:1.187 Sat Apr 11 19:24:13 2015
+++ src/sys/uvm/uvm_page.c Thu Dec 22 13:26:25 2016
@@ -1,4 +1,4 @@
-/* $NetBSD: uvm_page.c,v 1.187 2015/04/11 19:24:13 joerg Exp $ */
+/* $NetBSD: uvm_page.c,v 1.188 2016/12/22 13:26:25 cherry Exp $ */
/*
* Copyright (c) 1997 Charles D. Cranor and Washington University.
@@ -66,7 +66,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: uvm_page.c,v 1.187 2015/04/11 19:24:13 joerg Exp $");
+__KERNEL_RCSID(0, "$NetBSD: uvm_page.c,v 1.188 2016/12/22 13:26:25 cherry Exp $");
#include "opt_ddb.h"
#include "opt_uvm.h"
@@ -735,7 +735,7 @@ uvm_page_physget(paddr_t *paddrp)
* => we are limited to VM_PHYSSEG_MAX physical memory segments
*/
-void
+uvm_physseg_t
uvm_page_physload(paddr_t start, paddr_t end, paddr_t avail_start,
paddr_t avail_end, int free_list)
{
@@ -761,7 +761,7 @@ uvm_page_physload(paddr_t start, paddr_t
printf("\t%d segments allocated, ignoring 0x%llx -> 0x%llx\n",
VM_PHYSSEG_MAX, (long long)start, (long long)end);
printf("\tincrease VM_PHYSSEG_MAX\n");
- return;
+ return 0;
}
/*
@@ -840,6 +840,8 @@ uvm_page_physload(paddr_t start, paddr_t
if (!preload) {
uvmpdpol_reinit();
}
+
+ return 0;
}
/*