[OpenBIOS] [PATCH] ppc: force target CPU
Mark Cave-Ayland
mark.cave-ayland at ilande.co.uk
Mon Jan 18 20:14:15 CET 2016
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=0e102fcfbe01d38d939d93152921769503bc4e3a;hb=HEAD#l505
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=da9b266bb8491fd41badfff8ae1772007602dcca
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=b37fc148bb81b5b022846156a6cba266e6c23962
>> 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=ca3d6a8c40c588bafc2e3ffade837b417e613bed;hb=HEAD#l185
ATB,
Mark.
More information about the OpenBIOS
mailing list