From owner-freebsd-arm@FreeBSD.ORG Fri Feb 19 21:38:22 2010 Return-Path: Delivered-To: arm@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A746D10656C9; Fri, 19 Feb 2010 21:38:22 +0000 (UTC) (envelope-from ticso@cicely7.cicely.de) Received: from raven.bwct.de (raven.bwct.de [85.159.14.73]) by mx1.freebsd.org (Postfix) with ESMTP id 4946C8FC13; Fri, 19 Feb 2010 21:38:21 +0000 (UTC) Received: from mail.cicely.de ([10.1.1.37]) by raven.bwct.de (8.13.4/8.13.4) with ESMTP id o1JLcJ0c025726 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Fri, 19 Feb 2010 22:38:20 +0100 (CET) (envelope-from ticso@cicely7.cicely.de) Received: from cicely7.cicely.de (cicely7.cicely.de [10.1.1.9]) by mail.cicely.de (8.14.3/8.14.3) with ESMTP id o1JLcCRB023688 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Fri, 19 Feb 2010 22:38:12 +0100 (CET) (envelope-from ticso@cicely7.cicely.de) Received: from cicely7.cicely.de (localhost [127.0.0.1]) by cicely7.cicely.de (8.14.2/8.14.2) with ESMTP id o1JLcBdP093819; Fri, 19 Feb 2010 22:38:11 +0100 (CET) (envelope-from ticso@cicely7.cicely.de) Received: (from ticso@localhost) by cicely7.cicely.de (8.14.2/8.14.2/Submit) id o1JLcB37093818; Fri, 19 Feb 2010 22:38:11 +0100 (CET) (envelope-from ticso) Date: Fri, 19 Feb 2010 22:38:11 +0100 From: Bernd Walter To: Olivier Houchard Message-ID: <20100219213811.GN43625@cicely7.cicely.de> References: <20100218131010.GQ50403@deviant.kiev.zoral.com.ua> <20100219031200.GY43625@cicely7.cicely.de> <20100219033000.GZ43625@cicely7.cicely.de> <20100218.204739.680961627231021262.imp@bsdimp.com> <20100219041200.GC43625@cicely7.cicely.de> <20100219120754.GE43625@cicely7.cicely.de> <4B7E840F.2040709@semihalf.com> <20100219162840.GJ43625@cicely7.cicely.de> <20100219164959.GA8131@ci0.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20100219164959.GA8131@ci0.org> X-Operating-System: FreeBSD cicely7.cicely.de 7.0-STABLE i386 User-Agent: Mutt/1.5.11 X-Spam-Status: No, score=-4.4 required=5.0 tests=ALL_TRUSTED=-1.8, BAYES_00=-2.599 autolearn=ham version=3.2.5 X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on spamd.cicely.de Cc: current@freebsd.org, ticso@cicely7.cicely.de, arm@freebsd.org, kostikbel@gmail.com, ticso@cicely.de Subject: Re: bind fails with sig11 on start / pthread failure on ARM? 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: Fri, 19 Feb 2010 21:38:22 -0000 On Fri, Feb 19, 2010 at 05:49:59PM +0100, Olivier Houchard wrote: > > > > Strange: > > > Not so much, the first values for ras_start/end were chosen to be immediate > values, so you could just mov them, but the new one aren't. > Try something like the patch attached instead (untested, I have no arm setup > here, but you'll get the idea). I just got an idea in wqhich direction to look, just to see a lot of fog there, but that's my problem. I'm not very good with ARM assembly and inline assembly, although I did know a goo amount of alpha, 6502, 68k, ... assembly. Anyway - your patch works (with minor fix): [213]Please.tell.me.who.am.I# host -a www.freebsd.org 127.0.0.1 Trying "www.freebsd.org" Using domain server: Name: 10.1.1.9 Address: 10.1.1.9#53 Aliases: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 26655 ;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 3, ADDITIONAL: 5 ;; QUESTION SECTION: ;www.freebsd.org. IN ANY ;; ANSWER SECTION: www.freebsd.org. 3600 IN MX 0 . www.freebsd.org. 3600 IN AAAA 2001:4f8:fff6::21 www.freebsd.org. 3600 IN A 69.147.83.33 ;; AUTHORITY SECTION: freebsd.org. 2019 IN NS ns3.isc-sns.info. freebsd.org. 2019 IN NS ns2.isc-sns.com. freebsd.org. 2019 IN NS ns1.isc-sns.net. ;; ADDITIONAL SECTION: ns3.isc-sns.info. 2019 IN A 63.243.194.1 ns3.isc-sns.info. 2019 IN AAAA 2001:5a0:10::1 ns2.isc-sns.com. 19745 IN A 38.103.2.1 ns1.isc-sns.net. 19745 IN A 72.52.71.1 ns1.isc-sns.net. 19745 IN AAAA 2001:470:1a::1 Received 284 bytes from 10.1.1.9#53 in 355 ms [214]Please.tell.me.who.am.I# > > Regards, > > Olivier > Index: contrib/bind9/lib/isc/arm/include/isc/atomic.h > =================================================================== > --- contrib/bind9/lib/isc/arm/include/isc/atomic.h (revision 203777) > +++ contrib/bind9/lib/isc/arm/include/isc/atomic.h (working copy) > @@ -49,26 +49,22 @@ > static inline isc_int32_t > isc_atomic_cmpxchg(isc_int32_t *p, isc_int32_t cmpval, isc_int32_t val) > { > - register int done, ras_start; > + register int done, ras_start = #0xffff1004; I had to remove the '#' in this line: register int done, ras_start = 0xffff1004; > > __asm __volatile("1:\n" > "adr %1, 1b\n" > - "mov %0, #0xe0000004\n" > "str %1, [%0]\n" > - "mov %0, #0xe0000008\n" > "adr %1, 2f\n" > - "str %1, [%0]\n" > + "str %1, [%0, #4]\n" > "ldr %1, [%2]\n" > "cmp %1, %3\n" > "streq %4, [%2]\n" > "2:\n" > "mov %3, #0\n" > - "mov %0, #0xe0000004\n" > "str %3, [%0]\n" > "mov %3, #0xffffffff\n" > - "mov %0, #0xe0000008\n" > - "str %3, [%0]\n" > - : "=r" (ras_start), "=r" (done) > + "str %3, [%0, #4]\n" > + : "+r" (ras_start), "=r" (done) > ,"+r" (p), "+r" (cmpval), "+r" (val) : : "memory"); > return (done); > -- B.Walter http://www.bwct.de Modbus/TCP Ethernet I/O Baugruppen, ARM basierte FreeBSD Rechner uvm.