target/ppc: Do not call hreg_compute_mem_idx after ppc_store_msr

In ppc_store_msr we call hreg_compute_hflags, which itself
calls hreg_compute_mem_idx.  Rely on ppc_store_msr to update
everything required by the msr update.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20210315184615.1985590-5-richard.henderson@linaro.org>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
This commit is contained in:
Richard Henderson 2021-03-15 12:46:02 -06:00 committed by David Gibson
parent dafe299cf0
commit da77d2b037

View File

@ -125,9 +125,6 @@ static int cpu_load_old(QEMUFile *f, void *opaque, int version_id)
env->msr ^= env->msr_mask & ~((1ULL << MSR_TGPR) | MSR_HVB); env->msr ^= env->msr_mask & ~((1ULL << MSR_TGPR) | MSR_HVB);
ppc_store_msr(env, msr); ppc_store_msr(env, msr);
/* Recompute mmu indices */
hreg_compute_mem_idx(env);
return 0; return 0;
} }
@ -418,14 +415,12 @@ static int cpu_post_load(void *opaque, int version_id)
/* /*
* Invalidate all supported msr bits except MSR_TGPR/MSR_HVB * Invalidate all supported msr bits except MSR_TGPR/MSR_HVB
* before restoring * before restoring. Note that this recomputes hflags and mem_idx.
*/ */
msr = env->msr; msr = env->msr;
env->msr ^= env->msr_mask & ~((1ULL << MSR_TGPR) | MSR_HVB); env->msr ^= env->msr_mask & ~((1ULL << MSR_TGPR) | MSR_HVB);
ppc_store_msr(env, msr); ppc_store_msr(env, msr);
hreg_compute_mem_idx(env);
return 0; return 0;
} }