Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 23 Jul 2008 09:06:52 GMT
From:      Marko Zec <zec@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 145687 for review
Message-ID:  <200807230906.m6N96qZP058045@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=145687

Change 145687 by zec@zec_tpx32 on 2008/07/23 09:05:54

	Unbreak GENERIC build.

Affected files ...

.. //depot/projects/vimage-commit/src/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#4 edit
.. //depot/projects/vimage-commit/src/sys/kern/tty.c#4 edit
.. //depot/projects/vimage-commit/src/sys/net/if_ethersubr.c#4 edit
.. //depot/projects/vimage-commit/src/sys/netinet/ip_input.c#4 edit
.. //depot/projects/vimage-commit/src/sys/netinet/tcp_var.h#3 edit
.. //depot/projects/vimage-commit/src/sys/netinet6/icmp6.c#5 edit
.. //depot/projects/vimage-commit/src/sys/netinet6/in6_proto.c#3 edit
.. //depot/projects/vimage-commit/src/sys/sys/sysctl.h#2 edit
.. //depot/projects/vimage-commit/src/sys/sys/vimage.h#5 edit
.. //depot/projects/vimage-commit/src/sys/vm/vm_meter.c#4 edit

Differences ...

==== //depot/projects/vimage-commit/src/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#4 (text+ko) ====


==== //depot/projects/vimage-commit/src/sys/kern/tty.c#4 (text+ko) ====

@@ -2541,7 +2541,6 @@
 void
 ttyinfo(struct tty *tp)
 {
-	INIT_VPROCG(TD_TO_VPROCG(curthread));
 	struct timeval utime, stime;
 	struct proc *p, *pick;
 	struct thread *td, *picktd;
@@ -2556,7 +2555,7 @@
 		return;
 
 	/* Print load average. */
-	load = (V_averunnable.ldavg[0] * 100 + FSCALE / 2) >> FSHIFT;
+	load = (averunnable.ldavg[0] * 100 + FSCALE / 2) >> FSHIFT;
 	ttyprintf(tp, "load: %d.%02d ", load / 100, load % 100);
 
 	/*

==== //depot/projects/vimage-commit/src/sys/net/if_ethersubr.c#4 (text+ko) ====


==== //depot/projects/vimage-commit/src/sys/netinet/ip_input.c#4 (text+ko) ====

@@ -93,6 +93,7 @@
     forwarding, CTLFLAG_RW, ipforwarding, 0,
     "Enable IP forwarding between interfaces");
 
+static int	ipsendredirects = 1; /* XXX */
 SYSCTL_V_INT(V_NET, vnet_inet, _net_inet_ip, IPCTL_SENDREDIRECTS,
     redirect, CTLFLAG_RW, ipsendredirects, 0,
     "Enable sending IP redirects");

==== //depot/projects/vimage-commit/src/sys/netinet/tcp_var.h#3 (text+ko) ====

@@ -510,6 +510,15 @@
 extern	int tcp_do_sack;		/* SACK enabled/disabled */
 extern	int tcp_sc_rst_sock_fail;	/* RST on sock alloc failure */
 
+extern	int tcp_do_tso;
+extern	int tcp_do_autosndbuf;
+extern	int tcp_autosndbuf_max;
+extern	int tcp_autosndbuf_inc;
+extern	int tcp_autorcvbuf;
+extern	int tcp_do_autorcvbuf;
+extern	int tcp_autorcvbuf_inc;
+extern	int tcp_autorcvbuf_max;
+
 int	 tcp_addoptions(struct tcpopt *, u_char *);
 struct tcpcb *
 	 tcp_close(struct tcpcb *);

==== //depot/projects/vimage-commit/src/sys/netinet6/icmp6.c#5 (text+ko) ====

@@ -718,7 +718,7 @@
 			p = (u_char *)(nicmp6 + 1);
 			bzero(p, 4);
 			bcopy(hostname, p + 4, maxhlen); /* meaningless TTL */
-			mtx_unlock(&V_hostname_mtx);
+			mtx_unlock(&hostname_mtx);
 			noff = sizeof(struct ip6_hdr);
 			n->m_pkthdr.len = n->m_len = sizeof(struct ip6_hdr) +
 				sizeof(struct icmp6_hdr) + 4 + maxhlen;

==== //depot/projects/vimage-commit/src/sys/netinet6/in6_proto.c#3 (text+ko) ====

@@ -542,16 +542,16 @@
 SYSCTL_V_STRUCT(V_NET, vnet_inet6, _net_inet6_ip6, IPV6CTL_RIP6STATS,
 	rip6stats, CTLFLAG_RD, rip6stat, rip6stat, "");
 SYSCTL_V_INT(V_NET, vnet_inet6, _net_inet6_ip6, IPV6CTL_PREFER_TEMPADDR,
-	prefer_tempaddr, CTLFLAG_RW, ip6_prefer_tempaddr,	0, "");
+	prefer_tempaddr, CTLFLAG_RW, ip6_prefer_tempaddr, 0, "");
 SYSCTL_V_INT(V_NET, vnet_inet6, _net_inet6_ip6, IPV6CTL_USE_DEFAULTZONE,
-	use_defaultzone, CTLFLAG_RW, ip6_use_defzone,		0,"");
+	use_defaultzone, CTLFLAG_RW, ip6_use_defzone, 0,"");
 SYSCTL_V_INT(V_NET, vnet_inet6, _net_inet6_ip6, IPV6CTL_MAXFRAGS,
-	maxfrags, CTLFLAG_RW,		ip6_maxfrags,	0, "");
+	maxfrags, CTLFLAG_RW, ip6_maxfrags, 0, "");
 SYSCTL_V_INT(V_NET, vnet_inet6, _net_inet6_ip6, IPV6CTL_MCAST_PMTU,
-	mcast_pmtu, CTLFLAG_RW,		ip6_mcast_pmtu,	0, "");
+	mcast_pmtu, CTLFLAG_RW, ip6_mcast_pmtu, 0, "");
 #ifdef IPSTEALTH
