[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 8/8] target-sparc: Migrate CWP and PIL for SPARC6
From: |
Peter Maydell |
Subject: |
[Qemu-devel] [PATCH v2 8/8] target-sparc: Migrate CWP and PIL for SPARC64 |
Date: |
Mon, 11 Jan 2016 12:40:28 +0000 |
In SPARC32 the env->cwp and env->psrpil state is part of the PSR
register, and gets migrated as part of that register.
In SPARC64 this state is in separate CWP and PIL registers, but we
were not doing anything to migrate those.
Add the missing fields to the migration vmstate (which is a
migration break, but without these fields migration is completely
broken anyway).
This change means that trying a save/load of a SPARC64 target at
the boot rom prompt now produces a system which at least responds
to keyboard input after the restore.
Reported-by: Paolo Bonzini <address@hidden>
Signed-off-by: Peter Maydell <address@hidden>
---
target-sparc/machine.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/target-sparc/machine.c b/target-sparc/machine.c
index f8eebdd..aecbe2c 100644
--- a/target-sparc/machine.c
+++ b/target-sparc/machine.c
@@ -100,7 +100,7 @@ static void cpu_pre_save(void *opaque)
#ifndef TARGET_SPARC64
#define SPARC_VMSTATE_VER 7
#else
-#define SPARC_VMSTATE_VER 8
+#define SPARC_VMSTATE_VER 9
#endif
const VMStateDescription vmstate_sparc_cpu = {
@@ -181,6 +181,9 @@ const VMStateDescription vmstate_sparc_cpu = {
VMSTATE_UINT64(env.hstick_cmpr, SPARCCPU),
VMSTATE_UINT64(env.ssr, SPARCCPU),
VMSTATE_CPU_TIMER(env.hstick, SPARCCPU),
+ /* On SPARC32 env.psrpil and env.cwp are migrated as part of the PSR */
+ VMSTATE_UINT32(env.psrpil, SPARCCPU),
+ VMSTATE_UINT32(env.cwp, SPARCCPU),
#endif
VMSTATE_END_OF_LIST()
},
--
1.9.1
- [Qemu-devel] [PATCH v2 0/8] target-sparc: Update to use VMStateDescription, Peter Maydell, 2016/01/11
- [Qemu-devel] [PATCH v2 7/8] target-sparc: Use VMState arrays for SPARC64 TLB/MMU state, Peter Maydell, 2016/01/11
- [Qemu-devel] [PATCH v2 6/8] target-sparc: Convert to VMStateDescription, Peter Maydell, 2016/01/11
- [Qemu-devel] [PATCH v2 3/8] vmstate: define vmstate_info_uinttl, Peter Maydell, 2016/01/11
- [Qemu-devel] [PATCH v2 5/8] target-sparc: Don't flush TLB in cpu_load function, Peter Maydell, 2016/01/11
- [Qemu-devel] [PATCH v2 1/8] vmstate: introduce CPU_DoubleU arrays, Peter Maydell, 2016/01/11
- [Qemu-devel] [PATCH v2 4/8] target-sparc: Split cpu_put_psr into side-effect and no-side-effect parts, Peter Maydell, 2016/01/11
- [Qemu-devel] [PATCH v2 2/8] vmstate: Introduce VMSTATE_VARRAY_MULTPLY, Peter Maydell, 2016/01/11
- [Qemu-devel] [PATCH v2 8/8] target-sparc: Migrate CWP and PIL for SPARC64,
Peter Maydell <=
- Re: [Qemu-devel] [PATCH v2 0/8] target-sparc: Update to use VMStateDescription, Mark Cave-Ayland, 2016/01/15