summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorAndreas Färber <afaerber@suse.de>2012-04-02 14:00:43 +0200
committerAndreas Färber <afaerber@suse.de>2012-04-04 19:06:17 +0200
commitb8ba6799f41cccd1e81ec2986f2f80fc916ef86f (patch)
tree92c64a846a75576032f57939bf43b925c77e56d5
parent8f22e0df803697c11e8b10c90cc2e67df6e42884 (diff)
downloadfocaccia-qemu-b8ba6799f41cccd1e81ec2986f2f80fc916ef86f.tar.gz
focaccia-qemu-b8ba6799f41cccd1e81ec2986f2f80fc916ef86f.zip
target-s390x: Update s390x_{tod,cpu}_timer() to use S390CPU
In place of CPUS390XState pass S390CPU as opaque from the new initfn.
cpu_interrupt() is anticipated to take a CPUState in the future.

Signed-off-by: Andreas Färber <afaerber@suse.de>
Tested-by: Christian Borntraeger <borntraeger@de.ibm.com>
-rw-r--r--target-s390x/cpu.c4
-rw-r--r--target-s390x/helper.c6
2 files changed, 6 insertions, 4 deletions
diff --git a/target-s390x/cpu.c b/target-s390x/cpu.c
index 72ec34950b..f183213eab 100644
--- a/target-s390x/cpu.c
+++ b/target-s390x/cpu.c
@@ -60,8 +60,8 @@ static void s390_cpu_initfn(Object *obj)
     env->tod_offset = TOD_UNIX_EPOCH +
                       (time2tod(mktimegm(&tm)) * 1000000000ULL);
     env->tod_basetime = 0;
-    env->tod_timer = qemu_new_timer_ns(vm_clock, s390x_tod_timer, env);
-    env->cpu_timer = qemu_new_timer_ns(vm_clock, s390x_cpu_timer, env);
+    env->tod_timer = qemu_new_timer_ns(vm_clock, s390x_tod_timer, cpu);
+    env->cpu_timer = qemu_new_timer_ns(vm_clock, s390x_cpu_timer, cpu);
 #endif
     env->cpu_num = cpu_num++;
     env->ext_index = -1;
diff --git a/target-s390x/helper.c b/target-s390x/helper.c
index 6233f9ac3e..209a69603c 100644
--- a/target-s390x/helper.c
+++ b/target-s390x/helper.c
@@ -53,7 +53,8 @@
 #ifndef CONFIG_USER_ONLY
 void s390x_tod_timer(void *opaque)
 {
-    CPUS390XState *env = opaque;
+    S390CPU *cpu = opaque;
+    CPUS390XState *env = &cpu->env;
 
     env->pending_int |= INTERRUPT_TOD;
     cpu_interrupt(env, CPU_INTERRUPT_HARD);
@@ -61,7 +62,8 @@ void s390x_tod_timer(void *opaque)
 
 void s390x_cpu_timer(void *opaque)
 {
-    CPUS390XState *env = opaque;
+    S390CPU *cpu = opaque;
+    CPUS390XState *env = &cpu->env;
 
     env->pending_int |= INTERRUPT_CPUTIMER;
     cpu_interrupt(env, CPU_INTERRUPT_HARD);