summaryrefslogtreecommitdiff
path: root/target-unicore32
diff options
context:
space:
mode:
Diffstat (limited to 'target-unicore32')
-rw-r--r--target-unicore32/cpu.h4
-rw-r--r--target-unicore32/softmmu.c3
2 files changed, 3 insertions, 4 deletions
diff --git a/target-unicore32/cpu.h b/target-unicore32/cpu.h
index ae9a9d623d..58f1f20ca5 100644
--- a/target-unicore32/cpu.h
+++ b/target-unicore32/cpu.h
@@ -181,9 +181,7 @@ void switch_mode(CPUUniCore32State *, int);
static inline bool cpu_has_work(CPUState *cpu)
{
- CPUUniCore32State *env = &UNICORE32_CPU(cpu)->env;
-
- return env->interrupt_request &
+ return cpu->interrupt_request &
(CPU_INTERRUPT_HARD | CPU_INTERRUPT_EXITTB);
}
diff --git a/target-unicore32/softmmu.c b/target-unicore32/softmmu.c
index fc27100f27..1c4c7f5245 100644
--- a/target-unicore32/softmmu.c
+++ b/target-unicore32/softmmu.c
@@ -74,6 +74,7 @@ void switch_mode(CPUUniCore32State *env, int mode)
/* Handle a CPU exception. */
void do_interrupt(CPUUniCore32State *env)
{
+ CPUState *cs = CPU(uc32_env_get_cpu(env));
uint32_t addr;
int new_mode;
@@ -112,7 +113,7 @@ void do_interrupt(CPUUniCore32State *env)
/* The PC already points to the proper instruction. */
env->regs[30] = env->regs[31];
env->regs[31] = addr;
- env->interrupt_request |= CPU_INTERRUPT_EXITTB;
+ cs->interrupt_request |= CPU_INTERRUPT_EXITTB;
}
static int get_phys_addr_ucv2(CPUUniCore32State *env, uint32_t address,