Hi, Qemu bits for q35 support, I'm posting the seabios changes separately. The patches require '-M pc_q35' and -L 'seabios dir with q35 changes' on the qemu command line. Hopefully, we can make it the default for x86 at some future point when we feel comfortable with it.
Since q35 patches have been posted before I've tried to keep the authorship as clear as possible. Its not quite bi-sectable (I can combine things if that works better) due to that fact. The current patches have been tested with basic install testing and memory testing on f16, f17, windows 7 and windows 8. They can be run on the various BSD flavors by adding a 'piix4-ide' device to the pci bus. ie: -device piix4-ide. I've also added a few new features to try and get us on par with the current piix, including: 1) migration I've added support for ahci migration. I've done basic testing but this support is incomplete. We should probably be migration more state than we currently are. 2) hotplug I've added piix acpi style hotplug to ich9. I'm hoping this series will spark a discussion as to what areas I need to focus in order to make this patch series acceptable. For those interested in git trees, see: git://github.com/jibaron/q35-qemu.git git://github.com/jibaron/q35-seabios.git Thanks, -Jason Isaku Yamahata (9): pci: pci capability must be in PCI space pci: add opaque argument to pci_map_irq_fn pci: introduce pci_swizzle_map_irq_fn() for standardized interrupt pin swizzle ahci: add ide device initialization helper pc, pc_piix: split out pc nic initialization pc/piix_pci: factor out smram/pam logic pci_ids: add intel 82801BA pci-to-pci bridge id and PCI_CLASS_SERIAL_SMBUS q35: Introduce q35 pc based chipset emulator q35: Fix irr initialization for slots 25..31 Jan Kiszka (5): q35: Suppress SMM BIOS initialization under KVM q35: Fix non-PCI IRQ processing in ich9_lpc_update_apic q35: smbus: Remove PCI_STATUS_SIG_SYSTEM_ERROR and PCI_STATUS_DETECTED_PARITY from w1cmask pci: Add class 0xc05 as 'SMBus' q35: Add kvmclock support Jason Baron (11): pc: Move ioapic_init() from pc_piix.c to pc.c pcie: pass pcie window size to pcie_host_mmcfg_update() pcie: Convert PCIExpressHost to use the QOM. q35: Re-base q35 ahci: add migration support pcie: drop version_id field for live migration pcie_aer: clear cmask for Advanced Error Interrupt Message Number ahci: properly reset PxCMD on HBA reset q35: add acpi-based pci hotplug. Add a fallback bios file search, if -L fails. q35: automatically load the q35 dsdt table hw/acpi_ich9.c | 492 +++++++++++++++++++++++++ hw/acpi_ich9.h | 56 +++ hw/apb_pci.c | 4 +- hw/bonito.c | 2 +- hw/dec_pci.c | 2 +- hw/grackle_pci.c | 2 +- hw/gt64xxx.c | 2 +- hw/i386/Makefile.objs | 2 + hw/ide.h | 3 + hw/ide/ahci.c | 82 +++++- hw/ide/ahci.h | 10 + hw/ide/ich.c | 11 +- hw/pam.c | 121 +++++++ hw/pam.h | 98 +++++ hw/pc.c | 39 ++ hw/pc.h | 5 + hw/pc_piix.c | 38 +-- hw/pc_q35.c | 476 +++++++++++++++++++++++++ hw/pci.c | 30 ++- hw/pci.h | 4 +- hw/pci_bridge_dev.c | 2 +- hw/pci_ids.h | 16 + hw/pcie.h | 1 - hw/pcie_aer.c | 5 + hw/pcie_host.c | 35 ++- hw/pcie_host.h | 12 +- hw/piix_pci.c | 67 +--- hw/ppc4xx_pci.c | 2 +- hw/ppce500_pci.c | 2 +- hw/prep_pci.c | 2 +- hw/q35.c | 945 +++++++++++++++++++++++++++++++++++++++++++++++++ hw/q35.h | 361 +++++++++++++++++++ hw/q35_smbus.c | 166 +++++++++ hw/sh_pci.c | 2 +- hw/unin_pci.c | 2 +- hw/versatile_pci.c | 2 +- hw/xen.h | 2 +- vl.c | 28 ++- xen-all.c | 2 +- xen-stub.c | 2 +- 40 files changed, 2997 insertions(+), 138 deletions(-) create mode 100644 hw/acpi_ich9.c create mode 100644 hw/acpi_ich9.h create mode 100644 hw/pam.c create mode 100644 hw/pam.h create mode 100644 hw/pc_q35.c create mode 100644 hw/q35.c create mode 100644 hw/q35.h create mode 100644 hw/q35_smbus.c