Hello, Prompted by earlier patches from Juan, this series cleans up some targets that don't implement migration - be it by no-op implementations, by erroring out in the implementation or by lack of implementation.
Making targets migratable is preferable over marking devices as migratable is preferable over terminating QEMU while attempting to migrate. This series, based on qom-cpu queue, takes advantage of us having converted the CPUState into a device for the upcoming release by associating VMStateDescriptions marked as unmigratable with the target's base CPU class. By dropping the machine.c files, now no longer mandated by the build system, we also elegantly solve the issue of lacking license headers. :) Known conflicts: * CPU realizefn series on qom-cpu-next (cpu.c:class_init) A follow-up series based on qom-cpu-next is in preparation, to tackle the bug that alpha implements cpu_{save,load}() but does not have them registered, rendering the implementation virtually useless IIUC. I am still a bit unclear about the compatibility considerations: There are subtle differences in calculating the instance_id between CPUArchState and DeviceClass. Since no one complained about alpha so far I would like to defer this to 1.5 to evaluate whether to handle VMState differently for new CPUs wrt "cpu_common", "cpu" and DeviceClass vs. CPUClass (preview on qom-cpu-vmstate). Regards, Andreas Cc: Juan Quintela <quint...@redhat.com> (vmstate) Cc: Edgar E. Iglesias <edgar.igles...@gmail.com> (microblaze) Cc: Peter Crosthwaite <peter.crosthwa...@xilinx.com> (microblaze) Cc: Alexander Graf <ag...@suse.de> (s390x) Cc: Richard Henderson <r...@twiddle.net> (s390x) Cc: Aurélien Jarno <aurel...@aurel32.net> (sh4) Cc: Guan Xuetao <g...@mprc.pku.edu.cn> (uc32) Cc: Max Filippov <jcmvb...@gmail.com> (xtensa) Cc: Anthony Liguori <anth...@codemonkey.ws> Andreas Färber (6): target-unicore32: Mark as unmigratable target-microblaze: Mark as unmigratable target-xtensa: Mark as unmigratable target-sh4: Mark as unmigratable target-s390x: Mark as unmigratable target-m68k: Mark as unmigratable target-m68k/Makefile.objs | 1 - target-m68k/cpu.c | 8 ++++++++ target-microblaze/Makefile.objs | 2 +- target-microblaze/cpu.c | 9 +++++++++ target-microblaze/cpu.h | 2 -- target-microblaze/machine.c | 11 ----------- target-s390x/Makefile.objs | 1 - target-s390x/cpu.c | 10 +++++++++- target-s390x/machine.c | 30 ------------------------------ target-sh4/Makefile.objs | 1 - target-sh4/cpu.c | 9 +++++++++ target-unicore32/Makefile.objs | 2 +- target-unicore32/cpu.c | 8 ++++++++ target-unicore32/cpu.h | 2 -- target-unicore32/machine.c | 23 ----------------------- target-xtensa/Makefile.objs | 1 - target-xtensa/cpu.c | 9 +++++++++ target-xtensa/machine.c | 38 -------------------------------------- 18 Dateien geändert, 54 Zeilen hinzugefügt(+), 113 Zeilen entfernt(-) delete mode 100644 target-m68k/machine.c delete mode 100644 target-microblaze/machine.c delete mode 100644 target-s390x/machine.c delete mode 100644 target-sh4/machine.c delete mode 100644 target-unicore32/machine.c delete mode 100644 target-xtensa/machine.c -- 1.7.10.4