Patch for Cross-Reference Phandles

Nathan Whitehorn nwhitehorn at
Sat Sep 14 14:06:52 UTC 2013

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
>>> 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.

More information about the freebsd-sparc64 mailing list