Module Name:    src
Committed By:   mlelstv
Date:           Fri Aug 28 17:41:49 UTC 2015

Modified Files:
        src/sys/arch/xen/xen: xbd_xenbus.c
        src/sys/dev: dksubr.c dkvar.h ld.c ldvar.h

Log Message:
move entropy gathering into dksubr.


To generate a diff of this commit:
cvs rdiff -u -r1.73 -r1.74 src/sys/arch/xen/xen/xbd_xenbus.c
cvs rdiff -u -r1.75 -r1.76 src/sys/dev/dksubr.c
cvs rdiff -u -r1.23 -r1.24 src/sys/dev/dkvar.h
cvs rdiff -u -r1.92 -r1.93 src/sys/dev/ld.c
cvs rdiff -u -r1.26 -r1.27 src/sys/dev/ldvar.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/xen/xen/xbd_xenbus.c
diff -u src/sys/arch/xen/xen/xbd_xenbus.c:1.73 src/sys/arch/xen/xen/xbd_xenbus.c:1.74
--- src/sys/arch/xen/xen/xbd_xenbus.c:1.73	Thu Aug 27 05:51:50 2015
+++ src/sys/arch/xen/xen/xbd_xenbus.c	Fri Aug 28 17:41:49 2015
@@ -1,4 +1,4 @@
-/*      $NetBSD: xbd_xenbus.c,v 1.73 2015/08/27 05:51:50 mlelstv Exp $      */
+/*      $NetBSD: xbd_xenbus.c,v 1.74 2015/08/28 17:41:49 mlelstv Exp $      */
 
 /*
  * Copyright (c) 2006 Manuel Bouyer.
@@ -50,7 +50,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: xbd_xenbus.c,v 1.73 2015/08/27 05:51:50 mlelstv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: xbd_xenbus.c,v 1.74 2015/08/28 17:41:49 mlelstv Exp $");
 
 #include "opt_xen.h"
 
@@ -73,8 +73,6 @@ __KERNEL_RCSID(0, "$NetBSD: xbd_xenbus.c
 
 #include <uvm/uvm.h>
 
-#include <sys/rndsource.h>
-
 #include <xen/hypervisor.h>
 #include <xen/evtchn.h>
 #include <xen/granttables.h>
@@ -151,7 +149,6 @@ struct xbd_xenbus_softc {
 	u_long sc_info; /* VDISK_* */
 	u_long sc_handle; /* from backend */
 	int sc_cache_flush; /* backend supports BLKIF_OP_FLUSH_DISKCACHE */
-	krndsource_t     sc_rnd_source;
 };
 
 #if 0
@@ -309,9 +306,6 @@ xbd_xenbus_attach(device_t parent, devic
 		return;
 	}
 
-	rnd_attach_source(&sc->sc_rnd_source, device_xname(self),
-	    RND_TYPE_DISK, RND_FLAG_DEFAULT);
-
 	if (!pmf_device_register(self, xbd_xenbus_suspend, xbd_xenbus_resume))
 		aprint_error_dev(self, "couldn't establish power handler\n");
 
@@ -371,8 +365,6 @@ xbd_xenbus_detach(device_t dev, int flag
 		disk_detach(&sc->sc_dksc.sc_dkdev);
 		disk_destroy(&sc->sc_dksc.sc_dkdev);
 		dk_detach(&sc->sc_dksc);
-		/* Unhook the entropy source. */
-		rnd_detach_source(&sc->sc_rnd_source);
 	}
 
 	hypervisor_mask_event(sc->sc_evtchn);
@@ -700,8 +692,6 @@ next:
 		if (bp->b_data != xbdreq->req_data)
 			xbd_unmap_align(xbdreq);
 
-		rnd_add_uint32(&sc->sc_rnd_source,
-		    bp->b_blkno);
 		dk_done(&sc->sc_dksc, bp);
 
 		SLIST_INSERT_HEAD(&sc->sc_xbdreq_head, xbdreq, req_next);

Index: src/sys/dev/dksubr.c
diff -u src/sys/dev/dksubr.c:1.75 src/sys/dev/dksubr.c:1.76
--- src/sys/dev/dksubr.c:1.75	Fri Aug 28 05:49:31 2015
+++ src/sys/dev/dksubr.c	Fri Aug 28 17:41:49 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: dksubr.c,v 1.75 2015/08/28 05:49:31 mlelstv Exp $ */
+/* $NetBSD: dksubr.c,v 1.76 2015/08/28 17:41:49 mlelstv Exp $ */
 
 /*-
  * Copyright (c) 1996, 1997, 1998, 1999, 2002, 2008 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: dksubr.c,v 1.75 2015/08/28 05:49:31 mlelstv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: dksubr.c,v 1.76 2015/08/28 17:41:49 mlelstv Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -96,11 +96,18 @@ dk_attach(struct dk_softc *dksc)
 #ifdef DIAGNOSTIC
 	dksc->sc_flags |= DKF_WARNLABEL | DKF_LABELSANITY;
 #endif
+
+	/* Attach the device into the rnd source list. */
+	rnd_attach_source(&dksc->sc_rnd_source, dksc->sc_xname,
+	    RND_TYPE_DISK, RND_FLAG_DEFAULT);
 }
 
 void
 dk_detach(struct dk_softc *dksc)
 {
+	/* Unhook the entropy source. */
+	rnd_detach_source(&dksc->sc_rnd_source);
+
 	dksc->sc_flags &= ~DKF_INITED;
 	mutex_destroy(&dksc->sc_iolock);
 }
