Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/uebayasi-xip]: src/sys Put run-time XIP-specific per-mount data in struc...



details:   https://anonhg.NetBSD.org/src/rev/ee21f407048d
branches:  uebayasi-xip
changeset: 751629:ee21f407048d
user:      uebayasi <uebayasi%NetBSD.org@localhost>
date:      Tue Mar 23 01:58:13 2010 +0000

description:
Put run-time XIP-specific per-mount data in struct specdev, not struct mount.

diffstat:

 sys/miscfs/genfs/genfs_io.c |  6 +++---
 sys/miscfs/specfs/specdev.h |  4 +++-
 sys/sys/mount.h             |  4 +---
 sys/ufs/ffs/ffs_vfsops.c    |  6 +++---
 4 files changed, 10 insertions(+), 10 deletions(-)

diffs (97 lines):

diff -r e5ebcc2f2496 -r ee21f407048d sys/miscfs/genfs/genfs_io.c
--- a/sys/miscfs/genfs/genfs_io.c       Mon Mar 22 18:58:32 2010 +0000
+++ b/sys/miscfs/genfs/genfs_io.c       Tue Mar 23 01:58:13 2010 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: genfs_io.c,v 1.36.2.5 2010/03/17 16:09:17 uebayasi Exp $       */
+/*     $NetBSD: genfs_io.c,v 1.36.2.6 2010/03/23 01:58:13 uebayasi Exp $       */
 
 /*
  * Copyright (c) 1982, 1986, 1989, 1993
@@ -31,7 +31,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: genfs_io.c,v 1.36.2.5 2010/03/17 16:09:17 uebayasi Exp $");
+__KERNEL_RCSID(0, "$NetBSD: genfs_io.c,v 1.36.2.6 2010/03/23 01:58:13 uebayasi Exp $");
 
 #include "opt_device_page.h"
 #include "opt_xip.h"
@@ -813,7 +813,7 @@
                        phys_addr = uvm_pageofzero_xip_phys_addr();
                } else {
                        /* bus_space_mmap cookie -> paddr_t */
-                       phys_addr = pmap_phys_address(vp->v_mount->mnt_phys_addr) +
+                       phys_addr = pmap_phys_address(devvp->v_phys_addr) +
                            (blkno << dev_bshift) +
                            (off - (lbn << fs_bshift));
                }
diff -r e5ebcc2f2496 -r ee21f407048d sys/miscfs/specfs/specdev.h
--- a/sys/miscfs/specfs/specdev.h       Mon Mar 22 18:58:32 2010 +0000
+++ b/sys/miscfs/specfs/specdev.h       Tue Mar 23 01:58:13 2010 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: specdev.h,v 1.39 2009/11/14 18:36:57 elad Exp $        */
+/*     $NetBSD: specdev.h,v 1.39.2.1 2010/03/23 01:58:13 uebayasi Exp $        */
 
 /*-
  * Copyright (c) 2008 The NetBSD Foundation, Inc.
@@ -78,6 +78,7 @@
        u_int           sd_opencnt;
        u_int           sd_refcnt;
        dev_t           sd_rdev;
+       paddr_t         sd_phys_addr;   /* XIP */
 } specdev_t;
 
 /*
@@ -87,6 +88,7 @@
 #define v_rdev         v_specnode->sn_rdev
 #define v_speclockf    v_specnode->sn_dev->sd_lockf
 #define v_specmountpoint v_specnode->sn_dev->sd_mountpoint
+#define v_phys_addr    v_specnode->sn_dev->sd_phys_addr
 
 /*
  * Special device management
diff -r e5ebcc2f2496 -r ee21f407048d sys/sys/mount.h
--- a/sys/sys/mount.h   Mon Mar 22 18:58:32 2010 +0000
+++ b/sys/sys/mount.h   Tue Mar 23 01:58:13 2010 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: mount.h,v 1.195.2.1 2010/02/11 05:20:28 uebayasi Exp $ */
+/*     $NetBSD: mount.h,v 1.195.2.2 2010/03/23 01:58:13 uebayasi Exp $ */
 
 /*
  * Copyright (c) 1989, 1991, 1993
@@ -128,8 +128,6 @@
        struct wapbl_replay
                        *mnt_wapbl_replay;      /* replay support XXX: what? */
        uint64_t        mnt_gen;
-
-       paddr_t         mnt_phys_addr;          /* XIP */
 };
 
 /*
diff -r e5ebcc2f2496 -r ee21f407048d sys/ufs/ffs/ffs_vfsops.c
--- a/sys/ufs/ffs/ffs_vfsops.c  Mon Mar 22 18:58:32 2010 +0000
+++ b/sys/ufs/ffs/ffs_vfsops.c  Tue Mar 23 01:58:13 2010 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: ffs_vfsops.c,v 1.257.2.2 2010/02/23 07:00:58 uebayasi Exp $    */
+/*     $NetBSD: ffs_vfsops.c,v 1.257.2.3 2010/03/23 01:58:14 uebayasi Exp $    */
 
 /*-
  * Copyright (c) 2008, 2009 The NetBSD Foundation, Inc.
@@ -61,7 +61,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ffs_vfsops.c,v 1.257.2.2 2010/02/23 07:00:58 uebayasi Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ffs_vfsops.c,v 1.257.2.3 2010/03/23 01:58:14 uebayasi Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_ffs.h"
@@ -1184,7 +1184,7 @@
                            cred) == 0) &&
                            phys_addr != 0) {
                                mp->mnt_iflag |= IMNT_XIP;
-                               mp->mnt_phys_addr = phys_addr;
+                               devvp->v_phys_addr = phys_addr; /* XXX */
                        } else
                                printf("device doesn't support DIOCGPHYSADDR\n");
                }



Home | Main Index | Thread Index | Old Index