r2d: Store SuperHCPU 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>
This commit is contained in:
parent
fd2f410b37
commit
868bac81d7
8
hw/r2d.c
8
hw/r2d.c
@ -192,16 +192,16 @@ static qemu_irq *r2d_fpga_init(MemoryRegion *sysmem,
|
|||||||
}
|
}
|
||||||
|
|
||||||
typedef struct ResetData {
|
typedef struct ResetData {
|
||||||
CPUSH4State *env;
|
SuperHCPU *cpu;
|
||||||
uint32_t vector;
|
uint32_t vector;
|
||||||
} ResetData;
|
} ResetData;
|
||||||
|
|
||||||
static void main_cpu_reset(void *opaque)
|
static void main_cpu_reset(void *opaque)
|
||||||
{
|
{
|
||||||
ResetData *s = (ResetData *)opaque;
|
ResetData *s = (ResetData *)opaque;
|
||||||
CPUSH4State *env = s->env;
|
CPUSH4State *env = &s->cpu->env;
|
||||||
|
|
||||||
cpu_state_reset(env);
|
cpu_reset(CPU(s->cpu));
|
||||||
env->pc = s->vector;
|
env->pc = s->vector;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -248,7 +248,7 @@ static void r2d_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->pc;
|
reset_info->vector = env->pc;
|
||||||
qemu_register_reset(main_cpu_reset, reset_info);
|
qemu_register_reset(main_cpu_reset, reset_info);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user