On 3/2/09, Alexander Graf <address@hidden> wrote:
In order to modify SLB entries on recent PPC64 machines, the slbmte
instruction is used.
This patch implements the slbmte instruction and makes the "bridge"
mode code use the slb set functions, so we can move the SLB into
the CPU struct later.
This is required for Linux to run on PPC64.
Signed-off-by: Alexander Graf <address@hidden>
void ppc_store_sr (CPUPPCState *env, int srnum, target_ulong value)
{
LOG_MMU("%s: reg=%d " ADDRX " " ADDRX "\n",
__func__, srnum, value, env->sr[srnum]);
- if (env->sr[srnum] != value) {
+ if (env->mmu_model & POWERPC_MMU_64) {
target_ulong helper_load_sr (target_ulong sr_num)
{
+ if (env->mmu_model & POWERPC_MMU_64)
+ return ppc_load_sr(env, sr_num);
return env->sr[sr_num];
}
It would be faster to move the MMU model checks to translation time.