Hello, Based on Igor's APIC initialization refactoring, this series picks up the next batch from my CPUState part 4 series. It applies on top of my qom-cpu queue and does not depend on the target-specific preparation series just posted.
Still not having X86CPU subclasses, there's no perfect solution to replace the APIC's deprecated qdev pointer property with a QOM link<X86CPU> property, so in this v2 I'm proposing to go via APIC internals for now, to keep moving forward with CPUState. Please review. Available for testing from: git://github.com/afaerber/qemu-cpu.git qom-cpu-4 https://github.com/afaerber/qemu-cpu/commits/qom-cpu-4 Context: * heavily-stripped-down CPUState part 4 series was pulled into v1.2 * x86 CPU hotplug patches reviewed and cherry-picked into qom-cpu branch -> this CPUState part 4a series * xtensa preparatory patch from CPUState part 4 * ppc and mips preparatory 4b series posted + sparc preparatory 4b series to be cherry-picked and rebased + upcoming 4b series --- until here considered v1.3 material + CPU TLB changes TBD + remainder of CPUState part 4 series, up to halted / interrupt_request Regards, Andreas Cc: Anthony Liguori <anth...@codemonkey.ws> Cc: Paolo Bonzini <pbonz...@redhat.com> Cc: Igor Mammedov <imamm...@redhat.com> Cc: Eduardo Habkost <ehabk...@redhat.com> Cc: Don Slutz <d...@cloudswitch.com> Cc: Peter Crosthwaite <peter.crosthwa...@petalogix.com> Cc: Edgar E. Iglesias <edgar.igles...@gmail.com> v1 -> v2: * cpu_is_bsp() changes have been merged through Igor in the meantime. * Instead of setting up canonical path for PC CPU and link<X86CPU> property for APIC, initialize the APICCommonState struct field directly to migrate from void*-hidden CPUX86State to X86CPU. Andreas Färber (7): target-i386: Inline APIC cpu_env property setting apic: Store X86CPU in APICCommonState target-i386: Pass X86CPU to cpu_x86_load_seg_cache_sipi() cpus: Pass CPUState to qemu_cpu_is_self() cpus: Pass CPUState to qemu_cpu_kick_thread() cpu: Move created field to CPUState cpu: Move stop field to CPUState cpu-defs.h | 2 -- cpus.c | 59 +++++++++++++++++++++++++++++----------------------- exec.c | 3 ++- hw/apic.c | 40 ++++++++++++++++++++--------------- hw/apic_common.c | 5 ++--- hw/apic_internal.h | 3 ++- hw/kvm/apic.c | 8 +++---- include/qemu/cpu.h | 14 +++++++++++++ kvm-all.c | 4 +++- qemu-common.h | 1 - target-i386/cpu.c | 5 ++++- target-i386/cpu.h | 4 +++- target-i386/kvm.c | 6 ++++-- 13 Dateien geändert, 94 Zeilen hinzugefügt(+), 60 Zeilen entfernt(-) -- 1.7.10.4