On Tue, Dec 29, 2015 at 04:43:09PM +0000, Mark Cave-Ayland wrote:
After some further research, there are currently 2 reasons that make me feel we should be targeting earlier CPUs than the G3 for 32-bit OpenBIOS builds: firstly there are some people trying to emulate PPC 604 CPUs with QEMU/KVM which currently hangs in OpenBIOS, and secondly there has been talk of switching over QEMU's PReP machine from OHW to OpenBIOS instead.
To that end the minimum supported CPU for PPC needs to be 602 and so with this in mind, I've lightly tested the attached patch which seems to work here - Cole, does this work on your compiler setup? If so, I think this is the option I would like to apply upstream.
I seriously doubt you have a 602 anywhere, or an emulator for it even. You want 603/604, which were both called "G2".
It is probably best if you make code that runs on 603 but is tuned for (say) 750, as in -mcpu=603 -mtune=750.
ppc64) select_prefix powerpc64
CFLAGS="-Wa,-a64 -m64 -msoft-float -fno-builtin"
CFLAGS="-Wa,-a64 -m64 -mcpu=G5 -msoft-float -fno-builtin" AS_FLAGS="-Wa,-a64" ;;
G5 is 970. It includes VMX (AltiVec) vector support; you may want to aim lower here too, say, power4.
While I'm at it... You probably want -ffreestanding (and then you don't need to disable builtins separately). You should not need -Wa,-a64 in CFLAGS unless your toolchain install is broken; and for AS_FLAGS you want to include all of CFLAGS.
Cheers,
Segher