ICC Bus was used for providing a hotpluggable bus for APIC and CPU, but now we use HotplugHandler to make hotplug. So ICC Bus is unnecessary.
This code has passed the new pc-cpu-test. And I have tested with kvm along with kernel_irqchip=on/off, it works fine. This patch series is based on Eduardo's x86 tree. https://github.com/ehabkost/qemu.git v7: -update to register reset handler for main_system_bus when created -register reset handler for apic after all devices are initialized v6: -reword commit message -drop NULL check for APIC device -use C cast instead of QOM cast v5: -convert DEVICE() casts to C casts -use a local variable instead of doing the cast inline twice -drop to set cpu's parent bus -rename patch 3's subject -fix a bug about setting cpu's apic base v4: -add wrapper to get root memory region from address space -set cpu apic base's default value in x86_cpu_apic_create() -drop NULL check for cpu apic_state -put drop of the unused files about icc_bus into a seprate patch -put DEVICE() casts into a seprate patch v3: -replace init apic by object_new() -add reset apic at the time of CPU reset Chen Fan (1): cpu/apic: drop icc bus/bridge Zhu Guihua (2): sysbus: register reset handler for main_system_bus when created icc_bus: drop the unused files default-configs/i386-softmmu.mak | 1 - default-configs/x86_64-softmmu.mak | 1 - hw/core/sysbus.c | 4 ++ hw/cpu/Makefile.objs | 1 - hw/cpu/icc_bus.c | 118 ------------------------------------- hw/i386/pc.c | 19 ++---- hw/i386/pc_piix.c | 15 +++-- hw/i386/pc_q35.c | 15 +++-- hw/intc/apic_common.c | 5 +- include/hw/cpu/icc_bus.h | 82 -------------------------- include/hw/i386/apic_internal.h | 7 ++- include/hw/i386/pc.h | 2 +- target-i386/cpu.c | 24 +++++--- target-i386/cpu.h | 4 ++ vl.c | 3 - 15 files changed, 49 insertions(+), 252 deletions(-) delete mode 100644 hw/cpu/icc_bus.c delete mode 100644 include/hw/cpu/icc_bus.h -- 1.9.3