-SYSCTL_V_INT(V_NET, vnet_inet6, _net_inet6_ip6, IPV6CTL_STEALTH, stealth, CTLFLAG_RW,
-ip6stealth, 0, "");
+SYSCTL_V_INT(V_NET, vnet_inet6, _net_inet6_ip6, IPV6CTL_STEALTH,
+	stealth, CTLFLAG_RW, ip6stealth, 0, "");
 #endif
 
 /* net.inet6.icmp6 */
@@ -580,18 +580,3 @@
 SYSCTL_V_INT(V_NET, vnet_inet6, _net_inet6_icmp6, ICMPV6CTL_ND6_DEBUG,
 	nd6_debug, CTLFLAG_RW,	nd6_debug,		0, "");
 
-struct domain inet6domain = {
-	.dom_family =		AF_INET6,
-	.dom_name =		"internet6",
-	.dom_protosw =		(struct protosw *)inet6sw,
-	.dom_protoswNPROTOSW =	(struct protosw *)
-				&inet6sw[sizeof(inet6sw)/sizeof(inet6sw[0])],
-	.dom_rtattach =		in6_inithead,
-	.dom_rtoffset =		offsetof(struct sockaddr_in6, sin6_addr) << 3,
-	.dom_maxrtkey =		sizeof(struct sockaddr_in6),
-	.dom_ifattach =		in6_domifattach,
-	.dom_ifdetach =		in6_domifdetach,
-	.dom_init =		ip6_dom_init
-};
-
-DOMAIN_SET(inet6);

==== //depot/projects/vimage-commit/src/sys/sys/sysctl.h#2 (text+ko) ====

@@ -162,6 +162,8 @@
 	const char	*oid_fmt;
 	int		oid_refcnt;
 	const char	*oid_descr;
+	short		oid_v_subs;
+	short		oid_v_mod;
 };
 
 #define SYSCTL_IN(r, p, l) (r->newfunc)(r, p, l)
@@ -175,6 +177,10 @@
 int sysctl_handle_string(SYSCTL_HANDLER_ARGS);
 int sysctl_handle_opaque(SYSCTL_HANDLER_ARGS);
 
+int sysctl_handle_v_int(SYSCTL_HANDLER_ARGS);
+int sysctl_handle_v_string(SYSCTL_HANDLER_ARGS);
+int sysctl_handle_v_opaque(SYSCTL_HANDLER_ARGS);
+
 /*
  * These functions are used to add/remove an oid from the mib.
  */
@@ -215,10 +221,24 @@
 /* This constructs a "raw" MIB oid. */
 #define SYSCTL_OID(parent, nbr, name, kind, a1, a2, handler, fmt, descr) \
 	static struct sysctl_oid sysctl__##parent##_##name = {		 \
