summaryrefslogtreecommitdiff
path: root/target-s390x
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 /target-s390x
parent8f22e0df803697c11e8b10c90cc2e67df6e42884 (diff)
downloadqemu-b8ba6799f41cccd1e81ec2986f2f80fc916ef86f.tar.gz
qemu-b8ba6799f41cccd1e81ec2986f2f80fc916ef86f.tar.bz2
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>
Diffstat (limited to 'target-s390x')
-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);