diff options
author | Andreas Färber <afaerber@suse.de> | 2013-01-17 12:13:41 +0100 |
---|---|---|
committer | Andreas Färber <afaerber@suse.de> | 2013-02-16 14:51:00 +0100 |
commit | c05efcb18ee30cdf2b00b3512aa0f5233b52911f (patch) | |
tree | 4d51c9851f304e7867b10877340914bf23c0fb59 /target-s390x/cpu.c | |
parent | 907a5e32f293a0af8875973d4cce12b96bea5bae (diff) | |
download | qemu-c05efcb18ee30cdf2b00b3512aa0f5233b52911f.zip qemu-c05efcb18ee30cdf2b00b3512aa0f5233b52911f.tar.gz qemu-c05efcb18ee30cdf2b00b3512aa0f5233b52911f.tar.bz2 |
cpu: Add CPUArchState pointer to CPUState
The target-specific ENV_GET_CPU() macros have allowed us to navigate
from CPUArchState to CPUState. The reverse direction was not supported.
Avoid introducing CPU_GET_ENV() macros by initializing an untyped
pointer that is initialized in derived instance_init functions.
The field may not be called "env" due to it being poisoned.
Acked-by: Richard Henderson <rth@twiddle.net>
Signed-off-by: Andreas Färber <afaerber@suse.de>
Diffstat (limited to 'target-s390x/cpu.c')
-rw-r--r-- | target-s390x/cpu.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/target-s390x/cpu.c b/target-s390x/cpu.c index 787c937..b746547 100644 --- a/target-s390x/cpu.c +++ b/target-s390x/cpu.c @@ -110,6 +110,7 @@ static void s390_cpu_realizefn(DeviceState *dev, Error **errp) static void s390_cpu_initfn(Object *obj) { + CPUState *cs = CPU(obj); S390CPU *cpu = S390_CPU(obj); CPUS390XState *env = &cpu->env; static bool inited; @@ -118,6 +119,7 @@ static void s390_cpu_initfn(Object *obj) struct tm tm; #endif + cs->env_ptr = env; cpu_exec_init(env); #if !defined(CONFIG_USER_ONLY) qemu_register_reset(s390_cpu_machine_reset_cb, cpu); |