From owner-p4-projects@FreeBSD.ORG Thu Apr 30 15:06:33 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id F13791065675; Thu, 30 Apr 2009 15:06:32 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A9D491065670 for ; Thu, 30 Apr 2009 15:06:32 +0000 (UTC) (envelope-from zec@fer.hr) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 98D6B8FC17 for ; Thu, 30 Apr 2009 15:06:32 +0000 (UTC) (envelope-from zec@fer.hr) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n3UF6WAj018262 for ; Thu, 30 Apr 2009 15:06:32 GMT (envelope-from zec@fer.hr) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n3UF6WmH018260 for perforce@freebsd.org; Thu, 30 Apr 2009 15:06:32 GMT (envelope-from zec@fer.hr) Date: Thu, 30 Apr 2009 15:06:32 GMT Message-Id: <200904301506.n3UF6WmH018260@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@fer.hr using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 161386 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Apr 2009 15:06:34 -0000 http://perforce.freebsd.org/chv.cgi?CH=161386 Change 161386 by zec@zec_amdx2 on 2009/04/30 15:05:53 Unbreak GENERIC & VIMAGE builds. Affected files ... .. //depot/projects/vimage-commit2/src/sys/kern/kern_vimage.c#23 edit .. //depot/projects/vimage-commit2/src/sys/netinet6/mld6.c#18 edit .. //depot/projects/vimage-commit2/src/sys/sys/vimage.h#47 edit Differences ... ==== //depot/projects/vimage-commit2/src/sys/kern/kern_vimage.c#23 (text+ko) ==== @@ -57,8 +57,6 @@ static int vnet_mod_destructor(struct vnet_modlink *); #ifdef VIMAGE -/* curvnet should be thread-local - this is only a temporary step. */ -struct vnet *curvnet; struct vnet_list_head vnet_head; #endif ==== //depot/projects/vimage-commit2/src/sys/netinet6/mld6.c#18 (text+ko) ==== @@ -2908,7 +2908,7 @@ * indexes to guard against interface detach, they are * unique to each VIMAGE and must be retrieved. */ - CURVNET_SET(m->m_pkthdr.header); + CURVNET_SET(m->m_pkthdr.rcvif->if_vnet); /* XXX Marko revisit! */ INIT_VNET_NET(curvnet); INIT_VNET_INET6(curvnet); ifindex = mld_restore_context(m); ==== //depot/projects/vimage-commit2/src/sys/sys/vimage.h#47 (text+ko) ==== @@ -162,43 +162,6 @@ void *mod_data[VNET_MOD_MAX]; LIST_ENTRY(vnet) vnet_le; /* all vnets list */ u_int vnet_magic_n; -}; -#endif - -#ifdef VIMAGE -extern struct vnet *curvnet; /* XXX will become thread-local soon */ -#else -#define curvnet NULL -#endif - -#ifdef VIMAGE -#ifdef VNET_DEBUG -#define INIT_FROM_VNET(vnet, modindex, modtype, sym) \ - if (vnet == NULL || vnet != curvnet) \ - panic("in %s:%d %s()\n vnet=%p curvnet=%p", \ - __FILE__, __LINE__, __FUNCTION__, \ - vnet, curvnet); \ - modtype *sym = (vnet)->mod_data[modindex]; -#else /* !VNET_DEBUG */ -#define INIT_FROM_VNET(vnet, modindex, modtype, sym) \ - modtype *sym = (vnet)->mod_data[modindex]; -#endif /* !VNET_DEBUG */ -#else /* !VIMAGE */ -#define INIT_FROM_VNET(vnet, modindex, modtype, sym) -#endif - -#ifdef VIMAGE -LIST_HEAD(vnet_list_head, vnet); -extern struct vnet_list_head vnet_head; -#define VNET_ITERATOR_DECL(arg) struct vnet *arg; -#define VNET_FOREACH(arg) LIST_FOREACH(arg, &vnet_head, vnet_le) -#else -#define VNET_ITERATOR_DECL(arg) -#define VNET_FOREACH(arg) -#endif - -#define TD_TO_VNET(td) curvnet - u_int ifccnt; u_int sockcnt; }; @@ -207,7 +170,7 @@ #ifdef VIMAGE #define curvnet curthread->td_vnet #else -#define curvnet NULL +#define curvnet NULL #endif #define VNET_MAGIC_N 0x3e0d8f29 @@ -264,14 +227,14 @@ #ifdef VIMAGE #ifdef VNET_DEBUG -#define INIT_FROM_VNET(vnet, modindex, modtype, sym) \ +#define INIT_FROM_VNET(vnet, modindex, modtype, sym) \ if (vnet == NULL || vnet != curvnet) \ panic("in %s:%d %s()\n vnet=%p curvnet=%p", \ __FILE__, __LINE__, __FUNCTION__, \ vnet, curvnet); \ modtype *sym = (vnet)->mod_data[modindex]; #else /* !VNET_DEBUG */ -#define INIT_FROM_VNET(vnet, modindex, modtype, sym) \ +#define INIT_FROM_VNET(vnet, modindex, modtype, sym) \ modtype *sym = (vnet)->mod_data[modindex]; #endif /* !VNET_DEBUG */ #else /* !VIMAGE */ @@ -281,8 +244,8 @@ #ifdef VIMAGE LIST_HEAD(vnet_list_head, vnet); extern struct vnet_list_head vnet_head; -#define VNET_ITERATOR_DECL(arg) struct vnet *arg; -#define VNET_FOREACH(arg) LIST_FOREACH(arg, &vnet_head, vnet_le) +#define VNET_ITERATOR_DECL(arg) struct vnet *arg; +#define VNET_FOREACH(arg) LIST_FOREACH(arg, &vnet_head, vnet_le) #else #define VNET_ITERATOR_DECL(arg) #define VNET_FOREACH(arg)