Hi Paolo, Since you posted your "x86: allow building without PC machine types" series [1], I looked at my past work on this topic (restrict "hw/i386/pc.h" to the X86 architecture). I'm glad to see in [2] you remove most (all) of the last uses. Since I haven't looked at this for some time, my WiP branch was quite diverged from QEMU master. I guess I could salvage most of the easy patches. The rest is QOMification of GSI/IOAPIC which require various changes with the i8259, so I'll keep that for later. [1] https://www.mail-archive.com/qemu-devel@xxxxxxxxxx/msg664760.html [2] https://www.mail-archive.com/qemu-devel@xxxxxxxxxx/msg664765.html Philippe Mathieu-Daudé (12): hw/i386/pc: Convert DPRINTF() to trace events hw/i386/pc: Move kvm_i8259_init() declaration to sysemu/kvm.h hw/i386/pc: Remove obsolete pc_pci_device_init() declaration hw/i386/pc: Remove obsolete cpu_set_smm_t typedef hw/i386/ich9: Remove unused include hw/i386/ich9: Move unnecessary "pci_bridge.h" include hw/ide/piix: Remove superfluous DEVICE() cast hw/ide/piix: Use ARRAY_SIZE() instead of magic numbers hw/intc/ioapic: Make ioapic_print_redtbl() static hw/i386/pc: Rename allocate_cpu_irq from 'pc' to 'x86_machine' hw/i386/pc: Move x86_machine_allocate_cpu_irq() to 'hw/i386/x86.c' hw/i386/pc: Move PC-machine specific declarations to 'pc_internal.h' hw/i386/pc_internal.h | 144 ++++++++++++++++++++++++++++++ include/hw/i386/ich9.h | 2 - include/hw/i386/ioapic_internal.h | 1 - include/hw/i386/pc.h | 133 --------------------------- include/hw/i386/x86.h | 2 + include/sysemu/kvm.h | 1 + hw/i386/acpi-build.c | 2 + hw/i386/microvm.c | 2 +- hw/i386/pc.c | 47 ++-------- hw/i386/pc_piix.c | 1 + hw/i386/pc_q35.c | 1 + hw/i386/pc_sysfw.c | 1 + hw/i386/x86.c | 30 +++++++ hw/i386/xen/xen-hvm.c | 1 + hw/ide/piix.c | 29 +++--- hw/intc/ioapic_common.c | 2 +- hw/pci-bridge/i82801b11.c | 1 + hw/i386/trace-events | 6 ++ 18 files changed, 211 insertions(+), 195 deletions(-) create mode 100644 hw/i386/pc_internal.h -- 2.21.0