Hello, This is my current QOM CPU patch queue. Please pull.
It includes: * qemu_get_cpu() bugfix and more uses, * sh4 CPU subclasses, * declarative VMStateDescription for CPUState, * x86 CPU VMState conversion to CPUState, * CPUState field movements and do_interrupt callback. I am mostly unavailable this week and am sending this out to avoid further conflicts and rebases. Regards, Andreas Cc: Anthony Liguori <anth...@codemonkey.ws> Cc: Blue Swirl <blauwir...@gmail.com> Cc: Eduardo Habkost <ehabk...@redhat.com> Cc: Igor Mammedov <imamm...@redhat.com> Cc: Peter Maydell <peter.mayd...@linaro.org> Cc: Michael Walle <mich...@walle.cc> Cc: Alexander Graf <ag...@suse.de> Cc: qemu-...@nongnu.org The following changes since commit fe3cc14fd83e0c8f376d849ccd0fc3433388442d: Merge remote-tracking branch 'quintela/migration.next' into staging (2013-03-11 08:30:34 -0500) are available in the git repository at: git://github.com/afaerber/qemu-cpu.git qom-cpu for you to fetch changes up to 0ad6773f1151c9e172b0b714aada78655dda4cf4: target-lm32: Update VMStateDescription to LM32CPU (2013-03-12 10:35:55 +0100) ---------------------------------------------------------------- Andreas Färber (16): monitor: Use qemu_get_cpu() in monitor_set_cpu() cpus: Replace open-coded CPU loop in qmp_memsave() with qemu_get_cpu() target-sh4: Introduce SuperHCPU subclasses target-sh4: Move PVR/PRR/CVR into SuperHCPUClass vmstate: Make vmstate_register() static inline stubs: Add a vmstate_dummy struct for CONFIG_USER_ONLY cpu: Register VMStateDescription through CPUState cpu: Introduce cpu_class_set_vmsd() target-i386: Update VMStateDescription to X86CPU target-cris/helper.c: Update Coding Style cpu: Move halted and interrupt_request fields to CPUState exec: Pass CPUState to cpu_reset_interrupt() cpu: Pass CPUState to cpu_interrupt() cpu: Replace do_interrupt() by CPUClass::do_interrupt method target-arm: Override do_interrupt for ARMv7-M profile target-lm32: Update VMStateDescription to LM32CPU Igor Mammedov (1): cpu: Fix qemu_get_cpu() to return NULL if CPU not found cpu-exec.c | 70 ++++--- cpus.c | 17 +- exec.c | 30 +-- gdbstub.c | 2 +- hw/alpha_typhoon.c | 18 +- hw/apic.c | 25 +-- hw/arm/omap1.c | 11 +- hw/arm/pic_cpu.c | 20 +- hw/arm/pxa2xx.c | 7 +- hw/arm/pxa2xx_gpio.c | 5 +- hw/arm/pxa2xx_pic.c | 13 +- hw/cris/pic_cpu.c | 14 +- hw/i386/pc.c | 14 +- hw/i386/pc_piix.c | 3 +- hw/i386/xen_machine_pv.c | 6 +- hw/lm32/lm32_boards.c | 9 +- hw/lm32/milkymist.c | 9 +- hw/lpc_ich9.c | 2 +- hw/microblaze/pic_cpu.c | 15 +- hw/mips/mips_int.c | 10 +- hw/openrisc/cputimer.c | 4 +- hw/openrisc/pic_cpu.c | 5 +- hw/ppc/e500.c | 10 +- hw/ppc/ppc.c | 34 +-- hw/ppc/ppc405_uc.c | 4 +- hw/ppc/ppce500_spin.c | 2 +- hw/ppc/spapr.c | 10 +- hw/ppc/spapr_hcall.c | 2 +- hw/ppc/spapr_rtas.c | 6 +- hw/s390x/s390-virtio.c | 14 +- hw/sh4/sh7750.c | 10 +- hw/sh_intc.c | 14 +- hw/sparc/leon3.c | 12 +- hw/sparc/sun4m.c | 35 ++-- hw/sparc64/sun4u.c | 26 ++- hw/unicore32/puv3.c | 10 +- hw/xtensa/pic_cpu.c | 12 +- include/exec/cpu-all.h | 15 -- include/exec/cpu-defs.h | 2 - include/migration/vmstate.h | 16 +- include/qom/cpu.h | 63 ++++++ kvm-all.c | 6 +- monitor.c | 13 +- qom/cpu.c | 7 + savevm.c | 7 - stubs/vmstate.c | 2 + target-alpha/cpu-qom.h | 2 + target-alpha/cpu.c | 1 + target-alpha/cpu.h | 5 +- target-alpha/helper.c | 4 +- target-alpha/translate.c | 3 +- target-arm/cpu-qom.h | 3 + target-arm/cpu.c | 15 +- target-arm/cpu.h | 5 +- target-arm/helper.c | 23 ++- target-arm/op_helper.c | 4 +- target-cris/cpu-qom.h | 2 + target-cris/cpu.c | 1 + target-cris/cpu.h | 5 +- target-cris/helper.c | 402 ++++++++++++++++++------------------ target-cris/translate.c | 3 +- target-i386/cpu-qom.h | 10 + target-i386/cpu.c | 5 +- target-i386/cpu.h | 25 ++- target-i386/helper.c | 18 +- target-i386/kvm.c | 50 ++--- target-i386/machine.c | 215 ++++++++++--------- target-i386/misc_helper.c | 21 +- target-i386/seg_helper.c | 5 +- target-i386/svm_helper.c | 9 +- target-lm32/cpu-qom.h | 6 + target-lm32/cpu.c | 3 + target-lm32/cpu.h | 7 +- target-lm32/helper.c | 5 +- target-lm32/machine.c | 25 +-- target-lm32/op_helper.c | 4 +- target-m68k/cpu-qom.h | 2 + target-m68k/cpu.c | 1 + target-m68k/cpu.h | 5 +- target-m68k/helper.c | 10 +- target-m68k/op_helper.c | 14 +- target-m68k/qregs.def | 1 - target-m68k/translate.c | 8 +- target-microblaze/cpu-qom.h | 2 + target-microblaze/cpu.c | 1 + target-microblaze/cpu.h | 5 +- target-microblaze/helper.c | 9 +- target-mips/cpu-qom.h | 2 + target-mips/cpu.c | 2 + target-mips/cpu.h | 5 +- target-mips/helper.c | 5 +- target-mips/op_helper.c | 23 ++- target-mips/translate.c | 4 +- target-openrisc/cpu.c | 1 + target-openrisc/cpu.h | 6 +- target-openrisc/interrupt.c | 4 +- target-openrisc/interrupt_helper.c | 3 +- target-openrisc/sys_helper.c | 3 +- target-ppc/cpu-qom.h | 2 + target-ppc/cpu.h | 6 +- target-ppc/excp_helper.c | 34 ++- target-ppc/helper_regs.h | 11 +- target-ppc/kvm.c | 16 +- target-ppc/translate.c | 3 +- target-ppc/translate_init.c | 1 + target-s390x/cpu-qom.h | 2 + target-s390x/cpu.c | 9 +- target-s390x/cpu.h | 12 +- target-s390x/helper.c | 19 +- target-sh4/cpu-qom.h | 15 ++ target-sh4/cpu.c | 181 +++++++++++++++- target-sh4/cpu.h | 8 +- target-sh4/helper.c | 13 +- target-sh4/op_helper.c | 4 +- target-sh4/translate.c | 84 -------- target-sparc/cpu-qom.h | 2 + target-sparc/cpu.c | 2 + target-sparc/cpu.h | 6 +- target-sparc/helper.c | 4 +- target-sparc/int32_helper.c | 4 +- target-sparc/int64_helper.c | 4 +- target-unicore32/cpu-qom.h | 2 + target-unicore32/cpu.c | 1 + target-unicore32/cpu.h | 5 +- target-unicore32/helper.c | 5 +- target-unicore32/softmmu.c | 6 +- target-xtensa/cpu-qom.h | 2 + target-xtensa/cpu.c | 1 + target-xtensa/cpu.h | 1 - target-xtensa/helper.c | 5 +- target-xtensa/op_helper.c | 5 +- translate-all.c | 18 +- xen-all.c | 10 +- 133 Dateien geändert, 1268 Zeilen hinzugefügt(+), 878 Zeilen entfernt(-)