aboutsummaryrefslogtreecommitdiff
path: root/target-cris/cpu-qom.h
diff options
context:
space:
mode:
authorJuan Quintela <quintela@redhat.com>2012-05-04 12:54:34 +0200
committerPeter Maydell <peter.maydell@linaro.org>2015-09-17 14:31:38 +0100
commit16a1b6e97c2a2919fd296db4bea2f9da2ad3cc4d (patch)
treec4504d0d79909ca5ecbf06002bfc8c710d7c9e8d /target-cris/cpu-qom.h
parentcc450bfdc030d1943d99b3cb526a3e2cb4f3cd72 (diff)
downloadqemu-16a1b6e97c2a2919fd296db4bea2f9da2ad3cc4d.zip
qemu-16a1b6e97c2a2919fd296db4bea2f9da2ad3cc4d.tar.gz
qemu-16a1b6e97c2a2919fd296db4bea2f9da2ad3cc4d.tar.bz2
target-cris: update CPU state save/load to use VMStateDescription
Update the CRIS CPU state save/load to use a VMStateDescription struct rather than cpu_save/cpu_load functions. Have to define TLBSet struct. Multidimensional arrays in C are a mess, just unroll them. Signed-off-by: Juan Quintela <quintela@redhat.com> [PMM: * expand commit message a little since it's no longer one patch in a 35-patch series * add header/copyright comment to machine.c; credited copyright is Red Hat and author is Juan, since this commit gives the file all-new contents; license is LGPL-2-or-later, to match other target-cris code * remove hardcoded tab * add fields for locked_irq, interrupt_vector, fault_vector, trap_vector * drop minimum_version_id_old fields * bump version_id to 2 as we are not compatible with old state format * remove unnecessary hw/boards.h include * update to register via dc->vmsd] Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Acked-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Diffstat (limited to 'target-cris/cpu-qom.h')
-rw-r--r--target-cris/cpu-qom.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/target-cris/cpu-qom.h b/target-cris/cpu-qom.h
index 6fc30c2..df4c0b5 100644
--- a/target-cris/cpu-qom.h
+++ b/target-cris/cpu-qom.h
@@ -73,6 +73,10 @@ static inline CRISCPU *cris_env_get_cpu(CPUCRISState *env)
#define ENV_OFFSET offsetof(CRISCPU, env)
+#ifndef CONFIG_USER_ONLY
+extern const struct VMStateDescription vmstate_cris_cpu;
+#endif
+
void cris_cpu_do_interrupt(CPUState *cpu);
void crisv10_cpu_do_interrupt(CPUState *cpu);
bool cris_cpu_exec_interrupt(CPUState *cpu, int int_req);