Subject: Re: Current EFIKA status?
To: Matt Sealey <matt@genesi-usa.com>
From: Frank Wille <frank@phoenix.owl.de>
List: port-ofppc
Date: 10/18/2007 23:56:51
Matt Sealey wrote:

>> You don't even need RTAS for this. You can proble the devices by walking
>> the device tree. Configuration space is accessible by the "config-l@"
>> and "config-l!" methods of the PCI device node. This are the
>> pci_conf_read(9) and pci_conf_write(9) functions I wrote for RS/6000.
>> They worked on the Pegasos too when Jorge tested my hacks.
> 
> They should, but they might be a little unreliable. It's also a bit of
> a jaunt into the client interface (far more heavy than an RTAS function)
> to read PCI configuration space.
> 
> The only reason to use Firmware over RTAS is when you need to specify
> a domain - each pci node in the device tree knows implicity which
> PCI domain it belongs to. RTAS has no domain support (but the Genesi
> firmware implementation knows what you are trying to do, since it
> implicitly knows where you are poking around in the address space
> and which device it has attached to the single-device-bus-fake-AGP
> on Pegasos)
> 
> Since you *require* RTAS for RTC, reliable poweroff/reboot, it's
> worth implementing, and you may as well use RTAS as your config
> space interface as this would be the very start of supporting the
> IBM hypervisor (NetBSD on a JS21? It could happen...)

Currently I'm not smart enough to see a reason why the "PCI domain" can be a
problem, but the rest sounds conclusive.

But do all OFW implementations offer RTAS? Or is it more compatible to use
the config-l@/config-l! methods as a fallback?


-- 
    _  Frank Wille (frank@phoenix.owl.de)
 _ //  http://sun.hasenbraten.de/~frank/
 \X/   Phx @ #AmigaGer