Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 25 Jul 2008 09:15:35 +0100
From:      Matt Sealey <matt@genesi-usa.com>
To:        Philip Schulz <philip.s.schulz@googlemail.com>
Cc:        powerpc@freebsd.org, "M. Warner Losh" <imp@bsdimp.com>
Subject:   Re: Device trees
Message-ID:  <48898BA7.8090508@genesi-usa.com>
In-Reply-To: <1c66db910807240451n5c181956rfe82b2ba4e80c5ae@mail.gmail.com>
References:  <20080723.164741.163264646.imp@bsdimp.com>	<D33D2388-8237-406D-8162-1DF9013277A2@jeamland.net>	<20080723.213817.1661913390.imp@bsdimp.com> <1c66db910807240451n5c181956rfe82b2ba4e80c5ae@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help

Philip Schulz wrote:
>
> Unless I misunderstood what you guys said, I think it should be done
> the other way around.
> 
> It's my understanding that Linux always uses the FDT internally. If it
> finds that it's being booted from a full Open Firmware implementation
> with device tree, it will first parse the device tree and convert it
> to an FDT. That way, Linux doesn't have to do any client interface
> calls once it's past the device tree parsing stage. I think that's
> good, see below.

It would be more correct to say that both device tree implementations
are parsed and pushed into a single internal device tree representation.

The only difference is OpenFirmware implementations had this done anyway
(since quiesce is called and the OF is killed, they need a copy of the
DT) and in a flattened device tree, a text representation is compiled
and this binary blob is attached to the kernel either manually or by
boot firmware.

I would definitely suggest a similar route; using the CIF to access the
device drivers hardly ever works properly, and it's slow (horrible
calling convention) and cannot support interrupts (everything must be
polled, through that horrible calling convention).

There is little point keeping anything but RTAS around (RTAS is
important :)

-- 
Matt Sealey <matt@genesi-usa.com>
Genesi, Manager, Developer Relations



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?48898BA7.8090508>