Skip to content

Commit

Permalink
target/mips: Inline cpu_state_reset() in mips_cpu_reset()
Browse files Browse the repository at this point in the history
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20201214183739.500368-2-f4bug@amsat.org>
  • Loading branch information
philmd committed Jan 14, 2021
1 parent 2e211e0 commit 9bcd41d
Showing 1 changed file with 9 additions and 17 deletions.
26 changes: 9 additions & 17 deletions target/mips/cpu.c
Expand Up @@ -105,10 +105,16 @@ static bool mips_cpu_has_work(CPUState *cs)

#include "translate_init.c.inc"

/* TODO QOM'ify CPU reset and remove */
static void cpu_state_reset(CPUMIPSState *env)
static void mips_cpu_reset(DeviceState *dev)
{
CPUState *cs = env_cpu(env);
CPUState *cs = CPU(dev);
MIPSCPU *cpu = MIPS_CPU(cs);
MIPSCPUClass *mcc = MIPS_CPU_GET_CLASS(cpu);
CPUMIPSState *env = &cpu->env;

mcc->parent_reset(dev);

memset(env, 0, offsetof(CPUMIPSState, end_reset_fields));

/* Reset registers to their default values */
env->CP0_PRid = env->cpu_model->CP0_PRid;
Expand Down Expand Up @@ -331,20 +337,6 @@ static void cpu_state_reset(CPUMIPSState *env)
/* UHI interface can be used to obtain argc and argv */
env->active_tc.gpr[4] = -1;
}
}

static void mips_cpu_reset(DeviceState *dev)
{
CPUState *s = CPU(dev);
MIPSCPU *cpu = MIPS_CPU(s);
MIPSCPUClass *mcc = MIPS_CPU_GET_CLASS(cpu);
CPUMIPSState *env = &cpu->env;

mcc->parent_reset(dev);

memset(env, 0, offsetof(CPUMIPSState, end_reset_fields));

cpu_state_reset(env);

#ifndef CONFIG_USER_ONLY
if (kvm_enabled()) {
Expand Down

0 comments on commit 9bcd41d

Please sign in to comment.