提交 fa156e51 编写于 作者: A Andreas Färber

mips_r4k: Store MIPSCPU in ResetData

Allows us to use cpu_reset() in place of cpu_state_reset() in
main_cpu_reset().
Signed-off-by: NAndreas Färber <afaerber@suse.de>
上级 9ac67e21
...@@ -65,7 +65,7 @@ static const MemoryRegionOps mips_qemu_ops = { ...@@ -65,7 +65,7 @@ static const MemoryRegionOps mips_qemu_ops = {
}; };
typedef struct ResetData { typedef struct ResetData {
CPUMIPSState *env; MIPSCPU *cpu;
uint64_t vector; uint64_t vector;
} ResetData; } ResetData;
...@@ -143,9 +143,9 @@ static int64_t load_kernel(void) ...@@ -143,9 +143,9 @@ static int64_t load_kernel(void)
static void main_cpu_reset(void *opaque) static void main_cpu_reset(void *opaque)
{ {
ResetData *s = (ResetData *)opaque; ResetData *s = (ResetData *)opaque;
CPUMIPSState *env = s->env; CPUMIPSState *env = &s->cpu->env;
cpu_state_reset(env); cpu_reset(CPU(s->cpu));
env->active_tc.PC = s->vector; env->active_tc.PC = s->vector;
} }
...@@ -188,7 +188,7 @@ void mips_r4k_init (ram_addr_t ram_size, ...@@ -188,7 +188,7 @@ void mips_r4k_init (ram_addr_t ram_size,
env = &cpu->env; env = &cpu->env;
reset_info = g_malloc0(sizeof(ResetData)); reset_info = g_malloc0(sizeof(ResetData));
reset_info->env = env; reset_info->cpu = cpu;
reset_info->vector = env->active_tc.PC; reset_info->vector = env->active_tc.PC;
qemu_register_reset(main_cpu_reset, reset_info); qemu_register_reset(main_cpu_reset, reset_info);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册