From owner-freebsd-arm@FreeBSD.ORG Wed Dec 13 21:53:56 2006 Return-Path: X-Original-To: freebsd-arm@freebsd.org Delivered-To: freebsd-arm@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id AD7B216A407 for ; Wed, 13 Dec 2006 21:53:56 +0000 (UTC) (envelope-from ticso@cicely12.cicely.de) Received: from raven.bwct.de (raven.bwct.de [85.159.14.73]) by mx1.FreeBSD.org (Postfix) with ESMTP id B115843CBD for ; Wed, 13 Dec 2006 21:52:13 +0000 (GMT) (envelope-from ticso@cicely12.cicely.de) Received: from cicely5.cicely.de ([10.1.1.7]) by raven.bwct.de (8.13.4/8.13.4) with ESMTP id kBDLra9r073008; Wed, 13 Dec 2006 22:53:36 +0100 (CET) (envelope-from ticso@cicely12.cicely.de) Received: from cicely12.cicely.de (cicely12.cicely.de [10.1.1.14]) by cicely5.cicely.de (8.13.4/8.13.4) with ESMTP id kBDLrRNC062591 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 13 Dec 2006 22:53:28 +0100 (CET) (envelope-from ticso@cicely12.cicely.de) Received: from cicely12.cicely.de (localhost [127.0.0.1]) by cicely12.cicely.de (8.13.4/8.13.3) with ESMTP id kBDLrRfX080569; Wed, 13 Dec 2006 22:53:27 +0100 (CET) (envelope-from ticso@cicely12.cicely.de) Received: (from ticso@localhost) by cicely12.cicely.de (8.13.4/8.13.3/Submit) id kBDLrRFo080568; Wed, 13 Dec 2006 22:53:27 +0100 (CET) (envelope-from ticso) Date: Wed, 13 Dec 2006 22:53:27 +0100 From: Bernd Walter To: Olivier Houchard Message-ID: <20061213215326.GA75351@cicely12.cicely.de> References: <20061213192500.GX75351@cicely12.cicely.de> <20061213202938.GA26703@ci0.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20061213202938.GA26703@ci0.org> X-Operating-System: FreeBSD cicely12.cicely.de 5.4-STABLE alpha User-Agent: Mutt/1.5.9i X-Spam-Status: No, score=-4.4 required=5.0 tests=ALL_TRUSTED=-1.8, BAYES_00=-2.599 autolearn=ham version=3.1.7 X-Spam-Checker-Version: SpamAssassin 3.1.7 (2006-10-05) on cicely12.cicely.de Cc: freebsd-arm@freebsd.org, ticso@cicely.de Subject: Re: atomic_add_long and others missing X-BeenThere: freebsd-arm@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: ticso@cicely.de List-Id: Porting FreeBSD to the StrongARM Processor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Dec 2006 21:53:56 -0000 On Wed, Dec 13, 2006 at 09:29:38PM +0100, Olivier Houchard wrote: > On Wed, Dec 13, 2006 at 08:25:00PM +0100, Bernd Walter wrote: > > Netgraph expects further atomic functions: > > ../../../netgraph/ng_base.c: In function `ng_dequeue': > > ../../../netgraph/ng_base.c:1944: warning: implicit declaration of function `atomic_add_long' > > ../../../netgraph/ng_base.c:1944: warning: nested extern declaration of `atomic_add_long' > > ../../../netgraph/ng_base.c:1951: warning: nested extern declaration of `atomic_add_long' > > ../../../netgraph/ng_base.c:1944: warning: redundant redeclaration of 'atomic_add_long' > > ../../../netgraph/ng_base.c:1944: warning: previous implicit declaration of 'atomic_add_long' was here > > ../../../netgraph/ng_base.c: In function `ng_queue_rw': > > ../../../netgraph/ng_base.c:1991: warning: nested extern declaration of `atomic_add_long' > > ../../../netgraph/ng_base.c:1944: warning: redundant redeclaration of 'atomic_add_long' > > ../../../netgraph/ng_base.c:1944: warning: previous implicit declaration of 'atomic_add_long' was here > > ../../../netgraph/ng_base.c: In function `ng_acquire_read': > > ../../../netgraph/ng_base.c:2031: warning: nested extern declaration of `atomic_add_long' > > ../../../netgraph/ng_base.c:1944: warning: redundant redeclaration of 'atomic_add_long' > > ../../../netgraph/ng_base.c:1944: warning: previous implicit declaration of 'atomic_add_long' was here > > ../../../netgraph/ng_base.c:2039: warning: implicit declaration of function `atomic_subtract_long' > > ../../../netgraph/ng_base.c:2039: warning: nested extern declaration of `atomic_subtract_long' > > ../../../netgraph/ng_base.c: In function `ng_acquire_write': > > ../../../netgraph/ng_base.c:2083: warning: nested extern declaration of `atomic_add_long' > > ../../../netgraph/ng_base.c:1944: warning: redundant redeclaration of 'atomic_add_long' > > ../../../netgraph/ng_base.c:1944: warning: previous implicit declaration of 'atomic_add_long' was here > > ../../../netgraph/ng_base.c:2087: warning: nested extern declaration of `atomic_subtract_long' > > ../../../netgraph/ng_base.c:2039: warning: redundant redeclaration of 'atomic_subtract_long' > > ../../../netgraph/ng_base.c:2039: warning: previous implicit declaration of 'atomic_subtract_long' was here > > ../../../netgraph/ng_base.c: In function `ng_leave_read': > > ../../../netgraph/ng_base.c:2107: warning: nested extern declaration of `atomic_subtract_long' > > ../../../netgraph/ng_base.c:2039: warning: redundant redeclaration of 'atomic_subtract_long' > > ../../../netgraph/ng_base.c:2039: warning: previous implicit declaration of 'atomic_subtract_long' was here > > ../../../netgraph/ng_base.c: In function `ng_leave_write': > > ../../../netgraph/ng_base.c:2113: warning: nested extern declaration of `atomic_subtract_long' > > ../../../netgraph/ng_base.c:2039: warning: redundant redeclaration of 'atomic_subtract_long' > > ../../../netgraph/ng_base.c:2039: warning: previous implicit declaration of 'atomic_subtract_long' was here > > ../../../netgraph/ng_base.c: In function `ng_flush_input_queue': > > ../../../netgraph/ng_base.c:2127: warning: nested extern declaration of `atomic_add_long' > > ../../../netgraph/ng_base.c:1944: warning: redundant redeclaration of 'atomic_add_long' > > ../../../netgraph/ng_base.c:1944: warning: previous implicit declaration of 'atomic_add_long' was here > > *** Error code 1 > > > > I've #define'ed them localy to _32, but I suspect that there are > > more missing. > > > > Yes a bunch of those are missing. > I remember des@ posting a patch to complete atomic.h, but I've never heard back > from him. Ok - I've found his definition and clean it up in respect of casts, but while doing I noticed something else possibly missing. I'm not that familar with ARM yet, but doesn't ARM need memory barriers for acq and rel? Currently they are all mapped to the standard functions without barriers. -- B.Walter http://www.bwct.de http://www.fizon.de bernd@bwct.de info@bwct.de support@fizon.de