diff options
Diffstat (limited to 'target/mips/internal.h')
-rw-r--r-- | target/mips/internal.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/target/mips/internal.h b/target/mips/internal.h index a9a22ea..91c786c 100644 --- a/target/mips/internal.h +++ b/target/mips/internal.h @@ -225,6 +225,16 @@ static inline void mips_env_set_pc(CPUMIPSState *env, target_ulong value) } } +static inline bool mips_env_is_bigendian(CPUMIPSState *env) +{ + return extract32(env->CP0_Config0, CP0C0_BE, 1); +} + +static inline MemOp mo_endian_env(CPUMIPSState *env) +{ + return mips_env_is_bigendian(env) ? MO_BE : MO_LE; +} + static inline void restore_pamask(CPUMIPSState *env) { if (env->hflags & MIPS_HFLAG_ELPA) { |