[PATCH] Start arch/powerpc/boot code reorganization

Segher Boessenkool segher at kernel.crashing.org
Sat Sep 23 10:54:12 EST 2006


> Oh, okay.  I didn't realize there was an actual "64-bit" property.
> I thought you just meant "/cpus/#address-cells = <2>".
> I should've googled first.

No, cpus/"#address-cells" is required to be 1, as that's the number
of address cells required to identify a CPU itself.

> So, yes, that probably does give us the info we need.

> Here is where I think we are for getting the effective base addr
> of the regs for the console uart in the bootwrapper:
>
> 1) We add the "fw,address" property to the uart's dt node.  That
> property provides the effective base address of the uart's registers
> left over by the firmware.  The format is similar to that of the
> "reg" property in that it contains an "address size" tuple.

I completely lost you here, sorry.  Maybe it's me.  Care to
repeat this in a (perhaps more verbose) way that I might
understand?

> 2) The effective address width (32 or 64 bits) (i.e., the # cells in
> the "address" portion of the tuple) is indicated by the presence of  
> the
> "/cpus/64-bit" property.  If it exists, the effective addr space is
> 64-bits wide (2 cells); if not, its 32-bits wide (1 cell).

Yes.  Except a "cell" is not what you think it is.  A "cell" is the
size of numbers OF deals with internally; just deal with it.  Of
course, there's things like "#address-cells", which really mean
"#-32bit-things-per-address".

> 3) The number of cells in the "size" portion of the tuple is indicated
> by the nearest #size-cells as you go up the tree.  Just like the "reg"
> property.

Yes, sounds fine.


Segher




More information about the Linuxppc-dev mailing list