From owner-freebsd-sparc64@FreeBSD.ORG Sat Sep 14 17:27:37 2013 Return-Path: Delivered-To: freebsd-sparc64@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTP id 49583E7E; Sat, 14 Sep 2013 17:27:37 +0000 (UTC) (envelope-from jmg@h2.funkthat.com) Received: from h2.funkthat.com (gate2.funkthat.com [208.87.223.18]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 211AB20D0; Sat, 14 Sep 2013 17:27:36 +0000 (UTC) Received: from h2.funkthat.com (localhost [127.0.0.1]) by h2.funkthat.com (8.14.3/8.14.3) with ESMTP id r8EHRZnU042249 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Sat, 14 Sep 2013 10:27:36 -0700 (PDT) (envelope-from jmg@h2.funkthat.com) Received: (from jmg@localhost) by h2.funkthat.com (8.14.3/8.14.3/Submit) id r8EHRZRq042248; Sat, 14 Sep 2013 10:27:35 -0700 (PDT) (envelope-from jmg) Date: Sat, 14 Sep 2013 10:27:35 -0700 From: John-Mark Gurney To: Ian Lepore Subject: Re: Patch for Cross-Reference Phandles Message-ID: <20130914172735.GX68682@funkthat.com> Mail-Followup-To: Ian Lepore , Nathan Whitehorn , freebsd-arm@freebsd.org, freebsd-ppc@freebsd.org, freebsd-sparc64 References: <522CC7E0.9060508@freebsd.org> <5231D8A6.9080501@freebsd.org> <20130914133155.GA32845@alchemy.franken.de> <52346D71.4080407@freebsd.org> <1379173405.1197.7.camel@revolution.hippie.lan> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1379173405.1197.7.camel@revolution.hippie.lan> User-Agent: Mutt/1.4.2.3i X-Operating-System: FreeBSD 7.2-RELEASE i386 X-PGP-Fingerprint: 54BA 873B 6515 3F10 9E88 9322 9CB1 8F74 6D3F A396 X-Files: The truth is out there X-URL: http://resnet.uoregon.edu/~gurney_j/ X-Resume: http://resnet.uoregon.edu/~gurney_j/resume.html X-to-the-FBI-CIA-and-NSA: HI! HOW YA DOIN? can i haz chizburger? X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.2.2 (h2.funkthat.com [127.0.0.1]); Sat, 14 Sep 2013 10:27:36 -0700 (PDT) Cc: freebsd-sparc64 , freebsd-arm@freebsd.org, freebsd-ppc@freebsd.org X-BeenThere: freebsd-sparc64@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Porting FreeBSD to the Sparc List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 14 Sep 2013 17:27:37 -0000 Ian Lepore wrote this message on Sat, Sep 14, 2013 at 09:43 -0600: > On Sat, 2013-09-14 at 09:06 -0500, Nathan Whitehorn wrote: > > On 09/14/13 08:31, Marius Strobl wrote: > > > On Thu, Sep 12, 2013 at 10:07:18AM -0500, Nathan Whitehorn wrote: > > >> On 09/08/13 13:54, Nathan Whitehorn wrote: > > >>> Open Firmware has three namespaces for handles: > > >>> 1. Instance handles, for open devices > > >>> 2. Package handles for the client interface > > >>> 3. Package handles for device tree cross references > > >>> > > >>> On Powermac hardware, we assume that (2) and (3) are identical and > > >>> call both phandles. On embedded FDT systems, you can't open devices > > >>> and so we abuse ihandle_t for (3). IBM pSeries hardware, however, has > > >>> all three things. With that in mind, I'd like to start separating > > >>> them. The patch at > > >>> http://people.freebsd.org/~nwhitehorn/xref_phandle.diff adds a new > > >>> function (OF_child_xref_phandle) that takes a phandle of type (3) and > > >>> turns into one of type (2) by searching for entries named "phandle", > > >>> "ibm,phandle", or "linux,phandle" in the tree. This should work for > > >>> FDT as well, but is not connected in the patch to anything actually > > >>> FDT related. > > >>> > > >>> Comments would be appreciated. I'd like to get to get this as in as > > >>> soon as possible (given the HEAD freeze) otherwise. > > >>> -Nathan > > >> Since I haven't heard anything, it shouldn't affect any existing > > >> platforms or code, and it would be nice to have this interface available > > >> in the 10.x series, I plan to ask re@ for commit approval tomorrow. > > >> Please let me know if there are any objections. > > > Technically that patch is fine. It would be nice if you could fix the > > > style bugs before committing, though. In OF_child_xref_phandle(), the > > > variables should go above the comment and you don't need to initialize > > > the static global one in ofw_pcibus.c to zero explicitly. If you do > > > nevertheless, spaces should go before and after the '='. > > > > > > > Thanks! I think the explicit zero initialization adds some clarity for > > people reading the code, so I'd like to keep it. The rest of the changes > > have been made. > > -Nathan > > The explicit zero init also makes it 4 bytes harder to fit the kernel > into a small flash on embedded systems. We should be eliminating > zero-inits that move items from bss to data, not adding new ones. I just ran a simple test: int foo = 0; and compiled it, both with: FreeBSD clang version 3.3 (tags/RELEASE_33/final 183502) 20130610 Target: x86_64-unknown-freebsd10.0 Thread model: posix and: FreeBSD clang version 3.3 (trunk 178860) 20130405 Target: armv6--freebsd Thread model: posix and: gcc (GCC) 4.2.1 20070831 patched [FreeBSD] Copyright (C) 2007 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. all are smart enough to know that zero init is the same as locating it in bss, and do so... and not put it in data... Oh, these were all compiled w/o any options, just -c foo.c... -- John-Mark Gurney Voice: +1 415 225 5579 "All that I will do, has been done, All that I have, has not."