@@ -367,9 +374,7 @@ dk_done1(struct dk_softc *dksc, struct b
 	if (lock)
 		mutex_exit(&dksc->sc_iolock);
 
-#ifdef notyet
-	rnd_add_uint(&dksc->sc_rnd_source, bp->b_rawblkno);
-#endif
+	rnd_add_uint32(&dksc->sc_rnd_source, bp->b_rawblkno);
 
 	biodone(bp);
 }

Index: src/sys/dev/dkvar.h
diff -u src/sys/dev/dkvar.h:1.23 src/sys/dev/dkvar.h:1.24
--- src/sys/dev/dkvar.h:1.23	Fri Aug 28 05:49:31 2015
+++ src/sys/dev/dkvar.h	Fri Aug 28 17:41:49 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: dkvar.h,v 1.23 2015/08/28 05:49:31 mlelstv Exp $ */
+/* $NetBSD: dkvar.h,v 1.24 2015/08/28 17:41:49 mlelstv Exp $ */
 
 /*-
  * Copyright (c) 2002 The NetBSD Foundation, Inc.
@@ -29,6 +29,8 @@
  * POSSIBILITY OF SUCH DAMAGE.
  */
 
+#include <sys/rndsource.h>
+
 struct pathbuf; /* from namei.h */
 
 /* literally this is not a softc, but is intended to be included in
@@ -49,6 +51,7 @@ struct dk_softc {
 	int			 sc_dtype;	/* disk type */
 	struct buf		*sc_deferred;	/* retry after start failed */
 	bool			 sc_busy;	/* processing buffers */
+	krndsource_t		 sc_rnd_source;	/* entropy source */
 };
 
 /* sc_flags:

Index: src/sys/dev/ld.c
diff -u src/sys/dev/ld.c:1.92 src/sys/dev/ld.c:1.93
--- src/sys/dev/ld.c:1.92	Thu Aug 27 05:51:50 2015
+++ src/sys/dev/ld.c	Fri Aug 28 17:41:49 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: ld.c,v 1.92 2015/08/27 05:51:50 mlelstv Exp $	*/
+/*	$NetBSD: ld.c,v 1.93 2015/08/28 17:41:49 mlelstv Exp $	*/
 
 /*-
  * Copyright (c) 1998, 2000 The NetBSD Foundation, Inc.
@@ -34,7 +34,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ld.c,v 1.92 2015/08/27 05:51:50 mlelstv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ld.c,v 1.93 2015/08/28 17:41:49 mlelstv Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -54,7 +54,6 @@ __KERNEL_RCSID(0, "$NetBSD: ld.c,v 1.92 
 #include <sys/vnode.h>
 #include <sys/syslog.h>
 #include <sys/mutex.h>
-#include <sys/rndsource.h>
 
 #include <dev/ldvar.h>
 
@@ -139,10 +138,6 @@ ldattach(struct ld_softc *sc)
 	dk_init(dksc, self, DKTYPE_LD);
 	disk_init(&dksc->sc_dkdev, dksc->sc_xname, &lddkdriver);
 
-	/* Attach the device into the rnd source list. */
-	rnd_attach_source(&sc->sc_rnd_source, dksc->sc_xname,
-	    RND_TYPE_DISK, RND_FLAG_DEFAULT);
-
 	if (sc->sc_maxxfer > MAXPHYS)
 		sc->sc_maxxfer = MAXPHYS;
 
@@ -248,9 +243,6 @@ ldenddetach(struct ld_softc *sc)
 
 	dk_detach(dksc);
 
-	/* Unhook the entropy source. */
-	rnd_detach_source(&sc->sc_rnd_source);
-
 	/* Deregister with PMF */
 	pmf_device_deregister(dksc->sc_dev);
 

Index: src/sys/dev/ldvar.h
diff -u src/sys/dev/ldvar.h:1.26 src/sys/dev/ldvar.h:1.27
--- src/sys/dev/ldvar.h:1.26	Mon Aug 17 19:47:21 2015
+++ src/sys/dev/ldvar.h	Fri Aug 28 17:41:49 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: ldvar.h,v 1.26 2015/08/17 19:47:21 jakllsch Exp $	*/
+/*	$NetBSD: ldvar.h,v 1.27 2015/08/28 17:41:49 mlelstv Exp $	*/
 
 /*-
  * Copyright (c) 2000 The NetBSD Foundation, Inc.
@@ -41,7 +41,6 @@ struct ld_softc {
 	struct dk_softc	sc_dksc;
 	kmutex_t	sc_mutex;
 	kcondvar_t	sc_drain;
-	krndsource_t	sc_rnd_source;
 
 	int		sc_queuecnt;	/* current h/w queue depth */
 	int		sc_ncylinders;	/* # cylinders */

Reply via email to