aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Maydell <peter.maydell@linaro.org>2014-03-19 22:36:44 +0000
committerPeter Maydell <peter.maydell@linaro.org>2014-03-19 22:36:44 +0000
commitd1a1451cd3a60df7dbfd4fb7f616443d22be1beb (patch)
treeaee9b95d47e1e2b88f4b381257290fe80fe09ed5
parent037b7addb7f9ad5dc52c3d05da8b2f60386252ff (diff)
parent7e4fb26d757b460de5b80b4220bcd926f7175cb2 (diff)
downloadqemu-d1a1451cd3a60df7dbfd4fb7f616443d22be1beb.zip
qemu-d1a1451cd3a60df7dbfd4fb7f616443d22be1beb.tar.gz
qemu-d1a1451cd3a60df7dbfd4fb7f616443d22be1beb.tar.bz2
Merge remote-tracking branch 'remotes/afaerber/tags/qom-cpu-for-2.0' into staging
QOM CPUState refactorings / X86CPU * CPUState layout optimization for TCG # gpg: Signature made Wed 19 Mar 2014 21:51:46 GMT using RSA key ID 3E7E013F # gpg: Good signature from "Andreas Färber <afaerber@suse.de>" # gpg: aka "Andreas Färber <afaerber@suse.com>" * remotes/afaerber/tags/qom-cpu-for-2.0: cpu: Move tcg_exit_req to the end of CPUState Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
-rw-r--r--include/qom/cpu.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/include/qom/cpu.h b/include/qom/cpu.h
index 06ee263..f99885a 100644
--- a/include/qom/cpu.h
+++ b/include/qom/cpu.h
@@ -227,7 +227,6 @@ struct CPUState {
bool stop;
bool stopped;
volatile sig_atomic_t exit_request;
- volatile sig_atomic_t tcg_exit_req;
uint32_t interrupt_request;
int singlestep_enabled;
int64_t icount_extra;
@@ -272,6 +271,12 @@ struct CPUState {
} icount_decr;
uint32_t can_do_io;
int32_t exception_index; /* used by m68k TCG */
+
+ /* Note that this is accessed at the start of every TB via a negative
+ offset from AREG0. Leave this field at the end so as to make the
+ (absolute value) offset as small as possible. This reduces code
+ size, especially for hosts without large memory offsets. */
+ volatile sig_atomic_t tcg_exit_req;
};
QTAILQ_HEAD(CPUTailQ, CPUState);