Merging ppc32 and ppc64

Arnd Bergmann arnd at arndb.de
Wed Aug 10 00:47:32 EST 2005


On Dinsdag 09 August 2005 16:12, Kumar Gala wrote:
> > Yes, and that is exactly what I do not want.  We are not going
> > to require OF implementations that do not need yaboot or similar
> > to pass a flattened device tree to the kernel, eh?  Also, there
> > is no reason why something like yaboot (with an OF still running
> > underneath) should have to care about anything device-tree related
> > at all; the OS can just as easily ask the OF itself.
> 
> I was under the impression that ALL platforms regardless if the had a  
> OF firmware or not would be using a flattened device tree.  Any  
> conversion between an OF tree to a flatten tree would end up  
> happening in boot wrapper code going forward.

I think you are both right, just using different terminology. The 
running kernel uses its own representation of the device tree, which
is neither the flattened stuff nor using the OF interfaces. The 
conversion from OF to the flattened tree is done by the kernel itself.

      Apple OF  \
          SLOF   \
       pSeries    |-1- prom_init------,
          PIBS   /                     \
           ...  /                       \
                                         \
       other    -----------------------------2--unflatten_device_tree--3--
   boot loader                              /
                                           /
       iSeries  ----------- early_setup---`

All "regular" machines enter in the traditional prom_init path (1) 
from Open Firmware. The embedded machines that are too memory constraint
to use SLOF have a flattened device tree in their boot loader and the
legacy iSeries boxes can fake the device tree in their iSeries_early_setup
function. The main entry point (2) is entered by all machines when the
flattened device tree is there and the kernel builds its tree representation
for run time (3).

	Arnd <><



More information about the Linuxppc64-dev mailing list