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 */