target/lm32: Use env_cpu, env_archcpu
Cleanup in the boilerplate that each target must define. Replace lm32_env_get_cpu with env_archcpu. The combination CPU(lm32_env_get_cpu) should have used ENV_GET_CPU to begin; use env_cpu now. Reviewed-by: Alistair Francis <alistair.francis@wdc.com> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
parent
6aa9e42f27
commit
6dd40a906d
@ -195,11 +195,6 @@ struct LM32CPU {
|
|||||||
uint32_t features;
|
uint32_t features;
|
||||||
};
|
};
|
||||||
|
|
||||||
static inline LM32CPU *lm32_env_get_cpu(CPULM32State *env)
|
|
||||||
{
|
|
||||||
return container_of(env, LM32CPU, env);
|
|
||||||
}
|
|
||||||
|
|
||||||
#define ENV_OFFSET offsetof(LM32CPU, env)
|
#define ENV_OFFSET offsetof(LM32CPU, env)
|
||||||
|
|
||||||
#ifndef CONFIG_USER_ONLY
|
#ifndef CONFIG_USER_ONLY
|
||||||
|
@ -58,28 +58,23 @@ hwaddr lm32_cpu_get_phys_page_debug(CPUState *cs, vaddr addr)
|
|||||||
|
|
||||||
void lm32_breakpoint_insert(CPULM32State *env, int idx, target_ulong address)
|
void lm32_breakpoint_insert(CPULM32State *env, int idx, target_ulong address)
|
||||||
{
|
{
|
||||||
LM32CPU *cpu = lm32_env_get_cpu(env);
|
cpu_breakpoint_insert(env_cpu(env), address, BP_CPU,
|
||||||
|
|
||||||
cpu_breakpoint_insert(CPU(cpu), address, BP_CPU,
|
|
||||||
&env->cpu_breakpoint[idx]);
|
&env->cpu_breakpoint[idx]);
|
||||||
}
|
}
|
||||||
|
|
||||||
void lm32_breakpoint_remove(CPULM32State *env, int idx)
|
void lm32_breakpoint_remove(CPULM32State *env, int idx)
|
||||||
{
|
{
|
||||||
LM32CPU *cpu = lm32_env_get_cpu(env);
|
|
||||||
|
|
||||||
if (!env->cpu_breakpoint[idx]) {
|
if (!env->cpu_breakpoint[idx]) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
cpu_breakpoint_remove_by_ref(CPU(cpu), env->cpu_breakpoint[idx]);
|
cpu_breakpoint_remove_by_ref(env_cpu(env), env->cpu_breakpoint[idx]);
|
||||||
env->cpu_breakpoint[idx] = NULL;
|
env->cpu_breakpoint[idx] = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
void lm32_watchpoint_insert(CPULM32State *env, int idx, target_ulong address,
|
void lm32_watchpoint_insert(CPULM32State *env, int idx, target_ulong address,
|
||||||
lm32_wp_t wp_type)
|
lm32_wp_t wp_type)
|
||||||
{
|
{
|
||||||
LM32CPU *cpu = lm32_env_get_cpu(env);
|
|
||||||
int flags = 0;
|
int flags = 0;
|
||||||
|
|
||||||
switch (wp_type) {
|
switch (wp_type) {
|
||||||
@ -98,26 +93,24 @@ void lm32_watchpoint_insert(CPULM32State *env, int idx, target_ulong address,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (flags != 0) {
|
if (flags != 0) {
|
||||||
cpu_watchpoint_insert(CPU(cpu), address, 1, flags,
|
cpu_watchpoint_insert(env_cpu(env), address, 1, flags,
|
||||||
&env->cpu_watchpoint[idx]);
|
&env->cpu_watchpoint[idx]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void lm32_watchpoint_remove(CPULM32State *env, int idx)
|
void lm32_watchpoint_remove(CPULM32State *env, int idx)
|
||||||
{
|
{
|
||||||
LM32CPU *cpu = lm32_env_get_cpu(env);
|
|
||||||
|
|
||||||
if (!env->cpu_watchpoint[idx]) {
|
if (!env->cpu_watchpoint[idx]) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
cpu_watchpoint_remove_by_ref(CPU(cpu), env->cpu_watchpoint[idx]);
|
cpu_watchpoint_remove_by_ref(env_cpu(env), env->cpu_watchpoint[idx]);
|
||||||
env->cpu_watchpoint[idx] = NULL;
|
env->cpu_watchpoint[idx] = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool check_watchpoints(CPULM32State *env)
|
static bool check_watchpoints(CPULM32State *env)
|
||||||
{
|
{
|
||||||
LM32CPU *cpu = lm32_env_get_cpu(env);
|
LM32CPU *cpu = env_archcpu(env);
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
for (i = 0; i < cpu->num_watchpoints; i++) {
|
for (i = 0; i < cpu->num_watchpoints; i++) {
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
#if !defined(CONFIG_USER_ONLY)
|
#if !defined(CONFIG_USER_ONLY)
|
||||||
void raise_exception(CPULM32State *env, int index)
|
void raise_exception(CPULM32State *env, int index)
|
||||||
{
|
{
|
||||||
CPUState *cs = CPU(lm32_env_get_cpu(env));
|
CPUState *cs = env_cpu(env);
|
||||||
|
|
||||||
cs->exception_index = index;
|
cs->exception_index = index;
|
||||||
cpu_loop_exit(cs);
|
cpu_loop_exit(cs);
|
||||||
@ -29,7 +29,7 @@ void HELPER(raise_exception)(CPULM32State *env, uint32_t index)
|
|||||||
|
|
||||||
void HELPER(hlt)(CPULM32State *env)
|
void HELPER(hlt)(CPULM32State *env)
|
||||||
{
|
{
|
||||||
CPUState *cs = CPU(lm32_env_get_cpu(env));
|
CPUState *cs = env_cpu(env);
|
||||||
|
|
||||||
cs->halted = 1;
|
cs->halted = 1;
|
||||||
cs->exception_index = EXCP_HLT;
|
cs->exception_index = EXCP_HLT;
|
||||||
@ -39,7 +39,7 @@ void HELPER(hlt)(CPULM32State *env)
|
|||||||
void HELPER(ill)(CPULM32State *env)
|
void HELPER(ill)(CPULM32State *env)
|
||||||
{
|
{
|
||||||
#ifndef CONFIG_USER_ONLY
|
#ifndef CONFIG_USER_ONLY
|
||||||
CPUState *cs = CPU(lm32_env_get_cpu(env));
|
CPUState *cs = env_cpu(env);
|
||||||
fprintf(stderr, "VM paused due to illegal instruction. "
|
fprintf(stderr, "VM paused due to illegal instruction. "
|
||||||
"Connect a debugger or switch to the monitor console "
|
"Connect a debugger or switch to the monitor console "
|
||||||
"to find out more.\n");
|
"to find out more.\n");
|
||||||
|
@ -1053,7 +1053,7 @@ static inline void decode(DisasContext *dc, uint32_t ir)
|
|||||||
void gen_intermediate_code(CPUState *cs, TranslationBlock *tb, int max_insns)
|
void gen_intermediate_code(CPUState *cs, TranslationBlock *tb, int max_insns)
|
||||||
{
|
{
|
||||||
CPULM32State *env = cs->env_ptr;
|
CPULM32State *env = cs->env_ptr;
|
||||||
LM32CPU *cpu = lm32_env_get_cpu(env);
|
LM32CPU *cpu = env_archcpu(env);
|
||||||
struct DisasContext ctx, *dc = &ctx;
|
struct DisasContext ctx, *dc = &ctx;
|
||||||
uint32_t pc_start;
|
uint32_t pc_start;
|
||||||
uint32_t page_start;
|
uint32_t page_start;
|
||||||
|
Loading…
Reference in New Issue
Block a user