From owner-freebsd-ia64@FreeBSD.ORG Thu Feb 13 20:24:46 2014 Return-Path: Delivered-To: ia64@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 3BD8EF39; Thu, 13 Feb 2014 20:24:46 +0000 (UTC) Received: from bigwig.baldwin.cx (bigwig.baldwin.cx [IPv6:2001:470:1f11:75::1]) (using TLSv1 with cipher ADH-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 10B8C1E4A; Thu, 13 Feb 2014 20:24:46 +0000 (UTC) Received: from ralph.baldwin.cx (pool-173-70-85-31.nwrknj.fios.verizon.net [173.70.85.31]) by bigwig.baldwin.cx (Postfix) with ESMTPSA id 09256B992; Thu, 13 Feb 2014 15:24:45 -0500 (EST) From: John Baldwin To: Marcel Moolenaar Subject: Re: svn commit: r261790 - in head/sys: amd64/include dev/acpica dev/cardbus dev/pccbb dev/pci i386/include sparc64/pci x86/include x86/pci x86/x86 Date: Thu, 13 Feb 2014 15:18:39 -0500 Message-ID: <1706878.v7mRcKNgdr@ralph.baldwin.cx> User-Agent: KMail/4.10.5 (FreeBSD/10.0-STABLE; KDE/4.10.5; amd64; ; ) In-Reply-To: References: <201402120430.s1C4Uctm088069@svn.freebsd.org> <201402121425.48635.jhb@freebsd.org> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.7 (bigwig.baldwin.cx); Thu, 13 Feb 2014 15:24:45 -0500 (EST) Cc: Marcel Moolenaar , ia64@freebsd.org X-BeenThere: freebsd-ia64@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: Porting FreeBSD to the IA-64 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 13 Feb 2014 20:24:46 -0000 On Wednesday, February 12, 2014 03:09:53 PM Marcel Moolenaar wrote: > On Feb 12, 2014, at 11:25 AM, John Baldwin wrote: > > On Tuesday, February 11, 2014 11:30:38 pm John Baldwin wrote: > >> Author: jhb > >> Date: Wed Feb 12 04:30:37 2014 > >> New Revision: 261790 > >> URL: http://svnweb.freebsd.org/changeset/base/261790 > >> > >> Log: > >> Add support for managing PCI bus numbers. As with BARs and PCI-PCI > >> bridge > >> I/O windows, the default is to preserve the firmware-assigned resources. > >> PCI bus numbers are only managed if NEW_PCIB is enabled and the > >> architecture defines a PCI_RES_BUS resource type. > >> - Add a helper API to create top-level PCI bus resource managers for > >> each > >> > >> PCI domain/segment. Host-PCI bridge drivers use this API to allocate > >> bus numbers from their associated domain. > >> > >> - Change the PCI bus and CardBus drivers to allocate a bus resource for > >> > >> their bus number from the parent PCI bridge device. > >> > >> - Change the PCI-PCI and PCI-CardBus bridge drivers to allocate the > >> > >> full range of bus numbers from secbus to subbus from their parent > >> bridge. > >> The drivers also always program their primary bus register. The > >> bridge > >> drivers also support growing their bus range by extending the bus > >> resource > >> and updating subbus to match the larger range. > >> > >> - Add support for managing PCI bus resources to the Host-PCI bridge > >> drivers > >> > >> used for amd64 and i386 (acpi_pcib, mptable_pcib, legacy_pcib, and > >> qpi_pcib).>> > >> - Define a PCI_RES_BUS resource type for amd64 and i386. > > > > Since ia64 only uses ACPI Host-PCI bridges, I believe that this can be > > enabled on ia64 by just adding an appropriate #define for PCI_RES_BUS to > > . I just have no way to test it. > > I'll give it a spin. Altix 350 & Altix 450 have non-standard PCI > host controllers, which I do want to test. The firmware does not > dictate bus numbers, so it may be a non-issue. You will need the rman bits regardless as pci(4) will expect to be able to allocate a bus resource. For Host-PCI bridge drivers you need to handle PCI_RES_BUS in bus_alloc_resource(), bus_adjust_resource(), and bus_release_resource(). Mostly you just need to call the pci_domain functions passing in the domain the bridge belongs to. -- John Baldwin