PowerPC Overview
The PowerPC CPU architecture is significantly different from the IA32. Yet still, the architecture of your OS need not differ too much: While the way you address memory on the lowest levels might be different, or the way your SIMD unit operates, you still have a bootloader, a scheduler, a dispatcher, a memory manager etc. etc.
You will be able to transcribe most of the documentation 1:1 to the PowerPC, unless they handle the low levels (interrupt handling, real vs. protected mode etc.).
A good place to get started with PowerPC is via the POWER instruction set manual which can be found here . This document contains a complete documentation of the POWER/PowerPC architecture including MMU and SIMD/Vector extensions.
But CPU docs won't suffice. You also need info on the motherboard / chipset / boot sequence etc. - and that's where it gets tricky, since there is no such thing as "the PowerPC architecture" - Apple doesn't like giving away that information, and there are many other platforms that might or might not be compatible.
A Linux-on-PPC project exists, and is probably a good place to look for PowerPC info...
/usr/src/linux/arch/ppc/boot/prep/head.S /* * Boot loader philosophy: * ROM loads us to some arbitrary location * Move the boot code to the link address (8M) * Call decompress_kernel() * Relocate the initrd, zimage and residual data to 8M * Decompress the kernel to 0 * Jump to the kernel entry * -- Cort */
- http://penguinppc.org/ looks like a neat place to start.
- http://www.netbsd.org/ports/macppc/ also might be of some interest.
The BIOS in latest Apple Macintosh is named "Open Firmware". Open Firmware was initially a SPARC-stuff targeted at Sun stations. Extension cards and other hardware of the like that are OpenFirmware compliant should carry a Forth-written initialization code in their ROM. I suppose the main boot rom then scan memory for such ROMs and then interpret the FORTH code on them.
- http://www.firmworks.com/www/ofw.htm
- http://www.openfirmware.org/
- http://www.firmworks.com/open_fw/liter/ofdesc.pdf (overview of OpenFirmware)