diff options
author | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2016-06-07 12:50:22 +1000 |
---|---|---|
committer | David Gibson <david@gibson.dropbear.id.au> | 2016-06-07 13:10:44 +1000 |
commit | c5a8d8f32d90058995334cfd9292ed1b98c76971 (patch) | |
tree | e9ee285957f5885754f6520dc9521d39777d207e /target-ppc/helper_regs.h | |
parent | 3dcfb74fd4e4ab31508c80e6965a0cd477510234 (diff) |
ppc: Batch TLB flushes on 32-bit 6xx/7xx/7xxx in hash mode
This ports the existing 64-bit mechanism to 32-bit, thus series
of 64 tlbie's followed by a sync like some versions of Darwin
(ab)use will result in a single flush.
We apply a pending flush on any sync instruction though, as Darwin
doesn't use tlbsync on non-SMP systems.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Diffstat (limited to 'target-ppc/helper_regs.h')
-rw-r--r-- | target-ppc/helper_regs.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/target-ppc/helper_regs.h b/target-ppc/helper_regs.h index 104b690093..8fc09344db 100644 --- a/target-ppc/helper_regs.h +++ b/target-ppc/helper_regs.h @@ -151,7 +151,7 @@ static inline int hreg_store_msr(CPUPPCState *env, target_ulong value, return excp; } -#if !defined(CONFIG_USER_ONLY) && defined(TARGET_PPC64) +#if !defined(CONFIG_USER_ONLY) static inline void check_tlb_flush(CPUPPCState *env) { CPUState *cs = CPU(ppc_env_get_cpu(env)); |