Arnd Bergmann wrote:
> On Tuesday 17 October 2006 15:22, Christoph Hellwig wrote:
>>> rtas_node = of_find_node_by_name(NULL, "rtas");
>>> if (rtas_node == NULL)
>>> return -ENODEV;
>> And given this check I wonder why we need the platform check at all. It
>> should be safe to just remove it.
>>
> One difference would be that it triggers on machines running SLOF
(QS20, some JS20/JS21) and maybe some older Macs, which is probably a good
> thing.
>
> I wonder if it should be a little stricter though:
>
>> rtas_node = of_find_node_by_path("/rtas");
>> if (!rtas_node)
>> return -ENODEV;
>
> In case there is a node called "rtas" somewhere else.
>
> Arnd <><
>
Maybe we could check for the RTAS revision. The CHRP manual define this
properties 'rtas-version' in /rtas/. This should be 1 for current
implementation.
You can find here a new patch. It does not create the /proc/rtas and the
symlink /proc/ppc64/rtas in arch/powerpc/kernel/proc_ppc64.c anymore
but rather create the entry (/proc/rtas) in
arch/powerpc/kernel/rtas-proc.c and only the ppc64/ratas link for 64bit
machine.
This has been tested on our PowerPC 32bit machine. It would be nice if
PowerPC64 developer could reveiw and test it.
I stay ready to test upcomming patch if required.
Regards