From owner-freebsd-sparc64@FreeBSD.ORG Wed Oct 1 06:48:15 2003 Return-Path: Delivered-To: freebsd-sparc64@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id EEED516A4B3; Wed, 1 Oct 2003 06:48:15 -0700 (PDT) Received: from spider.deepcore.dk (cpe.atm2-0-56339.0x50c6aa0a.abnxx2.customer.tele.dk [80.198.170.10]) by mx1.FreeBSD.org (Postfix) with ESMTP id AC29044005; Wed, 1 Oct 2003 06:48:12 -0700 (PDT) (envelope-from sos@spider.deepcore.dk) Received: from spider.deepcore.dk (localhost [127.0.0.1]) by spider.deepcore.dk (8.12.9/8.12.9) with ESMTP id h91Dm9Kg034395; Wed, 1 Oct 2003 15:48:09 +0200 (CEST) (envelope-from sos@spider.deepcore.dk) Received: (from sos@localhost) by spider.deepcore.dk (8.12.9/8.12.9/Submit) id h91Dm8ET034394; Wed, 1 Oct 2003 15:48:08 +0200 (CEST) From: Soren Schmidt Message-Id: <200310011348.h91Dm8ET034394@spider.deepcore.dk> In-Reply-To: To: =?ISO-8859-1?Q?Dag-Erling_Sm=F8rgrav?= Date: Wed, 1 Oct 2003 15:48:08 +0200 (CEST) X-Mailer: ELM [version 2.4ME+ PL99f (25)] MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=ISO-8859-1 X-mail-scanned: by DeepCore Virus & Spam killer v1.3 cc: sos@FreeBSD.ORG cc: sparc64@FreeBSD.ORG Subject: Re: ata dma problems with recent -CURRENT X-BeenThere: freebsd-sparc64@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Porting FreeBSD to the Sparc List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Oct 2003 13:48:16 -0000 It seems Dag-Erling Smørgrav wrote: Its a known one, I'm going to disable that peice of code soon if I dont find a good solution to the problem... > I recently installed 5.1-RELEASE on an Ultra 5, and proceeded to > upgrade it to -CURRENT (sources from about two days ago). The IDE > controller doesn't seem to support DMA; in 5.1-RELEASE, the ata driver > would time out a couple of times, then decide to fall back to PIO3. > However, with -CURRENT, the ata driver panics trying to dereference > 0xdeadc0de: > > ad0: FAILURE - READ_DMA status=1 error=0 dma=0xff > panic: trap: memory address not aligned > Debugger("panic") > Stopped at Debugger+0x1c: ta %xcc, 1 > db> where > panic() at panic+0xf0 > trap() at trap+0x394 > -- memory address not aligned sfar=0xdedeadc0de sfsr=0x40029 %o7=0xc0040d54 -- > ata_timeout() at ata_timeout+0x20 > softclock() at softclock+0x1a0 > ithread_loop() at ithread_loop+0x1a8 > fork_exit() at fork_exit+0x9c > fork_trampoline() at fork_trampoline+0x8 > > I've attached an excerpt from the serial console log, showing both the > panic and a successful boot of the same kernel (with hw.ata.ata_dma > disabled in loader.conf). I've also attached a disassembly of > ata_timeout(); unfortunately, I couldn't get objdump to show source > code line numbers. However, I *think* the trap occurred on the > following line: > > if (request->device->channel->running == NULL) { > > and if I read the assembler code correctly, it is request->device > which is 0xdeadc0de. > > DES > -- > Dag-Erling Smørgrav - des@des.no > [ Attachment, skipping... ] [ Attachment, skipping... ] -Søren