summaryrefslogtreecommitdiff
path: root/target-cris
diff options
context:
space:
mode:
authorAndreas Färber <afaerber@suse.de>2013-01-17 12:13:41 +0100
committerAndreas Färber <afaerber@suse.de>2013-02-16 14:51:00 +0100
commitc05efcb18ee30cdf2b00b3512aa0f5233b52911f (patch)
tree4d51c9851f304e7867b10877340914bf23c0fb59 /target-cris
parent907a5e32f293a0af8875973d4cce12b96bea5bae (diff)
downloadqemu-c05efcb18ee30cdf2b00b3512aa0f5233b52911f.tar.gz
qemu-c05efcb18ee30cdf2b00b3512aa0f5233b52911f.tar.bz2
qemu-c05efcb18ee30cdf2b00b3512aa0f5233b52911f.zip
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-cris')
-rw-r--r--target-cris/cpu.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/target-cris/cpu.c b/target-cris/cpu.c
index 80089884e9..7974be33f2 100644
--- a/target-cris/cpu.c
+++ b/target-cris/cpu.c
@@ -146,11 +146,13 @@ static void cris_cpu_realizefn(DeviceState *dev, Error **errp)
static void cris_cpu_initfn(Object *obj)
{
+ CPUState *cs = CPU(obj);
CRISCPU *cpu = CRIS_CPU(obj);
CRISCPUClass *ccc = CRIS_CPU_GET_CLASS(obj);
CPUCRISState *env = &cpu->env;
static bool tcg_initialized;
+ cs->env_ptr = env;
cpu_exec_init(env);
env->pregs[PR_VR] = ccc->vr;