From 0ee10c9e4de13a021012f59cf4071878f4e9e2d2 Mon Sep 17 00:00:00 2001 From: "cl349@freefall.cl.cam.ac.uk" Date: Thu, 4 Nov 2004 11:14:13 +0000 Subject: bitkeeper revision 1.1159.159.1 (418a0f05lDwVyI3ppkjGpLANxqZFeQ) Update NetBSD to 2.0 release snapshot from 20041103. --- netbsd-2.0-xen-sparse/sys/arch/xen/conf/XEN | 2 +- .../sys/arch/xen/include/if_xennetvar.h | 4 ++++ .../sys/arch/xen/include/xbdvar.h | 3 +++ netbsd-2.0-xen-sparse/sys/arch/xen/xen/clock.c | 2 +- netbsd-2.0-xen-sparse/sys/arch/xen/xen/if_xennet.c | 11 +++++++++- netbsd-2.0-xen-sparse/sys/arch/xen/xen/xbd.c | 24 ++++++++++++++++++++-- 6 files changed, 41 insertions(+), 5 deletions(-) (limited to 'netbsd-2.0-xen-sparse') diff --git a/netbsd-2.0-xen-sparse/sys/arch/xen/conf/XEN b/netbsd-2.0-xen-sparse/sys/arch/xen/conf/XEN index eece41d429..e9b2cd83a3 100644 --- a/netbsd-2.0-xen-sparse/sys/arch/xen/conf/XEN +++ b/netbsd-2.0-xen-sparse/sys/arch/xen/conf/XEN @@ -28,7 +28,7 @@ options I686_CPU options INSECURE # disable kernel security levels - X needs this options RTC_OFFSET=0 # hardware clock is this many mins. west of GMT -#options NTP # NTP phase/frequency locked loop +options NTP # NTP phase/frequency locked loop options KTRACE # system call tracing via ktrace(1) #options SYSTRACE # system call vetting via systrace(1) diff --git a/netbsd-2.0-xen-sparse/sys/arch/xen/include/if_xennetvar.h b/netbsd-2.0-xen-sparse/sys/arch/xen/include/if_xennetvar.h index 5e84f5af86..da95163afd 100644 --- a/netbsd-2.0-xen-sparse/sys/arch/xen/include/if_xennetvar.h +++ b/netbsd-2.0-xen-sparse/sys/arch/xen/include/if_xennetvar.h @@ -94,6 +94,10 @@ struct xennet_softc { union xennet_bufarray sc_rx_bufa[NETIF_TX_RING_SIZE]; SLIST_HEAD(, xennet_txbuf) sc_tx_bufs; + +#if NRND > 0 + rndsource_element_t sc_rnd_source; +#endif }; struct xennet_attach_args { diff --git a/netbsd-2.0-xen-sparse/sys/arch/xen/include/xbdvar.h b/netbsd-2.0-xen-sparse/sys/arch/xen/include/xbdvar.h index 089d365a0d..4a53ae71e2 100644 --- a/netbsd-2.0-xen-sparse/sys/arch/xen/include/xbdvar.h +++ b/netbsd-2.0-xen-sparse/sys/arch/xen/include/xbdvar.h @@ -42,6 +42,9 @@ struct xbd_softc { struct dk_intf *sc_di; /* pseudo-disk interface */ struct simplelock sc_slock; /* our lock */ int sc_shutdown; /* about to be removed */ +#if NRND > 0 + rndsource_element_t sc_rnd_source; +#endif }; struct xbd_attach_args { diff --git a/netbsd-2.0-xen-sparse/sys/arch/xen/xen/clock.c b/netbsd-2.0-xen-sparse/sys/arch/xen/xen/clock.c index 2db3332d21..ef461d280a 100644 --- a/netbsd-2.0-xen-sparse/sys/arch/xen/xen/clock.c +++ b/netbsd-2.0-xen-sparse/sys/arch/xen/xen/clock.c @@ -184,7 +184,7 @@ startrtclock() void xen_delay(int n) { - u_int64_t when; + uint64_t when; get_time_values_from_xen(); when = shadow_system_time + n * 1000; diff --git a/netbsd-2.0-xen-sparse/sys/arch/xen/xen/if_xennet.c b/netbsd-2.0-xen-sparse/sys/arch/xen/xen/if_xennet.c index 1670da4ea3..9d8618923c 100644 --- a/netbsd-2.0-xen-sparse/sys/arch/xen/xen/if_xennet.c +++ b/netbsd-2.0-xen-sparse/sys/arch/xen/xen/if_xennet.c @@ -36,6 +36,7 @@ __KERNEL_RCSID(0, "$NetBSD: if_xennet.c,v 1.1.2.1 2004/05/22 15:58:29 he Exp $"); #include "opt_inet.h" +#include "rnd.h" #include #include @@ -525,7 +526,7 @@ xennet_interface_status_change(netif_fe_interface_status_t *status) ether_sprintf(sc->sc_enaddr)); #if NRND > 0 - rnd_attach_source(&sc->rnd_source, sc->sc_dev.dv_xname, + rnd_attach_source(&sc->sc_rnd_source, sc->sc_dev.dv_xname, RND_TYPE_NET, 0); #endif break; @@ -647,6 +648,10 @@ xen_network_handler(void *arg) network_tx_buf_gc(sc); +#if NRND > 0 + rnd_add_uint32(&sc->sc_rnd_source, sc->sc_rx_resp_cons); +#endif + again: for (ringidx = sc->sc_rx_resp_cons; ringidx != sc->sc_rx->resp_prod; @@ -970,6 +975,10 @@ xennet_start(struct ifnet *ifp) panic("%s: No packet to start", sc->sc_dev.dv_xname); #endif +#if NRND > 0 + rnd_add_uint32(&sc->sc_rnd_source, sc->sc_tx->req_prod); +#endif + if ((ifp->if_flags & (IFF_RUNNING | IFF_OACTIVE)) != IFF_RUNNING) return; diff --git a/netbsd-2.0-xen-sparse/sys/arch/xen/xen/xbd.c b/netbsd-2.0-xen-sparse/sys/arch/xen/xen/xbd.c index a8034a2116..23a96241d3 100644 --- a/netbsd-2.0-xen-sparse/sys/arch/xen/xen/xbd.c +++ b/netbsd-2.0-xen-sparse/sys/arch/xen/xen/xbd.c @@ -36,6 +36,7 @@ __KERNEL_RCSID(0, "$NetBSD: xbd.c,v 1.9.2.1 2004/05/22 15:59:11 he Exp $"); #include "xbd.h" +#include "rnd.h" #include #include @@ -61,6 +62,10 @@ __KERNEL_RCSID(0, "$NetBSD: xbd.c,v 1.9.2.1 2004/05/22 15:59:11 he Exp $"); #include +#if NRND > 0 +#include +#endif + #include #include @@ -1002,6 +1007,11 @@ xbd_attach(struct device *parent, struct device *self, void *aux) NULL, 0, &xs->sc_xd_device, 0, CTL_CREATE, CTL_EOL); } + +#if NRND > 0 + rnd_attach_source(&xs->sc_rnd_source, xs->sc_dev.dv_xname, + RND_TYPE_DISK, 0); +#endif } static int @@ -1231,10 +1241,15 @@ xbdresume(void) if (pxr->xr_aligned) unmap_align(pxr); PUT_XBDREQ(pxr); - if (xs) + if (xs) { disk_unbusy(&xs->sc_dksc.sc_dkdev, (bp->b_bcount - bp->b_resid), (bp->b_flags & B_READ)); +#if NRND > 0 + rnd_add_uint32(&xs->sc_rnd_source, + bp->b_blkno); +#endif + } biodone(bp); } continue; @@ -1405,10 +1420,15 @@ xbd_response_handler(void *arg) unmap_align(pxr); PUT_XBDREQ(pxr); - if (xs) + if (xs) { disk_unbusy(&xs->sc_dksc.sc_dkdev, (bp->b_bcount - bp->b_resid), (bp->b_flags & B_READ)); +#if NRND > 0 + rnd_add_uint32(&xs->sc_rnd_source, + bp->b_blkno); +#endif + } biodone(bp); if (!SIMPLEQ_EMPTY(&xbdr_suspended)) xbdresume(); -- cgit v1.2.3