diff options
Diffstat (limited to 'target-ppc/kvm.c')
-rw-r--r-- | target-ppc/kvm.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/target-ppc/kvm.c b/target-ppc/kvm.c index 7af3fe277d..e4a1a35a33 100644 --- a/target-ppc/kvm.c +++ b/target-ppc/kvm.c @@ -820,6 +820,9 @@ int kvm_arch_put_registers(CPUState *cs, int level) #ifdef TARGET_PPC64 for (i = 0; i < ARRAY_SIZE(env->slb); i++) { sregs.u.s.ppc64.slb[i].slbe = env->slb[i].esid; + if (env->slb[i].esid & SLB_ESID_V) { + sregs.u.s.ppc64.slb[i].slbe |= i; + } sregs.u.s.ppc64.slb[i].slbv = env->slb[i].vsid; } #endif |