Hello, This is my current QOM CPU patch queue. Please pull.
It includes: * QOM realize support for CPUs, cleaning up cpu_init(), * cpu_init() TCG cleanups for device_add, * preparations for CPUState refactorings, * CRIS CPU subclasses, * CPUState part 8 refactorings, * bug fixes for e500 CPU iterations, * preparations for x86 CPU subclasses. Due to our ambitious hotplug plans I have been pushy applying patches early to qom-cpu-next queue during Soft and Hard Freeze, but target maintainers should've had sufficient time to ack/nack by now. Tested with x86_64/ppc64/s390x KVM as well as MinGW cross-builds and OpenBSD. 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: Richard Henderson <r...@twiddle.net> Cc: Edgar E. Iglesias <edgar.igles...@gmail.com> Cc: Alexander Graf <ag...@suse.de> Cc: qemu-...@nongnu.org The following changes since commit 453776e5746be23c66df65fadf12e115b7d2dadd: bitops: Remove routines redundant with host-utils (2013-02-16 11:12:52 +0000) are available in the git repository at: git://github.com/afaerber/qemu-cpu.git qom-cpu for you to fetch changes up to 2d64255bd7c0d3933ff5ab2cabff11bcb09117a8: target-i386: Split command line parsing out of cpu_x86_register() (2013-02-16 14:51:01 +0100) ---------------------------------------------------------------- Andreas Färber (47): cpu: Prepare QOM realizefn target-alpha: Update AlphaCPU to QOM realizefn target-arm: Update ARMCPU to QOM realizefn target-i386: Update X86CPU to QOM realizefn target-openrisc: Update OpenRISCCPU to QOM realizefn target-ppc: Update PowerPCCPU to QOM realizefn target-cris: Introduce QOM realizefn for CRISCPU target-lm32: Introduce QOM realizefn for LM32CPU target-m68k: Introduce QOM realizefn for M68kCPU target-microblaze: Introduce QOM realizefn for MicroBlazeCPU target-mips: Introduce QOM realizefn for MIPSCPU target-s390x: Introduce QOM realizefn for S390CPU target-sh4: Introduce QOM realizefn for SuperHCPU target-sparc: Introduce QOM realizefn for SPARCCPU target-unicore32: Introduce QOM realizefn for UniCore32CPU target-xtensa: Introduce QOM realizefn for XtensaCPU target-arm: Move TCG initialization to ARMCPU initfn target-cris: Move TCG initialization to CRISCPU initfn target-lm32: Move TCG initialization to LM32CPU initfn target-m68k: Move TCG initialization to M68kCPU initfn target-microblaze: Move TCG initialization to MicroBlazeCPU initfn target-mips: Move TCG initialization to MIPSCPU initfn target-ppc: Move TCG initialization to PowerPCCPU initfn target-s390x: Move TCG initialization to S390CPU initfn target-sh4: Move TCG initialization to SuperHCPU initfn target-sparc: Move TCG initialization to SPARCCPU initfn target-unicore32: Move TCG initialization to UniCore32CPU initfn target-xtensa: Move TCG initialization to XtensaCPU initfn ppc405_uc: Pass PowerPCCPU to ppc40x_{core,chip,system}_reset() target-m68k: Return M68kCPU from cpu_m68k_init() mcf5206: Pass M68kCPU to mcf5206_init() mcf_intc: Pass M68kCPU to mcf_intc_init() target-m68k: Pass M68kCPU to m68k_set_irq_level() target-cris: Introduce CRISCPU subclasses cpu: Move host_tid field to CPUState cpu: Move running field to CPUState cpu: Move exit_request field to CPUState cpu: Move current_tb field to CPUState cputlb: Pass CPUState to cpu_unlink_tb() cpu: Add CPUArchState pointer to CPUState e500: Replace open-coded loop with qemu_get_cpu() ppce500_spin: Replace open-coded CPU loop with qemu_get_cpu() spapr_hcall: Replace open-coded CPU loop with qemu_get_cpu() target-s390x: Drop unused cpu_s390x_close() prototype target-lm32: Drop unused cpu_lm32_close() prototype target-i386: Move cpu_x86_init() target-i386: Split command line parsing out of cpu_x86_register() cpu-exec.c | 21 ++--- cputlb.c | 6 +- dump.c | 8 +- exec.c | 6 +- gdbstub.c | 14 ++-- hw/an5206.c | 11 ++- hw/apic_common.c | 2 +- hw/apic_internal.h | 2 +- hw/kvmvapic.c | 13 +-- hw/mcf.h | 4 +- hw/mcf5206.c | 8 +- hw/mcf5208.c | 11 ++- hw/mcf_intc.c | 8 +- hw/pc.c | 1 - hw/ppc.c | 12 +-- hw/ppc.h | 6 +- hw/ppc/e500.c | 11 +-- hw/ppc405_uc.c | 16 ++-- hw/ppce500_spin.c | 15 +--- hw/spapr_hcall.c | 16 ++-- include/exec/cpu-defs.h | 5 -- include/exec/exec-all.h | 4 +- include/exec/gdbstub.h | 5 +- include/qom/cpu.h | 11 +++ kvm-all.c | 6 +- linux-user/main.c | 37 +++++---- linux-user/syscall.c | 4 +- qom/cpu.c | 7 ++ target-alpha/cpu-qom.h | 2 + target-alpha/cpu.c | 18 ++++- target-arm/cpu-qom.h | 3 +- target-arm/cpu.c | 29 +++++-- target-arm/cpu.h | 1 + target-arm/helper.c | 18 ++--- target-cris/cpu-qom.h | 5 ++ target-cris/cpu.c | 180 ++++++++++++++++++++++++++++++++++++++++- target-cris/cpu.h | 3 + target-cris/translate.c | 60 +------------- target-cris/translate_v10.c | 5 +- target-i386/cpu-qom.h | 5 +- target-i386/cpu.c | 90 ++++++++++++++------- target-i386/cpu.h | 1 - target-i386/helper.c | 24 ------ target-i386/kvm.c | 4 +- target-lm32/cpu-qom.h | 2 + target-lm32/cpu.c | 24 +++++- target-lm32/cpu.h | 1 - target-lm32/helper.c | 8 +- target-m68k/cpu-qom.h | 2 + target-m68k/cpu.c | 24 ++++++ target-m68k/cpu.h | 15 +++- target-m68k/helper.c | 27 ++++--- target-microblaze/cpu-qom.h | 2 + target-microblaze/cpu.c | 22 +++++ target-microblaze/cpu.h | 1 + target-microblaze/translate.c | 16 ++-- target-mips/cpu-qom.h | 2 + target-mips/cpu.c | 21 +++++ target-mips/cpu.h | 1 + target-mips/translate.c | 8 +- target-openrisc/cpu.c | 15 +++- target-openrisc/cpu.h | 4 +- target-ppc/cpu-qom.h | 2 + target-ppc/translate_init.c | 23 ++++-- target-s390x/cpu-qom.h | 2 + target-s390x/cpu.c | 22 ++++- target-s390x/cpu.h | 1 - target-s390x/helper.c | 9 +-- target-sh4/cpu-qom.h | 2 + target-sh4/cpu.c | 20 +++++ target-sh4/cpu.h | 1 + target-sh4/translate.c | 8 +- target-sparc/cpu-qom.h | 2 + target-sparc/cpu.c | 27 +++++-- target-unicore32/cpu-qom.h | 3 + target-unicore32/cpu.c | 22 +++++ target-unicore32/helper.c | 7 +- target-xtensa/cpu-qom.h | 2 + target-xtensa/cpu.c | 22 +++++ target-xtensa/cpu.h | 1 + target-xtensa/helper.c | 16 +--- translate-all.c | 36 ++++++--- translate-all.h | 2 +- 83 Dateien geändert, 780 Zeilen hinzugefügt(+), 363 Zeilen entfernt(-)