G5 powermacs
From my point of view they are a NoGo! G5 is a true 64bit machine, which is a completely different branch (different source in the linux kernel) from machines PPC32 like PPC4xx!
The PCI used in G5 is PCI64 with less quirks than in PCI32.
PowertMac-G3 is the best solution for me.
Although there is some code for 4xx support in the standard kernels from Linus Torvalds, it is incomplete and largely broken for the PCI32-embedded part. Well, as far as I have recently experimented, a lot of the code for embedded machines in this tree has been contributed by MontaVista Software Inc, which currently is lagging behind linuxppc 2.6.22 devel. So, you wan't see their support in 3.* and 4.*. Not yet, unless a big customer wants to inject a lot of money into the task. The code is gradually being merged into 'abandonware', since linux is moving to PPC64 (thanks to IBM interest for POWER8), while we are moving to modern PPC32 embedded cores (>460, ~2006 generation), and generally a lot of companies prefer to deal with ARM chips as main (linux?)processor for their embedded projects.
To cut the story shorter, 4xx is not Dead Iron, but 405 (~1999 generation) is going EOL.
We usually have to provide 20 years of support. For PPC405 17 years are already gone.
cheaper than "eval boards" from semiconductor manufacturers, IIRC
Eval boards are usually better for prototyping purposes! At least they offer a lot of test-points, including performances TP, and LA access points.
Unfortunately they are difficult to find, and expensive.
yes, there's a BIOS that will stick things in there in nearly invisible "virtual" modes (like USB keyboard bios emulation...), but something like grub will load up software onto a nearly bare-metal x86 environment...
Every PC-BIOS usually adds a lot of pre-initializations on PCI to handle quirks. The BIOS itself is designed with the idea of having to deal with VIDEO boards which can be ISA-stuff ported to PCI. It means it carries on PCI_IO which must support fixed addresses, which adds quirks. And here we go! It's an hardware problem, workaround-ed in firmware, before grub, and then linux, can takes the control.
Grub doesn't re-initialize anything! It takes all the legacy BARs already programmed by the BIOS, and once programmed you can't change them. And so the Linux kernel from 2.6.26 to 4.11.0, which does PCI-rescan, but only for reprogrammable BARs.
I have to solve a different kind of quirks, related to the old-pATA controller stuff I find attached to the PPC405 prototype they gave me! I can't change the hardware (e.g. replacing the legacy pATA chip with a modern component, whose addresses are not fixed but programmable), and modern linux kernels don't carry about old legacy-quirks. Code has been removed in the kernel tree.
So, I already have a lot of problems, I don't need to add more problems because of the hole in the address space added by the BIOS to support video board on legacy PCI_IO.
I have already put the old-pATA chip onto a PCI-board prototype, so I can plug it into an empty PCI slot of G3-PowerMac, and try to resurrect the old kernel code (mainly from 2.4.*), fixing the quirk problem. I can isolate the specific board-init code into the bootwrapper as "glue" between the firmware and the kernel.
All of that, waiting to access the PPC405 prototype. But, in the meanwhile I will also use the PowerMac-G3 to develop the userspace stuff (musl-libc driven). Thanks god, it's kernel-independent.