summaryrefslogtreecommitdiffstats
path: root/include/qom
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 /include/qom
parent907a5e32f293a0af8875973d4cce12b96bea5bae (diff)
downloadhqemu-c05efcb18ee30cdf2b00b3512aa0f5233b52911f.zip
hqemu-c05efcb18ee30cdf2b00b3512aa0f5233b52911f.tar.gz
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 'include/qom')
-rw-r--r--include/qom/cpu.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/qom/cpu.h b/include/qom/cpu.h
index c25a997..ee1a7c8 100644
--- a/include/qom/cpu.h
+++ b/include/qom/cpu.h
@@ -71,6 +71,7 @@ struct kvm_run;
* @created: Indicates whether the CPU thread has been successfully created.
* @stop: Indicates a pending stop request.
* @stopped: Indicates the CPU has been artificially stopped.
+ * @env_ptr: Pointer to subclass-specific CPUArchState field.
* @current_tb: Currently executing TB.
* @kvm_fd: vCPU file descriptor for KVM.
*
@@ -100,6 +101,7 @@ struct CPUState {
bool stopped;
volatile sig_atomic_t exit_request;
+ void *env_ptr; /* CPUArchState */
struct TranslationBlock *current_tb;
int kvm_fd;
OpenPOWER on IntegriCloud