On 09/20/2016 01:44 PM, Thomas Huth wrote: > Hi, > > when I try to run my guest in KVM-PR mode, current QEMU refuses to start: > > $ sudo qemu-system-ppc64 -M pseries,accel=kvm,kvm-type=PR \ > -nographic -vga none -cpu POWER8 > qemu: fatal: Unknown MMU model 851972 > > ... followed by a useless register dump. I've bisected the issue, and it > seems like the problem has been introduced by this commit here: > > commit 4322e8ced5aaac7191958f09622d199fe61e2d87 > ppc: Fix 64K pages support in full emulation > > Seems like KVM PR is using the "degraded" ISA variants (without the 1TB > segments), but the new POWERPC_MMU_64K flag has not been added to those. > Has this been done on purpose, or was this just by accident?
The "degraded" architecture support has some history behind it : commit 126a79300971 added it commit aa4bb5875231 removed it. commit ba3ecda05e93 readded it. commit 4322e8ced5aa forgot about it again > I can make KVM PR working again with the following patch: I think this is correct. Let's wait for Ben to chime in :) Thanks, C. > diff --git a/target-ppc/cpu-qom.h b/target-ppc/cpu-qom.h > index 2864105..36694cb 100644 > --- a/target-ppc/cpu-qom.h > +++ b/target-ppc/cpu-qom.h > @@ -81,6 +81,7 @@ enum powerpc_mmu_t { > | POWERPC_MMU_AMR | 0x00000003, > /* Architecture 2.06 "degraded" (no 1T segments) */ > POWERPC_MMU_2_06a = POWERPC_MMU_64 | POWERPC_MMU_AMR > + | POWERPC_MMU_64K > | 0x00000003, > /* Architecture 2.07 variant */ > POWERPC_MMU_2_07 = POWERPC_MMU_64 | POWERPC_MMU_1TSEG > @@ -88,6 +89,7 @@ enum powerpc_mmu_t { > | POWERPC_MMU_AMR | 0x00000004, > /* Architecture 2.07 "degraded" (no 1T segments) */ > POWERPC_MMU_2_07a = POWERPC_MMU_64 | POWERPC_MMU_AMR > + | POWERPC_MMU_64K > | 0x00000004, > }; > > However, not sure whether this is the right fix ... Cédric, Ben, any ideas?