-		&sysctl_##parent##_children, { 0 },			 \
-		nbr, kind, a1, a2, #name, handler, fmt, 0, __DESCR(descr) }; \
+		&sysctl_##parent##_children, { 0 }, nbr, kind,		 \
+		a1, a2, #name, handler, fmt, 0, __DESCR(descr), 0, 0 };  \
 	DATA_SET(sysctl_set, sysctl__##parent##_##name)
 
+#ifdef VIMAGE
+#define SYSCTL_V_OID(subs, mod, parent, nbr, name, kind, a1, a2,	 \
+		     handler, fmt, descr)				 \
+	static struct sysctl_oid sysctl__##parent##_##name = {	 \
+		&sysctl_##parent##_children, { 0 }, nbr, kind,		 \
+		(void *) offsetof(struct mod, _##a1), a2, #name,	 \
+		handler, fmt, 0,  __DESCR(descr), subs, V_MOD_##mod };	 \
+	DATA_SET(sysctl_set, sysctl__##parent##_##name)
+#else
+#define SYSCTL_V_OID(subs, mod, parent, nbr, name, kind, a1, a2, \
+		     handler, fmt, descr) \
+	SYSCTL_OID(parent, nbr, name, kind, &a1, a2, handler, fmt, descr)
+#endif
+
 #define SYSCTL_ADD_OID(ctx, parent, nbr, name, kind, a1, a2, handler, fmt, descr) \
 	sysctl_add_oid(ctx, parent, nbr, name, kind, a1, a2, handler, fmt, __DESCR(descr))
 
@@ -226,7 +246,7 @@
 #define SYSCTL_NODE(parent, nbr, name, access, handler, descr)		    \
 	struct sysctl_oid_list SYSCTL_NODE_CHILDREN(parent, name);	    \
 	SYSCTL_OID(parent, nbr, name, CTLTYPE_NODE|(access),		    \
-		   (void*)&SYSCTL_NODE_CHILDREN(parent, name), 0, handler, \
+		   (void*)&SYSCTL_NODE_CHILDREN(parent, name), 0, handler,  \
 		   "N", descr)
 
 #define SYSCTL_ADD_NODE(ctx, parent, nbr, name, access, handler, descr)	    \
@@ -238,6 +258,16 @@
 	SYSCTL_OID(parent, nbr, name, CTLTYPE_STRING|(access), \
 		arg, len, sysctl_handle_string, "A", descr)
 
+#ifdef VIMAGE
+#define SYSCTL_V_STRING(subs, mod, parent, nbr, name, access, sym, len, descr) \
+	SYSCTL_V_OID(subs, mod, parent, nbr, name, CTLTYPE_STRING|(access), \
+		sym, len, sysctl_handle_v_string, "A", descr)
+#else
+#define SYSCTL_V_STRING(subs, mod, parent, nbr, name, access, sym, len, descr) \
+	SYSCTL_OID(parent, nbr, name, CTLTYPE_STRING|(access), \
+		&sym, len, sysctl_handle_string, "A", descr)
+#endif
+
 #define SYSCTL_ADD_STRING(ctx, parent, nbr, name, access, arg, len, descr)  \
 	sysctl_add_oid(ctx, parent, nbr, name, CTLTYPE_STRING|(access),	    \
 	arg, len, sysctl_handle_string, "A", __DESCR(descr))
@@ -247,6 +277,16 @@
 	SYSCTL_OID(parent, nbr, name, CTLTYPE_INT|(access), \
 		ptr, val, sysctl_handle_int, "I", descr)
 
+#ifdef VIMAGE
+#define SYSCTL_V_INT(subs, mod, parent, nbr, name, access, sym, val, descr) \
+	SYSCTL_V_OID(subs, mod, parent, nbr, name, CTLTYPE_INT|(access), \
+		sym, val, sysctl_handle_v_int, "I", descr)
+#else
+#define SYSCTL_V_INT(subs, mod, parent, nbr, name, access, sym, val, descr) \
+	SYSCTL_OID(parent, nbr, name, CTLTYPE_INT|(access), \
+		&sym, val, sysctl_handle_int, "I", descr)
+#endif
+
 #define SYSCTL_ADD_INT(ctx, parent, nbr, name, access, ptr, val, descr)	    \
 	sysctl_add_oid(ctx, parent, nbr, name, CTLTYPE_INT|(access),	    \
 	ptr, val, sysctl_handle_int, "I", __DESCR(descr))
@@ -309,6 +349,20 @@
 		ptr, sizeof(struct type), sysctl_handle_opaque, \
 		"S," #type, descr)
 
+#ifdef VIMAGE
+#define SYSCTL_V_STRUCT(subs, mod, parent, nbr, name, access, sym, \
+		type, descr) \
+	SYSCTL_V_OID(subs, mod, parent, nbr, name, CTLTYPE_OPAQUE|(access), \
+		sym, sizeof(struct type), sysctl_handle_v_opaque, \
+		"S," #type, descr)
+#else
+#define SYSCTL_V_STRUCT(subs, mod, parent, nbr, name, access, sym, \
+		type, descr) \
+	SYSCTL_OID(parent, nbr, name, CTLTYPE_OPAQUE|(access), \
+		&sym, sizeof(struct type), sysctl_handle_opaque, \
+		"S," #type, descr)
+#endif
+
 #define SYSCTL_ADD_STRUCT(ctx, parent, nbr, name, access, ptr, type, descr) \
 	sysctl_add_oid(ctx, parent, nbr, name, CTLTYPE_OPAQUE|(access),	    \
 	ptr, sizeof(struct type), sysctl_handle_opaque, "S," #type, __DESCR(descr))
@@ -318,6 +372,11 @@
 	SYSCTL_OID(parent, nbr, name, (access), \
 		ptr, arg, handler, fmt, descr)
 
+#define SYSCTL_V_PROC(subs, mod, parent, nbr, name, access, sym, arg, \
+		handler, fmt, descr) \
+	SYSCTL_V_OID(subs, mod, parent, nbr, name, (access), \
+		sym, arg, handler, fmt, descr)
+
 #define SYSCTL_ADD_PROC(ctx, parent, nbr, name, access, ptr, arg, handler, fmt, descr) \
 	sysctl_add_oid(ctx, parent, nbr, name, (access),			    \
 	ptr, arg, handler, fmt, __DESCR(descr))
@@ -329,6 +388,30 @@
 #define	FEATURE(name, desc)						\
 	SYSCTL_INT(_kern_features, OID_AUTO, name, CTLFLAG_RD, 0, 1, desc)
 	
+/*
+ * Resolve void *arg1 in a proper virtualization container.
+ */
+#ifdef VIMAGE
+#define SYSCTL_RESOLVE_V_ARG1() do {					\
+	char *cp;							\
+	switch (oidp->oid_v_subs) {					\
+	case V_NET:							\
+		cp = (char *)						\
+		    TD_TO_VNET(curthread)->mod_data[oidp->oid_v_mod];	\
+		break;							\
+	case V_PROCG:							\
+		cp = (char *) TD_TO_VPROCG(curthread);			\
+		break;							\
+	case V_CPU:							\
+		cp = (char *) TD_TO_VCPU(curthread);			\
+		break;							\
+	default:							\
+		panic("unsupported module id %d", oidp->oid_v_subs);	\
+	}								\
+	arg1 = cp + (size_t) arg1;					\
+} while (0)
+#endif
+
 #endif /* _KERNEL */
 
 /*

==== //depot/projects/vimage-commit/src/sys/sys/vimage.h#5 (text+ko) ====

@@ -407,18 +407,14 @@
 
 	u_int	nprocs;	
 
-	long	_cp_time[CPUSTATES];
-
 	char	_hostname[MAXHOSTNAMELEN];
 	char	_domainname[MAXHOSTNAMELEN];
 
+#if 0
+	long	_cp_time[CPUSTATES];
+
 	int	_morphing_symlinks;
 
-	struct loadavg _averunnable;	/* from kern/kern_synch.c */
-	int	_sched_tdcnt;		/* from kern/sched_4bsd.c */
-	int	_tdq_sysload[32]; /* XXX MAXCPUS from kern/sched_ule.c (SMP) */
-
-#if 0
 	u_int	proc_limit;		/* max. number of processes */
 
 	struct	msgbuf *msgbufp;

