This patchset updates target-sparc to use VMStateDescription rather than hand-written save/load functions. (SPARC is the very last target still using the old approach. Once this patchset gets in via the sparc tree I'll send out the patches to clean up the core QOM CPU code to remove the unused support for hand-written save/load.)
It's based on some patches from back in 2012 by Juan which I've updated, rebased and made some tweaks to. The major change here from v1 (sent back in August last year) is that we retain migration format compatibility for SPARC32. SPARC64 compat is broken, but SPARC64 migration doesn't work at the moment for any of our machines so that's OK. Also new since v1 is the final patch, which fixes a bug spotted by Paolo where we weren't migrating env->cwp or env->psrpil for SPARC64. This bug fix means that sparc64 migration of a system that's sat at the boot prompt now works at least to the extent that the system will respond to key presses after the restore. NB that the 'split cpu_put_psr' patch seems to me to be a bugfix in and of itself, since currently we might try to call cpu_check_irqs() and deliver interrupts while we're halfway through updating a PSR value... Juan Quintela (4): vmstate: introduce CPU_DoubleU arrays vmstate: Introduce VMSTATE_VARRAY_MULTPLY vmstate: define vmstate_info_uinttl target-sparc: Convert to VMStateDescription Peter Maydell (4): target-sparc: Split cpu_put_psr into side-effect and no-side-effect parts target-sparc: Don't flush TLB in cpu_load function target-sparc: Use VMState arrays for SPARC64 TLB/MMU state target-sparc: Migrate CWP and PIL for SPARC64 hw/sparc64/sun4u.c | 24 --- include/hw/hw.h | 2 + include/migration/vmstate.h | 18 +++ migration/vmstate.c | 27 ++++ target-sparc/cpu-qom.h | 4 + target-sparc/cpu.c | 1 + target-sparc/cpu.h | 7 +- target-sparc/machine.c | 370 ++++++++++++++++++++------------------------ target-sparc/win_helper.c | 19 ++- 9 files changed, 236 insertions(+), 236 deletions(-) -- 1.9.1