ia64/xen-unstable

changeset 2878:fb095fda8aa2

bitkeeper revision 1.1159.1.367 (418a0f26eRgg15zg-e85Dwr0QF4BIw)

Merge freefall.cl.cam.ac.uk:/auto/groups/xeno/BK/xeno.bk
into freefall.cl.cam.ac.uk:/auto/groups/xeno/users/cl349/BK/xeno.bk-nbsd
author cl349@freefall.cl.cam.ac.uk
date Thu Nov 04 11:14:46 2004 +0000 (2004-11-04)
parents 5f61f7a86799 322541dd9041
children 9813d8e70a3b
files buildconfigs/mk.netbsd-2.0-xenU netbsd-2.0-xen-sparse/sys/arch/xen/conf/XEN netbsd-2.0-xen-sparse/sys/arch/xen/include/if_xennetvar.h netbsd-2.0-xen-sparse/sys/arch/xen/include/xbdvar.h netbsd-2.0-xen-sparse/sys/arch/xen/xen/clock.c netbsd-2.0-xen-sparse/sys/arch/xen/xen/if_xennet.c netbsd-2.0-xen-sparse/sys/arch/xen/xen/xbd.c
line diff
     1.1 --- a/buildconfigs/mk.netbsd-2.0-xenU	Thu Nov 04 10:59:36 2004 +0000
     1.2 +++ b/buildconfigs/mk.netbsd-2.0-xenU	Thu Nov 04 11:14:46 2004 +0000
     1.3 @@ -1,6 +1,6 @@
     1.4  
     1.5  NETBSD_RELEASE   ?= 2.0
     1.6 -NETBSD_CVSSNAP   ?= 20040906
     1.7 +NETBSD_CVSSNAP   ?= 20041103
     1.8  
     1.9  EXTRAVERSION = xenU
    1.10  
     2.1 --- a/netbsd-2.0-xen-sparse/sys/arch/xen/conf/XEN	Thu Nov 04 10:59:36 2004 +0000
     2.2 +++ b/netbsd-2.0-xen-sparse/sys/arch/xen/conf/XEN	Thu Nov 04 11:14:46 2004 +0000
     2.3 @@ -28,7 +28,7 @@ options 	I686_CPU
     2.4  options		INSECURE	# disable kernel security levels - X needs this
     2.5  
     2.6  options 	RTC_OFFSET=0	# hardware clock is this many mins. west of GMT
     2.7 -#options 	NTP		# NTP phase/frequency locked loop
     2.8 +options 	NTP		# NTP phase/frequency locked loop
     2.9  
    2.10  options 	KTRACE		# system call tracing via ktrace(1)
    2.11  #options 	SYSTRACE	# system call vetting via systrace(1)
     3.1 --- a/netbsd-2.0-xen-sparse/sys/arch/xen/include/if_xennetvar.h	Thu Nov 04 10:59:36 2004 +0000
     3.2 +++ b/netbsd-2.0-xen-sparse/sys/arch/xen/include/if_xennetvar.h	Thu Nov 04 11:14:46 2004 +0000
     3.3 @@ -94,6 +94,10 @@ struct xennet_softc {
     3.4  	union xennet_bufarray	sc_rx_bufa[NETIF_TX_RING_SIZE];
     3.5  
     3.6  	SLIST_HEAD(, xennet_txbuf)	sc_tx_bufs;
     3.7 +
     3.8 +#if NRND > 0
     3.9 +	rndsource_element_t	sc_rnd_source;
    3.10 +#endif
    3.11  };
    3.12  
    3.13  struct xennet_attach_args {
     4.1 --- a/netbsd-2.0-xen-sparse/sys/arch/xen/include/xbdvar.h	Thu Nov 04 10:59:36 2004 +0000
     4.2 +++ b/netbsd-2.0-xen-sparse/sys/arch/xen/include/xbdvar.h	Thu Nov 04 11:14:46 2004 +0000
     4.3 @@ -42,6 +42,9 @@ struct xbd_softc {
     4.4  	struct dk_intf		*sc_di;		/* pseudo-disk interface */
     4.5  	struct simplelock	sc_slock;	/* our lock */
     4.6  	int			sc_shutdown;	/* about to be removed */
     4.7 +#if NRND > 0
     4.8 +	rndsource_element_t	sc_rnd_source;
     4.9 +#endif
    4.10  };
    4.11  
    4.12  struct xbd_attach_args {
     5.1 --- a/netbsd-2.0-xen-sparse/sys/arch/xen/xen/clock.c	Thu Nov 04 10:59:36 2004 +0000
     5.2 +++ b/netbsd-2.0-xen-sparse/sys/arch/xen/xen/clock.c	Thu Nov 04 11:14:46 2004 +0000
     5.3 @@ -184,7 +184,7 @@ startrtclock()
     5.4  void
     5.5  xen_delay(int n)
     5.6  {
     5.7 -	u_int64_t when;
     5.8 +	uint64_t when;
     5.9  
    5.10  	get_time_values_from_xen();
    5.11  	when = shadow_system_time + n * 1000;
     6.1 --- a/netbsd-2.0-xen-sparse/sys/arch/xen/xen/if_xennet.c	Thu Nov 04 10:59:36 2004 +0000
     6.2 +++ b/netbsd-2.0-xen-sparse/sys/arch/xen/xen/if_xennet.c	Thu Nov 04 11:14:46 2004 +0000
     6.3 @@ -36,6 +36,7 @@
     6.4  __KERNEL_RCSID(0, "$NetBSD: if_xennet.c,v 1.1.2.1 2004/05/22 15:58:29 he Exp $");
     6.5  
     6.6  #include "opt_inet.h"
     6.7 +#include "rnd.h"
     6.8  
     6.9  #include <sys/param.h>
    6.10  #include <sys/systm.h>
    6.11 @@ -525,7 +526,7 @@ xennet_interface_status_change(netif_fe_
    6.12  		    ether_sprintf(sc->sc_enaddr));
    6.13  
    6.14  #if NRND > 0
    6.15 -		rnd_attach_source(&sc->rnd_source, sc->sc_dev.dv_xname,
    6.16 +		rnd_attach_source(&sc->sc_rnd_source, sc->sc_dev.dv_xname,
    6.17  		    RND_TYPE_NET, 0);
    6.18  #endif
    6.19  		break;
    6.20 @@ -647,6 +648,10 @@ xen_network_handler(void *arg)
    6.21  
    6.22  	network_tx_buf_gc(sc);
    6.23  
    6.24 +#if NRND > 0
    6.25 +	rnd_add_uint32(&sc->sc_rnd_source, sc->sc_rx_resp_cons);
    6.26 +#endif
    6.27 +
    6.28   again:
    6.29  	for (ringidx = sc->sc_rx_resp_cons;
    6.30  	     ringidx != sc->sc_rx->resp_prod;
    6.31 @@ -970,6 +975,10 @@ xennet_start(struct ifnet *ifp)
    6.32  		panic("%s: No packet to start", sc->sc_dev.dv_xname);
    6.33  #endif
    6.34  
    6.35 +#if NRND > 0
    6.36 +	rnd_add_uint32(&sc->sc_rnd_source, sc->sc_tx->req_prod);
    6.37 +#endif
    6.38 +
    6.39  	if ((ifp->if_flags & (IFF_RUNNING | IFF_OACTIVE)) != IFF_RUNNING)
    6.40  		return;
    6.41  
     7.1 --- a/netbsd-2.0-xen-sparse/sys/arch/xen/xen/xbd.c	Thu Nov 04 10:59:36 2004 +0000
     7.2 +++ b/netbsd-2.0-xen-sparse/sys/arch/xen/xen/xbd.c	Thu Nov 04 11:14:46 2004 +0000
     7.3 @@ -36,6 +36,7 @@
     7.4  __KERNEL_RCSID(0, "$NetBSD: xbd.c,v 1.9.2.1 2004/05/22 15:59:11 he Exp $");
     7.5  
     7.6  #include "xbd.h"
     7.7 +#include "rnd.h"
     7.8  
     7.9  #include <sys/types.h>
    7.10  #include <sys/param.h>
    7.11 @@ -61,6 +62,10 @@
    7.12  
    7.13  #include <uvm/uvm.h>
    7.14  
    7.15 +#if NRND > 0
    7.16 +#include <sys/rnd.h>
    7.17 +#endif
    7.18 +
    7.19  #include <dev/dkvar.h>
    7.20  #include <machine/xbdvar.h>
    7.21  
    7.22 @@ -1002,6 +1007,11 @@ xbd_attach(struct device *parent, struct
    7.23  		    NULL, 0, &xs->sc_xd_device, 0,
    7.24  		    CTL_CREATE, CTL_EOL);
    7.25  	}
    7.26 +
    7.27 +#if NRND > 0
    7.28 +	rnd_attach_source(&xs->sc_rnd_source, xs->sc_dev.dv_xname,
    7.29 +	    RND_TYPE_DISK, 0);
    7.30 +#endif
    7.31  }
    7.32  
    7.33  static int
    7.34 @@ -1231,10 +1241,15 @@ xbdresume(void)
    7.35  				if (pxr->xr_aligned)
    7.36  					unmap_align(pxr);
    7.37  				PUT_XBDREQ(pxr);
    7.38 -				if (xs)
    7.39 +				if (xs) {
    7.40  					disk_unbusy(&xs->sc_dksc.sc_dkdev,
    7.41  					    (bp->b_bcount - bp->b_resid),
    7.42  					    (bp->b_flags & B_READ));
    7.43 +#if NRND > 0
    7.44 +					rnd_add_uint32(&xs->sc_rnd_source,
    7.45 +					    bp->b_blkno);
    7.46 +#endif
    7.47 +				}
    7.48  				biodone(bp);
    7.49  			}
    7.50  			continue;
    7.51 @@ -1405,10 +1420,15 @@ xbd_response_handler(void *arg)
    7.52  					unmap_align(pxr);
    7.53  
    7.54  				PUT_XBDREQ(pxr);
    7.55 -				if (xs)
    7.56 +				if (xs) {
    7.57  					disk_unbusy(&xs->sc_dksc.sc_dkdev,
    7.58  					    (bp->b_bcount - bp->b_resid),
    7.59  					    (bp->b_flags & B_READ));
    7.60 +#if NRND > 0
    7.61 +					rnd_add_uint32(&xs->sc_rnd_source,
    7.62 +					    bp->b_blkno);
    7.63 +#endif
    7.64 +				}
    7.65  				biodone(bp);
    7.66  				if (!SIMPLEQ_EMPTY(&xbdr_suspended))
    7.67  					xbdresume();