Lines Matching refs:env
11 GLOBAL_REGISTER_VARIABLE_DECL struct CPUMIPSState *env asm(AREG0);
20 void dump_fpu(CPUState *env);
21 void fpu_dump_state(CPUState *env, FILE *f,
25 void cpu_mips_clock_init (CPUState *env);
26 void cpu_mips_tlb_flush (CPUState *env, int flush_global);
36 static inline int cpu_has_work(CPUState *env)
43 if ((env->interrupt_request & CPU_INTERRUPT_HARD) &&
44 cpu_mips_hw_interrupts_pending(env)) {
48 if (env->interrupt_request & CPU_INTERRUPT_TIMER) {
55 static inline int cpu_halted(CPUState *env)
57 if (!env->halted)
59 if (cpu_has_work(env)) {
60 env->halted = 0;
66 static inline void compute_hflags(CPUState *env)
68 env->hflags &= ~(MIPS_HFLAG_COP1X | MIPS_HFLAG_64 | MIPS_HFLAG_CP0 |
71 if (!(env->CP0_Status & (1 << CP0St_EXL)) &&
72 !(env->CP0_Status & (1 << CP0St_ERL)) &&
73 !(env->hflags & MIPS_HFLAG_DM)) {
74 env->hflags |= (env->CP0_Status >> CP0St_KSU) & MIPS_HFLAG_KSU;
77 if (((env->hflags & MIPS_HFLAG_KSU) != MIPS_HFLAG_UM) ||
78 (env->CP0_Status & (1 << CP0St_PX)) ||
79 (env->CP0_Status & (1 << CP0St_UX)))
80 env->hflags |= MIPS_HFLAG_64;
81 if (env->CP0_Status & (1 << CP0St_UX))
82 env->hflags |= MIPS_HFLAG_UX;
84 if ((env->CP0_Status & (1 << CP0St_CU0)) ||
85 !(env->hflags & MIPS_HFLAG_KSU))
86 env->hflags |= MIPS_HFLAG_CP0;
87 if (env->CP0_Status & (1 << CP0St_CU1))
88 env->hflags |= MIPS_HFLAG_FPU;
89 if (env->CP0_Status & (1 << CP0St_FR))
90 env->hflags |= MIPS_HFLAG_F64;
91 if (env->insn_flags & ISA_MIPS32R2) {
92 if (env->active_fpu.fcr0 & (1 << FCR0_F64))
93 env->hflags |= MIPS_HFLAG_COP1X;
94 } else if (env->insn_flags & ISA_MIPS32) {
95 if (env->hflags & MIPS_HFLAG_64)
96 env->hflags |= MIPS_HFLAG_COP1X;
97 } else if (env->insn_flags & ISA_MIPS4) {
102 if (env->CP0_Status & (1 << CP0St_CU3))
103 env->hflags |= MIPS_HFLAG_COP1X;