summaryrefslogtreecommitdiffstats
path: root/target-cris/cpu.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.h
parentcc450bfdc030d1943d99b3cb526a3e2cb4f3cd72 (diff)
downloadhqemu-16a1b6e97c2a2919fd296db4bea2f9da2ad3cc4d.zip
hqemu-16a1b6e97c2a2919fd296db4bea2f9da2ad3cc4d.tar.gz
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.h')
-rw-r--r--target-cris/cpu.h13
1 files changed, 6 insertions, 7 deletions
diff --git a/target-cris/cpu.h b/target-cris/cpu.h
index 82df90d..8ae7708 100644
--- a/target-cris/cpu.h
+++ b/target-cris/cpu.h
@@ -108,6 +108,11 @@
#define NB_MMU_MODES 2
+typedef struct {
+ uint32_t hi;
+ uint32_t lo;
+} TLBSet;
+
typedef struct CPUCRISState {
uint32_t regs[16];
/* P0 - P15 are referred to as special registers in the docs. */
@@ -161,11 +166,7 @@ typedef struct CPUCRISState {
*
* One for I and another for D.
*/
- struct
- {
- uint32_t hi;
- uint32_t lo;
- } tlbsets[2][4][16];
+ TLBSet tlbsets[2][4][16];
CPU_COMMON
@@ -227,8 +228,6 @@ enum {
#define cpu_gen_code cpu_cris_gen_code
#define cpu_signal_handler cpu_cris_signal_handler
-#define CPU_SAVE_VERSION 1
-
/* MMU modes definitions */
#define MMU_MODE0_SUFFIX _kernel
#define MMU_MODE1_SUFFIX _user
OpenPOWER on IntegriCloud