Module Name: src
Committed By: uebayasi
Date: Wed Feb 10 14:18:31 UTC 2010
Modified Files:
src/sys/arch/arm/arm32 [uebayasi-xip]: pmap.c
src/sys/uvm [uebayasi-xip]: uvm_page.c uvm_page.h
Log Message:
Fix previous again & use VM_PAGE_TO_MD() where appropriate.
To generate a diff of this commit:
cvs rdiff -u -r1.211.2.4 -r1.211.2.5 src/sys/arch/arm/arm32/pmap.c
cvs rdiff -u -r1.153.2.10 -r1.153.2.11 src/sys/uvm/uvm_page.c
cvs rdiff -u -r1.59.2.9 -r1.59.2.10 src/sys/uvm/uvm_page.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/arch/arm/arm32/pmap.c
diff -u src/sys/arch/arm/arm32/pmap.c:1.211.2.4 src/sys/arch/arm/arm32/pmap.c:1.211.2.5
--- src/sys/arch/arm/arm32/pmap.c:1.211.2.4 Wed Feb 10 13:58:08 2010
+++ src/sys/arch/arm/arm32/pmap.c Wed Feb 10 14:18:30 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: pmap.c,v 1.211.2.4 2010/02/10 13:58:08 uebayasi Exp $ */
+/* $NetBSD: pmap.c,v 1.211.2.5 2010/02/10 14:18:30 uebayasi Exp $ */
/*
* Copyright 2003 Wasabi Systems, Inc.
@@ -211,7 +211,7 @@
#include <machine/param.h>
#include <arm/arm32/katelib.h>
-__KERNEL_RCSID(0, "$NetBSD: pmap.c,v 1.211.2.4 2010/02/10 13:58:08 uebayasi Exp $");
+__KERNEL_RCSID(0, "$NetBSD: pmap.c,v 1.211.2.5 2010/02/10 14:18:30 uebayasi Exp $");
#ifdef PMAP_DEBUG
@@ -2824,14 +2824,7 @@
opg = NULL;
if (pg) {
- struct vm_page_md *md;
-
-#ifdef DEVICE_PAGE
- if (uvm_pageisdevice_p(pg))
- md = vm_page_device_mdpage_lookup(pg);
- else
-#endif
- md = &pg->mdpage;
+ struct vm_page_md *md = VM_PAGE_TO_MD(pg);
/*
* This is to be a managed mapping.
@@ -2897,15 +2890,9 @@
* of an existing mapping.
*/
if (opg) {
- struct vm_page_md *omd;
+ struct vm_page_md *omd = VM_PAGE_TO_MD(opg);
paddr_t opa;
-#ifdef DEVICE_PAGE
- if (uvm_pageisdevice_p(opg))
- omd = vm_page_device_mdpage_lookup(opg);
- else
-#endif
- omd = &opg->mdpage;
opa = VM_PAGE_TO_PHYS(opg);
/*
Index: src/sys/uvm/uvm_page.c
diff -u src/sys/uvm/uvm_page.c:1.153.2.10 src/sys/uvm/uvm_page.c:1.153.2.11
--- src/sys/uvm/uvm_page.c:1.153.2.10 Wed Feb 10 02:12:39 2010
+++ src/sys/uvm/uvm_page.c Wed Feb 10 14:18:31 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: uvm_page.c,v 1.153.2.10 2010/02/10 02:12:39 uebayasi Exp $ */
+/* $NetBSD: uvm_page.c,v 1.153.2.11 2010/02/10 14:18:31 uebayasi Exp $ */
/*
* Copyright (c) 1997 Charles D. Cranor and Washington University.
@@ -71,7 +71,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: uvm_page.c,v 1.153.2.10 2010/02/10 02:12:39 uebayasi Exp $");
+__KERNEL_RCSID(0, "$NetBSD: uvm_page.c,v 1.153.2.11 2010/02/10 14:18:31 uebayasi Exp $");
#include "opt_ddb.h"
#include "opt_uvmhist.h"
@@ -951,7 +951,7 @@
try = start + (len / 2); /* try in the middle */
/* start past our try? */
- if (vm_physseg_ge_p(&segs[try], op, pframe, pg)) {
+ if (vm_physseg_ge_p(&segs[try], op, pframe, pg, offp)) {
/* was try correct? */
if (vm_physseg_lt_p(&segs[try], op, pframe, pg, offp)) {
return(try); /* got it */
@@ -1127,10 +1127,6 @@
* XXX Consider to allocate slots on-demand.
*/
-void vm_page_device_mdpage_insert(struct vm_page *);
-void vm_page_device_mdpage_remove(struct vm_page *);
-struct vm_page_md *vm_page_device_mdpage_lookup(struct vm_page *);
-
struct vm_page_device_mdpage_entry {
struct vm_page_md mde_mdpage;
SLIST_ENTRY(vm_page_device_mdpage_entry) mde_hash;
Index: src/sys/uvm/uvm_page.h
diff -u src/sys/uvm/uvm_page.h:1.59.2.9 src/sys/uvm/uvm_page.h:1.59.2.10
--- src/sys/uvm/uvm_page.h:1.59.2.9 Wed Feb 10 14:11:32 2010
+++ src/sys/uvm/uvm_page.h Wed Feb 10 14:18:31 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: uvm_page.h,v 1.59.2.9 2010/02/10 14:11:32 uebayasi Exp $ */
+/* $NetBSD: uvm_page.h,v 1.59.2.10 2010/02/10 14:18:31 uebayasi Exp $ */
/*
* Copyright (c) 1997 Charles D. Cranor and Washington University.
@@ -308,6 +308,12 @@
paddr_t uvm_vm_page_to_phys_device(const struct vm_page *);
#endif
+#ifdef XIP
+void vm_page_device_mdpage_insert(struct vm_page *);
+void vm_page_device_mdpage_remove(struct vm_page *);
+struct vm_page_md *vm_page_device_mdpage_lookup(struct vm_page *);
+#endif
+
/*
* macros
*/
@@ -317,7 +323,7 @@
#define VM_PAGE_TO_PHYS(entry) uvm_vm_page_to_phys(entry)
#ifndef XIP
-#define VM_PAGE_TO_MD(pg)
+#define VM_PAGE_TO_MD(pg) (&(pg)->mdpage)
#else
#define VM_PAGE_TO_MD(pg) \
(uvm_pageisdevice_p(pg) ? vm_page_device_mdpage_lookup(pg) : &(pg)->mdpage)