Hello, As previously reported, alpha and openrisc had prepared VMStateDescriptions but failed to register them due to lack of CPU_SAVE_VERSION.
Now that CPUState is a DeviceState, it was suggested to register the VMState of new CPUs the same way devices do. They thereby deviate from legacy CPUs, which register a separate VMStateDescription for the common state. The series still concludes with a patch to prevent further silent migration registration bugs. Regards, Andreas v2 -> v3: * Prepended patch introducing VMSTATE_CPU() macro for vmstate_cpu_common. * Prepended patch adding device_class_set_vmsd(). * Added typo fix patch for cpu_class_set_vmsd(). * Register AlphaCPU and OpenRISCCPU vmsd via DeviceClass instead of CPUClass. Cc: Juan Quintela <quint...@redhat.com> Cc: Michael Roth <mdr...@linux.vnet.ibm.com> Cc: Anthony Liguori <anth...@codemonkey.ws> Cc: Blue Swirl <blauwir...@gmail.com> Cc: Aurélien Jarno <aurel...@aurel32.net> Cc: Richard Henderson <r...@twiddle.net> Cc: Jia Liu <pro...@gmail.com> Andreas Färber (6): cpu: Fix cpu_class_set_vmsd() documentation cpu: Introduce device_class_set_vmsd() helper cpu: Introduce VMSTATE_CPU() macro for CPUState target-alpha: Register VMStateDescription for AlphaCPU target-openrisc: Register VMStateDescription for OpenRISCCPU cpu: Guard cpu_{save,load}() definitions exec.c | 5 ++--- include/qemu-common.h | 2 ++ include/qom/cpu.h | 37 ++++++++++++++++++++++++++++++++++++- target-alpha/cpu-qom.h | 4 ++++ target-alpha/cpu.c | 2 ++ target-alpha/machine.c | 28 ++++++++++++++++------------ target-openrisc/cpu.c | 1 + target-openrisc/cpu.h | 2 ++ target-openrisc/machine.c | 27 ++++++++++++++++----------- 9 files changed, 81 insertions(+), 27 deletions(-) -- 1.8.1.4