Hi,
SLOF is what is loaded from the very beginning, it configures PCI, cooks
the device tree and boots the guest system (directly or via yaboot/grub,
from disk, network or ram). Normal firmware, as usual. It knows all the
details about the machine so the guest system (linux) does not need to know
details about PCI host bus adapter or anything like this.
So pretty much like seabios on x86.
RTAS is an agent which always lives in RAM when the guest system (linux,
aix) is up and running. It is a light-weight version of SLOF which is left
in RAM by SLOF and can do board/machine specific tasks such as PCI config
space access or PCI hotplug - something what SLOF already knows about and
something what the guest does not want to know about in details. This came
from IBM pHyp (traditional server PPC64 hypervisor) and it is quite a big
firmware. In the case of KVM, it is very small stub which simply passes
requests to QEMU which does the rest. But it is still a separate binary
image even in the current QEMU.
How that does get loaded? Is it there at machine init? Or does SLOF
load RTAS from somewhere?