summary refs log tree commit diff stats
path: root/hw/sun4u.c
diff options
context:
space:
mode:
authorAndreas Färber <afaerber@suse.de>2012-05-03 03:33:52 +0200
committerAndreas Färber <afaerber@suse.de>2012-06-04 23:00:45 +0200
commitf9d1465f5bd11e27099459ab557f646802b11bd1 (patch)
tree0ae791a7c8cbac40602882914639171415396e88 /hw/sun4u.c
parent8ebdf9dcc6036171a9f8bac3fe8dc459725a3e83 (diff)
downloadfocaccia-qemu-f9d1465f5bd11e27099459ab557f646802b11bd1.tar.gz
focaccia-qemu-f9d1465f5bd11e27099459ab557f646802b11bd1.zip
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>
Diffstat (limited to 'hw/sun4u.c')
-rw-r--r--hw/sun4u.c8
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);