From owner-freebsd-arm@FreeBSD.ORG Sat Dec 15 16:43:52 2007 Return-Path: Delivered-To: freebsd-arm@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 307FC16A419 for ; Sat, 15 Dec 2007 16:43:52 +0000 (UTC) (envelope-from stas@ht-systems.ru) Received: from smtp.ht-systems.ru (mr0.ht-systems.ru [78.110.50.55]) by mx1.freebsd.org (Postfix) with ESMTP id D52BF13C45A for ; Sat, 15 Dec 2007 16:43:51 +0000 (UTC) (envelope-from stas@ht-systems.ru) Received: from [78.110.49.49] (helo=quasar.ht-systems.ru) by smtp.ht-systems.ru with esmtpa (Exim 4.62) (envelope-from ) id 1J3a7B-0004bQ-I2; Sat, 15 Dec 2007 19:43:49 +0300 Received: by quasar.ht-systems.ru (Postfix, from userid 1024) id 5F9557D24FB; Sat, 15 Dec 2007 19:43:48 +0300 (MSK) Date: Sat, 15 Dec 2007 19:43:48 +0300 From: Stanislav Sedov To: Rafal Jaworowski Message-ID: <20071215164348.GQ17356@dracon.ht-systems.ru> References: <20071213222654.GE17356@dracon.ht-systems.ru> <20071214090128.GM31230@cicely12.cicely.de> <20071214115226.0b2cb7e2@peedub.jennejohn.org> <20071214.062511.74732956.imp@bsdimp.com> <20071214153201.18c4c5ea@peedub.jennejohn.org> <47629E53.30404@semihalf.com> <20071214190825.GG17356@dracon.ht-systems.ru> <20071215105951.GN17356@dracon.ht-systems.ru> <20071215152242.GP17356@dracon.ht-systems.ru> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20071215152242.GP17356@dracon.ht-systems.ru> Organization: The FreeBSD Project X-Voice: +7 916 849 20 23 X-XMPP: ssedov@jabber.ru X-Yahoo: stanislav_sedov X-PGP-Fingerprint: F21E D6CC 5626 9609 6CE2 A385 2BF5 5993 EB26 9581 X-University: MEPhI X-Mailer: carrier-pigeon X-Operating-System: FreeBSD quasar.ht-systems.ru 7.0-BETA2 FreeBSD 7.0-BETA2 Cc: freebsd-arm@freebsd.org Subject: Re: Align exception (was: MMC cards support) X-BeenThere: freebsd-arm@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to the StrongARM Processor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 15 Dec 2007 16:43:52 -0000 On Sat, Dec 15, 2007 at 06:22:42PM +0300 Stanislav Sedov mentioned: > > Also the faults tend to be in different places depending on code layout, > but the faulting address always the same: 42203735 (r6). Obviously, it's > wrong. > This address always comes from it->it_thread. and should obviously reflect thread td structure: td = it->it_thread; c00ee064: e51b301c ldr r3, [fp, #-28] c00ee068: e5933004 ldr r3, [r3, #4] c00ee06c: e50b3018 str r3, [fp, #-24] p = td->td_proc; c00ee070: e51b3018 ldr r3, [fp, #-24] c00ee074: e5933004 ldr r3, [r3, #4] However the contents of td (r3) is always 42203735 when it's loaded from it->it_thread. It looks like uart does something awful with the interrupt thread pointer. -- Stanislav Sedov ST4096-RIPE