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:
parent
dafe299cf0
commit
da77d2b037
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user