From owner-freebsd-alpha@FreeBSD.ORG Wed Dec 22 18:44:53 2004 Return-Path: Delivered-To: freebsd-alpha@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id AF2A016A4F9 for ; Wed, 22 Dec 2004 18:44:53 +0000 (GMT) Received: from smtp-vbr1.xs4all.nl (smtp-vbr1.xs4all.nl [194.109.24.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 168A543D45 for ; Wed, 22 Dec 2004 18:44:53 +0000 (GMT) (envelope-from wb@freebie.xs4all.nl) Received: from freebie.xs4all.nl (freebie.xs4all.nl [213.84.32.253]) by smtp-vbr1.xs4all.nl (8.12.11/8.12.11) with ESMTP id iBMIibgR084765; Wed, 22 Dec 2004 19:44:41 +0100 (CET) (envelope-from wb@freebie.xs4all.nl) Received: from freebie.xs4all.nl (localhost [127.0.0.1]) by freebie.xs4all.nl (8.13.1/8.12.9) with ESMTP id iBMIiaPf050596; Wed, 22 Dec 2004 19:44:36 +0100 (CET) (envelope-from wb@freebie.xs4all.nl) Received: (from wb@localhost) by freebie.xs4all.nl (8.13.1/8.13.1/Submit) id iBMIiaI2050595; Wed, 22 Dec 2004 19:44:36 +0100 (CET) (envelope-from wb) Date: Wed, 22 Dec 2004 19:44:36 +0100 From: Wilko Bulte To: Sven Petai Message-ID: <20041222184436.GA50553@freebie.xs4all.nl> References: <200412221730.iBMHUJC6097807@freefall.freebsd.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200412221730.iBMHUJC6097807@freefall.freebsd.org> X-OS: FreeBSD 4.11-PRERELEASE X-PGP: finger wilko@freebsd.org User-Agent: Mutt/1.5.6i X-Virus-Scanned: by XS4ALL Virus Scanner cc: freebsd-alpha@freebsd.org Subject: Re: alpha/75317: ATA DMA broken on PCalpha X-BeenThere: freebsd-alpha@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Porting FreeBSD to the Alpha List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 22 Dec 2004 18:44:53 -0000 > anyway this still doesn't make things work correctly for me, > because the real problem seems to be the Pyxis > page crossing bug. Basically it comes down to corrupting > DMA transfers larger than 8k. It didn't cause problems before, > since we never did larger than PAGE_SIZE transfers before > the ATA dma change mentioned in the original report. > There's a detection code for the buggy chip @ > src/sys/alpha/pci/cia.c > but it's little too naive, since it assumes only DEC_ST550 can > have it, in reality it seems to be used in some very early > revisions of 164LX(SX too?). But there doesn't seem to be a Yes, the SX too: FreeBSD 4.11-RC1 #0: Fri Dec 17 18:36:23 GMT 2004 root@ds10.freebie.xs4all.nl:/usr/obj/usr/src/sys/GENERIC EB164 Digital AlphaPC 164SX 533 MHz, 531MHz 8192 byte page size, 1 processor. CPU: PCA56 (21164PC) major=9 minor=2 extensions=0x101 OSF PAL rev: 0x1000600020117 real memory = 1071554560 (1046440K bytes) avail memory = 1032265728 (1008072K bytes) Preloaded elf kernel "kernel" at 0xfffffc0000c46000. Preloaded mfs_root "/boot/mfsroot" at 0xfffffc0000c460c0. md0: Preloaded image 4423680 bytes at 0xfffffc000080b8a0 md1: Malloc disk cia0: Pyxis, pass 1 <<<<<---- pass 1 cia0: extended capabilities: 1 Interestingly enough the pass 1 thing is not fully reliable as a trouble indicator: SROM Revision: 3.11 Alpha 21164PC-2 Pyxis ASIC Pass 2 <<<<<---- pass 2 cia.c says about this: * In the 21174 Technical Reference Manual, this is * actually documented as "Pyxis Pass 1", but apparently * there are chips that report themselves as "Pass 1" * which do not have the bug! Miatas with the Cypress * PCI-ISA bridge (i.e. Miata 1.5 and Miata 2) do not * have the bug, so we use this check. On the Miata systems that have an affected Pyxis report: Sep 16 18:39:43 miata /kernel: cia0: Pyxis, pass 1 Sep 16 18:39:43 miata /kernel: cia0: extended capabilities: Sep 16 18:39:43 miata /kernel: cia0: WARNING: Pyxis pass 1 DMA bug; no bets... Newer Miatas reported: Jan 3 12:22:32 miata /kernel: cia0: Pyxis, pass 1 Jan 3 12:22:32 miata /kernel: cia0: extended capabilities: so without the warning. In Miatas using a 32bit slot instead of a 64bit PCI slot avoided the problem. My 164SX does not report any warning. -- Wilko Bulte wilko@FreeBSD.org