aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Maydell <peter.maydell@linaro.org>2013-04-19 12:24:19 +0100
committerPeter Maydell <peter.maydell@linaro.org>2013-04-19 12:24:19 +0100
commit602131e944f513f85ffa5593b020d263599cb2cd (patch)
tree5bb04c532d3413066df98e2ffc63ca81f13bea63
parent3cc1d20823e8677038c5bb5db10910f6271b1883 (diff)
target-arm: Add some missing CPU state fields to VMState
A number of CPU state fields were accidentally omitted from our migration state: some OMAP specific cp15 registers, and some related to state for load/store exclusive insns. Add them. Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
-rw-r--r--target-arm/machine.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/target-arm/machine.c b/target-arm/machine.c
index 3c41f06a75..2dd48d7922 100644
--- a/target-arm/machine.c
+++ b/target-arm/machine.c
@@ -116,9 +116,9 @@ static const VMStateInfo vmstate_cpsr = {
const VMStateDescription vmstate_arm_cpu = {
.name = "cpu",
- .version_id = 10,
- .minimum_version_id = 10,
- .minimum_version_id_old = 10,
+ .version_id = 11,
+ .minimum_version_id = 11,
+ .minimum_version_id_old = 11,
.fields = (VMStateField[]) {
VMSTATE_UINT32_ARRAY(env.regs, ARMCPU, 16),
{
@@ -172,9 +172,16 @@ const VMStateDescription vmstate_arm_cpu = {
VMSTATE_UINT32(env.cp15.c13_tls2, ARMCPU),
VMSTATE_UINT32(env.cp15.c13_tls3, ARMCPU),
VMSTATE_UINT32(env.cp15.c15_cpar, ARMCPU),
+ VMSTATE_UINT32(env.cp15.c15_ticonfig, ARMCPU),
+ VMSTATE_UINT32(env.cp15.c15_i_max, ARMCPU),
+ VMSTATE_UINT32(env.cp15.c15_i_min, ARMCPU),
+ VMSTATE_UINT32(env.cp15.c15_threadid, ARMCPU),
VMSTATE_UINT32(env.cp15.c15_power_control, ARMCPU),
VMSTATE_UINT32(env.cp15.c15_diagnostic, ARMCPU),
VMSTATE_UINT32(env.cp15.c15_power_diagnostic, ARMCPU),
+ VMSTATE_UINT32(env.exclusive_addr, ARMCPU),
+ VMSTATE_UINT32(env.exclusive_val, ARMCPU),
+ VMSTATE_UINT32(env.exclusive_high, ARMCPU),
VMSTATE_UINT64(env.features, ARMCPU),
VMSTATE_END_OF_LIST()
},