diff options
Diffstat (limited to 'target-arm')
-rw-r--r-- | target-arm/cpu.h | 15 | ||||
-rw-r--r-- | target-arm/exec.h | 13 | ||||
-rw-r--r-- | target-arm/helper.c | 1 | ||||
-rw-r--r-- | target-arm/op_helper.c | 6 | ||||
-rw-r--r-- | target-arm/translate.c | 1 |
5 files changed, 17 insertions, 19 deletions
diff --git a/target-arm/cpu.h b/target-arm/cpu.h index 1276e6985a..adef42785c 100644 --- a/target-arm/cpu.h +++ b/target-arm/cpu.h @@ -227,7 +227,7 @@ typedef struct CPUARMState { void *opaque; } cp[15]; void *nvic; - struct arm_boot_info *boot_info; + const struct arm_boot_info *boot_info; } CPUARMState; CPUARMState *cpu_arm_init(const char *cpu_model); @@ -518,4 +518,17 @@ static inline void cpu_get_tb_cpu_state(CPUState *env, target_ulong *pc, } } +static inline bool cpu_has_work(CPUState *env) +{ + return env->interrupt_request & + (CPU_INTERRUPT_FIQ | CPU_INTERRUPT_HARD | CPU_INTERRUPT_EXITTB); +} + +#include "exec-all.h" + +static inline void cpu_pc_from_tb(CPUState *env, TranslationBlock *tb) +{ + env->regs[15] = tb->pc; +} + #endif diff --git a/target-arm/exec.h b/target-arm/exec.h index db6608ec8b..6793288d43 100644 --- a/target-arm/exec.h +++ b/target-arm/exec.h @@ -22,22 +22,9 @@ register struct CPUARMState *env asm(AREG0); #include "cpu.h" -#include "exec-all.h" - -static inline int cpu_has_work(CPUState *env) -{ - return (env->interrupt_request & - (CPU_INTERRUPT_FIQ | CPU_INTERRUPT_HARD | CPU_INTERRUPT_EXITTB)); -} #if !defined(CONFIG_USER_ONLY) #include "softmmu_exec.h" #endif void raise_exception(int); - -static inline void cpu_pc_from_tb(CPUState *env, TranslationBlock *tb) -{ - env->regs[15] = tb->pc; -} - diff --git a/target-arm/helper.c b/target-arm/helper.c index a0f2314799..ae4f334e40 100644 --- a/target-arm/helper.c +++ b/target-arm/helper.c @@ -3,7 +3,6 @@ #include <string.h> #include "cpu.h" -#include "exec-all.h" #include "gdbstub.h" #include "helper.h" #include "qemu-common.h" diff --git a/target-arm/op_helper.c b/target-arm/op_helper.c index 8334fbcf6d..46358844c5 100644 --- a/target-arm/op_helper.c +++ b/target-arm/op_helper.c @@ -25,7 +25,7 @@ void raise_exception(int tt) { env->exception_index = tt; - cpu_loop_exit(); + cpu_loop_exit(env); } uint32_t HELPER(neon_tbl)(uint32_t ireg, uint32_t def, @@ -234,13 +234,13 @@ void HELPER(wfi)(void) { env->exception_index = EXCP_HLT; env->halted = 1; - cpu_loop_exit(); + cpu_loop_exit(env); } void HELPER(exception)(uint32_t excp) { env->exception_index = excp; - cpu_loop_exit(); + cpu_loop_exit(env); } uint32_t HELPER(cpsr_read)(void) diff --git a/target-arm/translate.c b/target-arm/translate.c index 3e431e15cb..34d5e6ef1a 100644 --- a/target-arm/translate.c +++ b/target-arm/translate.c @@ -25,7 +25,6 @@ #include <inttypes.h> #include "cpu.h" -#include "exec-all.h" #include "disas.h" #include "tcg-op.h" #include "qemu-log.h" |