==== //depot/projects/vimage-commit/src/sys/vm/vm_meter.c#4 (text+ko) ====

@@ -79,20 +79,19 @@
 static int
 sysctl_vm_loadavg(SYSCTL_HANDLER_ARGS)
 {
-	INIT_VPROCG(TD_TO_VPROCG(curthread));
 	
 #ifdef SCTL_MASK32
 	u_int32_t la[4];
 
 	if (req->flags & SCTL_MASK32) {
-		la[0] = V_averunnable.ldavg[0];
-		la[1] = V_averunnable.ldavg[1];
-		la[2] = V_averunnable.ldavg[2];
-		la[3] = V_averunnable.fscale;
+		la[0] = averunnable.ldavg[0];
+		la[1] = averunnable.ldavg[1];
+		la[2] = averunnable.ldavg[2];
+		la[3] = averunnable.fscale;
 		return SYSCTL_OUT(req, la, sizeof(la));
 	} else
 #endif
-		return SYSCTL_OUT(req, &V_averunnable, sizeof(V_averunnable));
+		return SYSCTL_OUT(req, &averunnable, sizeof(averunnable));
 }
 SYSCTL_PROC(_vm, VM_LOADAVG, loadavg, CTLTYPE_STRUCT|CTLFLAG_RD, 
     NULL, 0, sysctl_vm_loadavg, "S,loadavg", "Machine loadaverage history");



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200807230906.m6N96qZP058045>