[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