mirror of https://github.com/proxmox/mirror_qemu
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: Andreas Färber <afaerber@suse.de>master
parent
9ac67e2168
commit
fa156e5127
|
@ -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)
|
||||||
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,
|
||||||
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);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue