diff options
author | Juan Quintela <quintela@redhat.com> | 2013-04-19 12:24:19 +0100 |
---|---|---|
committer | Peter Maydell <peter.maydell@linaro.org> | 2013-04-19 12:24:19 +0100 |
commit | 3cc1d20823e8677038c5bb5db10910f6271b1883 (patch) | |
tree | d87ff547e6affa2312844d3b53221f0336116a8e /target-arm/cpu-qom.h | |
parent | 3b3284486be6898937395fac3ddbd2e68c5cb52f (diff) |
target-arm: port ARM CPU save/load to use VMState
Port the ARM CPU save/load code to use VMState. Some state is
saved in a slightly different order to simplify things -- for
example arrays are saved one after the other rather than 'striped',
and we always save all 32 VFP registers even if the CPU happens
to only have 16.
Use one subsection for each feature. This means that we don't need to
bump the version field each time that a new feature gets introduced.
Signed-off-by: Juan Quintela <quintela@redhat.com>
[PMM: fixed conflicts, updated to use cpu_class_set_vmsd(), updated
with new/removed fields since original patch, changed to use custom
VMStateInfo for cpsr rather than presave/postload hooks, corrected
subsection names so vmload doesn't fail]
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'target-arm/cpu-qom.h')
-rw-r--r-- | target-arm/cpu-qom.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/target-arm/cpu-qom.h b/target-arm/cpu-qom.h index 25895509be..12fcefe0c6 100644 --- a/target-arm/cpu-qom.h +++ b/target-arm/cpu-qom.h @@ -111,6 +111,10 @@ static inline ARMCPU *arm_env_get_cpu(CPUARMState *env) #define ENV_OFFSET offsetof(ARMCPU, env) +#ifndef CONFIG_USER_ONLY +extern const struct VMStateDescription vmstate_arm_cpu; +#endif + void register_cp_regs_for_features(ARMCPU *cpu); void arm_cpu_do_interrupt(CPUState *cpu); |