From owner-freebsd-sparc64@FreeBSD.ORG Mon Sep 1 16:20:46 2008 Return-Path: Delivered-To: freebsd-sparc64@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4DC911065671; Mon, 1 Sep 2008 16:20:46 +0000 (UTC) (envelope-from gavin@FreeBSD.org) Received: from buffy.york.ac.uk (buffy.york.ac.uk [144.32.226.160]) by mx1.freebsd.org (Postfix) with ESMTP id DAE4C8FC1D; Mon, 1 Sep 2008 16:20:45 +0000 (UTC) (envelope-from gavin@FreeBSD.org) Received: from buffy.york.ac.uk (localhost [127.0.0.1]) by buffy.york.ac.uk (8.14.2/8.14.2) with ESMTP id m81GKioW080507; Mon, 1 Sep 2008 17:20:44 +0100 (BST) (envelope-from gavin@FreeBSD.org) Received: (from ga9@localhost) by buffy.york.ac.uk (8.14.2/8.14.2/Submit) id m81GKirf080506; Mon, 1 Sep 2008 17:20:44 +0100 (BST) (envelope-from gavin@FreeBSD.org) X-Authentication-Warning: buffy.york.ac.uk: ga9 set sender to gavin@FreeBSD.org using -f From: Gavin Atkinson To: freebsd-sparc64@FreeBSD.org In-Reply-To: <1220278827.70590.35.camel@buffy.york.ac.uk> References: <1220278827.70590.35.camel@buffy.york.ac.uk> Content-Type: text/plain Content-Transfer-Encoding: 7bit Date: Mon, 01 Sep 2008 17:20:44 +0100 Message-Id: <1220286044.70590.43.camel@buffy.york.ac.uk> Mime-Version: 1.0 X-Mailer: Evolution 2.22.2 FreeBSD GNOME Team Port Cc: marius@FreeBSD.org Subject: Re: HEAD panic with ofw_pcibus.c 1.21 on Blade 100 X-BeenThere: freebsd-sparc64@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to the Sparc List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 01 Sep 2008 16:20:46 -0000 On Mon, 2008-09-01 at 15:20 +0100, Gavin Atkinson wrote: > Hi all, > > My Blade 100 now panics on boot with HEAD, and I've tracked it down to > sys/sparc64/pci/ofw_pcibus.c 1.21 (SVN r182108) by marius@. > Specifically, this version now configures bridges differently, and not > setting "Master Abort Mode" prevents the panic: > > Index: src/sys/sparc64/pci/ofw_pcibus.c > =================================================================== > RCS file: /home/ncvs/src/sys/sparc64/pci/ofw_pcibus.c,v > retrieving revision 1.21 > diff -u -r1.21 ofw_pcibus.c > --- src/sys/sparc64/pci/ofw_pcibus.c 24 Aug 2008 15:05:46 -0000 1.21 > +++ src/sys/sparc64/pci/ofw_pcibus.c 1 Sep 2008 14:09:27 -0000 > @@ -140,7 +140,7 @@ > PCIM_HDRTYPE) == PCIM_HDRTYPE_BRIDGE) { > reg = PCIB_READ_CONFIG(bridge, busno, slot, func, > PCIR_BRIDGECTL_1, 1); > - reg |= PCIB_BCR_MASTER_ABORT_MODE | PCIB_BCR_SERR_ENABLE | > + reg |= /* PCIB_BCR_MASTER_ABORT_MODE | */ PCIB_BCR_SERR_ENABLE | > PCIB_BCR_PERR_ENABLE; > #ifdef OFW_PCI_DEBUG > device_printf(bridge, [snip] > Any suggestions? Are we missing some code necessary to support master > mode aborts? After further research (mainly involving eyeballing pci_pbm_err_handler() in OpenSolaris), it looks like we are indeed missing code to handle them. Therefore, until this code is written, I suspect the patch above is actually correct. Gavin