diff options
author | Andreas Färber <afaerber@suse.de> | 2012-05-03 03:33:52 +0200 |
---|---|---|
committer | Andreas Färber <afaerber@suse.de> | 2012-06-04 23:00:45 +0200 |
commit | f9d1465f5bd11e27099459ab557f646802b11bd1 (patch) | |
tree | 0ae791a7c8cbac40602882914639171415396e88 | |
parent | 8ebdf9dcc6036171a9f8bac3fe8dc459725a3e83 (diff) |
sun4u: Let cpu_devinit() return SPARCCPU
Needed for main_cpu_reset().
Signed-off-by: Andreas Färber <afaerber@suse.de>
Acked-by: Blue Swirl <blauwirbel@gmail.com>
-rw-r--r-- | hw/sun4u.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/hw/sun4u.c b/hw/sun4u.c index 92b616fe36..e63ba392a9 100644 --- a/hw/sun4u.c +++ b/hw/sun4u.c @@ -752,7 +752,7 @@ static TypeInfo ram_info = { .class_init = ram_class_init, }; -static CPUSPARCState *cpu_devinit(const char *cpu_model, const struct hwdef *hwdef) +static SPARCCPU *cpu_devinit(const char *cpu_model, const struct hwdef *hwdef) { SPARCCPU *cpu; CPUSPARCState *env; @@ -786,7 +786,7 @@ static CPUSPARCState *cpu_devinit(const char *cpu_model, const struct hwdef *hwd reset_info->prom_addr = hwdef->prom_addr; qemu_register_reset(main_cpu_reset, reset_info); - return env; + return cpu; } static void sun4uv_init(MemoryRegion *address_space_mem, @@ -796,6 +796,7 @@ static void sun4uv_init(MemoryRegion *address_space_mem, const char *initrd_filename, const char *cpu_model, const struct hwdef *hwdef) { + SPARCCPU *cpu; CPUSPARCState *env; M48t59State *nvram; unsigned int i; @@ -808,7 +809,8 @@ static void sun4uv_init(MemoryRegion *address_space_mem, void *fw_cfg; /* init CPUs */ - env = cpu_devinit(cpu_model, hwdef); + cpu = cpu_devinit(cpu_model, hwdef); + env = &cpu->env; /* set up devices */ ram_init(0, RAM_size); |