From owner-freebsd-current@FreeBSD.ORG Wed Oct 3 13:18:55 2007 Return-Path: Delivered-To: current@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E011916A46E; Wed, 3 Oct 2007 13:18:55 +0000 (UTC) (envelope-from marius@alchemy.franken.de) Received: from alchemy.franken.de (alchemy.franken.de [194.94.249.214]) by mx1.freebsd.org (Postfix) with ESMTP id 43AB413C465; Wed, 3 Oct 2007 13:18:55 +0000 (UTC) (envelope-from marius@alchemy.franken.de) Received: from alchemy.franken.de (localhost [127.0.0.1]) by alchemy.franken.de (8.14.1/8.14.1/ALCHEMY.FRANKEN.DE) with ESMTP id l93DIrVt018327; Wed, 3 Oct 2007 15:18:54 +0200 (CEST) (envelope-from marius@alchemy.franken.de) Received: (from marius@localhost) by alchemy.franken.de (8.14.1/8.14.1/Submit) id l93DIrDM018326; Wed, 3 Oct 2007 15:18:53 +0200 (CEST) (envelope-from marius) Date: Wed, 3 Oct 2007 15:18:53 +0200 From: Marius Strobl To: Stefan =?unknown-8bit?Q?E=DFer?= , John Baldwin , Marcel Moolenaar , Michael Butler , current@FreeBSD.org Message-ID: <20071003131853.GE98412@alchemy.franken.de> References: <20070930114914.GB38896@alchemy.franken.de> <4700ECC8.4090702@FreeBSD.org> <20071001132548.GE55741@alchemy.franken.de> <200710011420.31077.jhb@freebsd.org> <20071003105357.GA27749@Gatekeeper.FreeBSD.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20071003105357.GA27749@Gatekeeper.FreeBSD.org> User-Agent: Mutt/1.4.2.3i Cc: Subject: Re: Patch for review (was: Re: Proposal to revise the new parsing of PCI selectors (was: Re: HEADS UP: [cvs commit: src UPDATING src/share/man/man4 pci.4?src/share/man/man9 pci.9?src/sys/amd64/include?legacyvar.h?src/sys/amd64/amd64 legacy.c?src/sys/amd64/pci pci_bus.c?src/sys/arm/xscale/i80321?i80321_pci.c src/sys/arm/xscale/ixp425 ...)) X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 03 Oct 2007 13:18:56 -0000 On Wed, Oct 03, 2007 at 12:53:57PM +0200, Stefan Eer wrote: > On 2007-10-01 14:20 -0400, John Baldwin wrote: > > On Monday 01 October 2007 09:25:48 am Marius Strobl wrote: > > > On Mon, Oct 01, 2007 at 02:49:12PM +0200, Stefan Esser wrote: > > > > Well, since it was me who chose to parse it that way, when pciconf > > > > saw the light of day, I can say that the logical extension appears > > > > to be the support of 3 formats for the PCI device selector: > > > > > > > > pci1:2:3:4 (full, domain/bus/slot/function, required if domain!=0) > > > > pci2:3:4 (abridged, in case the domain is "0") > > > > pci2:3 (abridged, in case the domain and function are "0") > > > > > > I'm ok with what you propose, I'd wait for John to comment > > > whether he sees any issues regarding the hints feature he is > > > working on though. > > > > This sounds good to me. > > Ok, I've tested the following patch, which also restores a feature > of the original code, when it was not clear, whether the separator > character was supposed to be ":" or "." (i.e., the new version does > accept both ":" and "." as separator). This would allow to use the > same selectors (with ".") in pciconf and the hints file ... > > I'd of course be willing to commit both changes separately (first > the parsing of selectors with 2, 3 or 4 elements, then equivalence > of ":" and "." as separators). > > The code wrapped in "#if 0" is not to be committed, I've included > it just in case anybody wants to perform some tests and to check > the parsing results. > > Regards, STefan > > > > Index: usr.sbin/pciconf/pciconf.c > =================================================================== > RCS file: /usr/cvs/src/usr.sbin/pciconf/pciconf.c,v > retrieving revision 1.28 > diff -u -3 -r1.28 pciconf.c > --- usr.sbin/pciconf/pciconf.c 30 Sep 2007 11:05:17 -0000 1.28 > +++ usr.sbin/pciconf/pciconf.c 3 Oct 2007 10:33:03 -0000 > @@ -486,6 +486,8 @@ > char *ep = strchr(str, '@'); > char *epbase; > struct pcisel sel; > + u_int8_t selarr[4]; > + int i; > Generally looks good. Note that the domain in theory can be a 32-bit value (chosen based on what the old alpha hose code used; Linux seems to limit it to 16-bit) though. Marius