On 18/01/16 18:29, Andreas Färber wrote:
Am 18.01.2016 um 07:40 schrieb Segher Boessenkool:
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".
For reasons unknown to me as current maintainer, QEMU's PReP machine uses a "602" CPU model by default. We are aware of issues with that default and have overridden it from the command line occasionally in our testing, but did not reach broader agreement on why and what to change it to... so if you have more input on that...?
http://git.qemu-project.org/?p=qemu.git;a=blob;f=hw/ppc/prep.c;h=0e102fcfbe0...
You can see this if you go further back in history before the files were moved; it seems like Jocelyn Mayer switched to a 604 in order to fix OS/2:
http://git.qemu-project.org/?p=qemu.git;a=commitdiff;h=da9b266bb8491fd41badf...
and the commit where the switch appears is here, apparently in an attempt to find a CPU that worked at that time:
http://git.qemu-project.org/?p=qemu.git;a=commitdiff;h=b37fc148bb81b5b022846...
It is probably best if you make code that runs on 603 but is tuned for (say) 750, as in -mcpu=603 -mtune=750.
Given that 603 was used in a real BeBox then this would seem to be a reasonable default. And perhaps the QEMU PReP CPU should be updated similarly?
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.
Why? QEMU's pseries emulation uses SLOF instead of OpenBIOS, and ppc64 mac99 uses a 970fx by default.
http://git.qemu-project.org/?p=qemu.git;a=blob;f=hw/ppc/mac_newworld.c;h=ca3...
ATB,
Mark.