вс, 14 июн. 2026 г., 17:29 BALATON Zoltan <[email protected]>:

> On Sun, 14 Jun 2026, Andrew Randrianasulu wrote:
> > I tried qemu 10.0.10 (qemu-system-ppc) compiled as ppc32 binary - fail
> >
> > I tried qemu 2.2.0 compiled as ppc64 binary (qemu-system-ppc and ppc64
> > variants) -fail
> >
> > I tried qemu 5.0.0 compiled as 32bit ppc (qemu-system-ppc) - fail.
> >
> > I tried qemu 6.1.1 compiled as 32bit ppc binary - qemu-system-ppc. Fail.
> >
> > I tried recompiling host kernel without preemtion - still fail.
> >
> > :(
> >
> > fail like this in dmesg
> >
> > [75573.287328] Couldn't emulate instruction 0x00000000 (op 0 xop 0)
> >                        [75573.287334] kvmppc_exit_pr_progint: emulation
> at
> > 100 failed (00000000)
> >
> >
> > lscpu output:
> > Architecture:                ppc64
> >
> > CPU op-mode(s):            32-bit, 64-bit
> > Byte Order:                Big Endian
> > CPU(s):                      2
> >
> > On-line CPU(s) list:       0,1
> >
> > Model name:                  PPC970MP, altivec supported
> > Model:                     1.1 (pvr 0044 0101)
> [...]
> > Why so old qemu? Well, it worked on OSX Leopard 10.5.8 on same machine,
> so
> > I compiled it as 64bit ppc64 binary - new qemu grow a lot  ... and
> keeping
> > effectively 3 different dev systems makes this 160 gb hdd look small :)
>
> I don't know about it but I think the only combination that ever worked
> was ppc on ppc (i.e. KVM on G4 Macs) or maybe ppc64 on ppc64. Running ppc
> on ppc64 is known not to work and I haven't heard about anybody fixing
> that. There was a blog entry about running MacOS on Power10:
>
> https://www.talospace.com/2018/08/making-your-talos-ii-into-power-mac_29.html
> but I think that was on ppc64le (which does not work on G5 as that's big
> endian only) and you still needed a guest kernel that could handle the G5
> due to different cache line size that affects at least dcbz which is used
> to clear memory so unless that's correctly emulated by KVM it may clear
> more bytes than intended and break.
>

https://forum.hyperion-entertainment.com/viewtopic.php?t=4736&start=1410

I thought this picture showed ppc64 kernel at host (not mac, neo amiga) and
qemu-system-ppc with non-obvious bitness?


> So considering the above, what may work is if you run a 32 bit ppc kernel
> (G4 version) on your G5 for the host not using it as 64 bit instead of
> ppc64 kernel and try a guest kernel that detects G5 CPU and knows how to
> handle the different cache line size.


Are you saying 32bit *Linux* ppc kvm as host can handle 64bit guest kernel ?

I am not ever sure firmware here can load 32bit ppc Linux .. I'll try of
course.


Or find and fix the emulation of
> different instructions on ppc64 in Linux KVM when running 32 bit ppc code
> on 64 but host. There supposed to be some support for that but maybe it's
> broken or never finished.
>
> But as I said I don't know this and don't have PPC hardware to try, nor
> interest to do it so it's just my understanding and guess, which may be
> wrong, but that's probably where you should start looking. Hopefully there
> are others here with more knowledge about it or who want to look at it.
> You should also look at how to enable KVM debug logs in Linux kernel and
> see if you get any errors in the syslog. The usual QEMU debug options are
> not that helpful with KVM and you should look for KVM logs instead.
>

In theory I subscribed to linux-ppc (kernel) list. May be I should cc them
? (added to cc)

I tried kvm-unit-tests but they apparently require qemu (to my surprise!)
and mostly focus on pseries / kvm HV (not surprisingly)?

Is there anything smaller to test kvm_pr specifically?

I even tried to d/l svn version of Mac on Linux but this one failed to
compile with gcc 15.

svn checkout svn://svn.code.sf.net/p/mac-on-linux/code/trunk
mac-on-linux-code



> Regards,
> BALATON Zoltan
>

Reply via email to