Add a branch to develop IBM pSeries support.
Add initial code to support the IBM POWER hypervisor (e.g. LPARs on pSeries)
machines, based on initial work by Andreas Tobler. This is sufficient to
boot to the kernel complaining about not having drivers for anything on
a POWER5+ P285 and on the POWER7 LPAR emulator recently added by IBM to
QEMU. The specification for the hypervisor was provided in the PAPR 2.4
documentation provided by the Power.org consortium.
First draft of power hypervisor page replacement algorithm.
Now that we have platform_chrp, platform_powermac should specifically check
for a PowerMac platform instead of generic OF.
Correct for some SLOF shenanigans.
IFC @ 221988
Keep track of useful information like where preloaded metadata and modules
are. On some firmwares (SLOF) OF_claim() does not reduce the size of the
available array, meaning that these data (a) can be overwritten and (b)
are not mapped into the kernel's address space except by accident in the
direct-mapped case. loader provides the kernel with the end of the
metadata + modules, mapped immediately after the kernel, so just replace
endkernel by loader's KERNEND variable, if available.

The kernel now boots on emulated POWER7 hardware to probing the device
tree (where it stops due to lack of drivers) without any hacks.

Note: this patch also affects PS3, and should be merged to HEAD after some
more testing.
Remove some printfs now that this all works reliably.
Set the maximum real address to the end of the first element of the physical
memory array, per the PAPR spec.
Make the primary name of the OF console device /dev/ofwcons, and only
alias it to the contents of the output property if it is defined. This
avoids a panic when booting machines (QEMU) where the output-device
property is not defined.

Since output-device is free-form and potentially conflicts with other
entries in /dev, I also am not sure we should be doing the aliasing at all.
Rearrange the OF 32-bit call thunk for ppc64 to be in its own file instead
of aim/locore64.S and make an equivalent thunk for 32-bit platforms to
handle real mode. Add in similar stubs (untested) for RTAS calls and
fix the SLOF memory hack in ofw_machdep.c to not break Apple machines
with physical memory lists that are not in order.

This rearranges a bunch of OF-related stuff, but still boots on:
- POWER7 LPAR
- IBM Cell simulator
- iBook G4
- Powermac G3
- Xserve G5
Kill some debugging code that snuck in here.
Make sure the OF argument bounce page is not until below 4 GB but also
below the real-mode boundary that that real-mode firmware can see it.
Add an RTAS (Runtime Abstraction Services) interface layer and an
RTAS-based PCI bus driver. RTAS is tested and working on both 32 and 64-bit
systems, but the RTAS PCI driver has been tested only on a 32-bit system
(Powermac G3) due to lack of RTAS-enabled 64-bit hardware on my end.
A small nit: RTAS (and this driver) support multi-domain PCI systems, so
set the PCI domain to the PCI root bus unit number. This may be overkill,
but is guaranteed to work.
Remove a (likely) obsolete comment about RTAS.
IBM firmware is odd. Make RTAS initialization actually work correctly on
SLOF systems.
Add a driver for simple RTAS services. This supports the RTAS time of day
clock interface, as well as power-off and reboot. Other potential features
that could be added here are RTAS LED annunciator support, NVRAM access,
etc.
Fix a couple typos.
Add SMP support on CHRP/PAPR system, including support for multi-threaded
CPUs.