From owner-freebsd-ppc@freebsd.org Mon Dec 14 23:47:15 2015 Return-Path: Delivered-To: freebsd-ppc@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 8D90BA479CA; Mon, 14 Dec 2015 23:47:15 +0000 (UTC) (envelope-from marius@alchemy.franken.de) Received: from alchemy.franken.de (alchemy.franken.de [194.94.249.214]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "alchemy.franken.de", Issuer "alchemy.franken.de" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 2F9EB14D9; Mon, 14 Dec 2015 23:47:14 +0000 (UTC) (envelope-from marius@alchemy.franken.de) Received: from alchemy.franken.de (localhost [127.0.0.1]) by alchemy.franken.de (8.15.2/8.15.2/ALCHEMY.FRANKEN.DE) with ESMTPS id tBENlAvm033004 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Tue, 15 Dec 2015 00:47:10 +0100 (CET) (envelope-from marius@alchemy.franken.de) Received: (from marius@localhost) by alchemy.franken.de (8.15.2/8.15.2/Submit) id tBENlAlf033003; Tue, 15 Dec 2015 00:47:10 +0100 (CET) (envelope-from marius) Date: Tue, 15 Dec 2015 00:47:10 +0100 From: Marius Strobl To: Andrew Turner Cc: freebsd-ppc@FreeBSD.org, freebsd-sparc64@FreeBSD.org Subject: Re: Testing an Open Firmware interrupt-map patch Message-ID: <20151214234710.GA32903@alchemy.franken.de> References: <20151214134625.79283652@zapp> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20151214134625.79283652@zapp> User-Agent: Mutt/1.5.23 (2014-03-12) X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.4.3 (alchemy.franken.de [0.0.0.0]); Tue, 15 Dec 2015 00:47:10 +0100 (CET) X-BeenThere: freebsd-ppc@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: Porting FreeBSD to the PowerPC List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 14 Dec 2015 23:47:15 -0000 On Mon, Dec 14, 2015 at 01:46:25PM +0000, Andrew Turner wrote: > Hello, > > I'm looking for testers for a patch to update how we parse the > interrupt-map property to follow the ePAPR spec. This property is > commonly used with PCIe controllers. > > The current code doesn't take the parent address size property. When > this is non-zero we need to also read these values. This is needed on > an arm64 board I have as the interrupt parent has memory-mapped > children so needs this to be set. > > I have a patch at [1] to add this, however would like it if this could > be tested on other platforms using this code to check it doesn't break > these platforms before I commit it. + "#address-cells", &paddrsz, sizeof(paddrsz)) == -1) + paddrsz = 0; /* default */ According to IEEE 1275-1994 (page 110) the default in case of a "#address-cells" property is 2 (see also ofw_bus_setup_iinfo()), with the latter also being known as the correct default value for sparc64 machines. In any case, this will have quite an impact on the offset calculation on sparc64 machines for e. g. EBusses beneath PCI busses (which use 3 address cells there) and, thus, most likely will cause havoc. Maybe the parent unit address should be only taken into account on platforms using interrupt parents? Marius