Skip to content

q35 series take #1

Jason Baron qemu-devel 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest25 patches 48 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/25pci: pci capability must be in PCI spacehw/pci.c+2 -30 replies
2/25pci: add opaque argument to pci_map_irq_fnhw/apb_pci.c hw/bonito.c hw/dec_pci.c +15 more+20 -201 reply
3/25pci: introduce pci_swizzle_map_irq_fn() for standardized interrupt pin swizzlehw/pci.c hw/pci.h+20 -00 replies
4/25ahci: add ide device initialization helperhw/ide.h hw/ide/ahci.c+19 -07 replies
5/25pc, pc_piix: split out pc nic initializationhw/pc.c hw/pc.h hw/pc_piix.c+17 -80 replies
6/25pc: Move ioapic_init() from pc_piix.c to pc.chw/pc.c hw/pc.h hw/pc_piix.c+27 -240 replies
7/25pc/piix_pci: factor out smram/pam logichw/i386/Makefile.objs hw/pam.c hw/pam.h +1 more+230 -551 reply
8/25pci_ids: add intel 82801BA pci-to-pci bridge id and PCI_CLASS_SERIAL_SMBUShw/pci_ids.h+2 -00 replies
9/25pcie: pass pcie window size to pcie_host_mmcfg_update()hw/pcie_host.c hw/pcie_host.h+17 -120 replies
10/25pcie: Convert PCIExpressHost to use the QOM.hw/pcie_host.c hw/pcie_host.h+18 -01 reply
11/25q35: Introduce q35 pc based chipset emulatorhw/acpi_ich9.c hw/acpi_ich9.h hw/i386/Makefile.objs +5 more+2064 -09 replies
12/25q35: Re-base q35 to 1.2hw/acpi_ich9.c hw/acpi_ich9.h hw/pc.h +5 more+568 -3531 reply
13/25q35: Suppress SMM BIOS initialization under KVMhw/acpi_ich9.c+7 -00 replies
14/25q35: Fix non-PCI IRQ processing in ich9_lpc_update_apichw/q35.c+4 -20 replies
15/25q35: smbus: Remove PCI_STATUS_SIG_SYSTEM_ERROR and PCI_STATUS_DETECTED_PARITY from w1cmaskhw/q35_smbus.c+4 -00 replies
16/25pci: Add class 0xc05 as 'SMBus'hw/pci.c+1 -02 replies
17/25q35: Add kvmclock supporthw/pc_q35.c+3 -00 replies
18/25q35: Fix irr initialization for slots 25..31hw/q35.c+20 -92 replies
19/25ahci: add migration supporthw/ide/ahci.c hw/ide/ahci.h hw/ide/ich.c+81 -41 reply
20/25pcie: drop version_id field for live migrationhw/pci.c hw/pcie.h+1 -20 replies
21/25pcie_aer: clear cmask for Advanced Error Interrupt Message Numberhw/pcie_aer.c+5 -00 replies
22/25ahci: properly reset PxCMD on HBA resethw/ide/ahci.c+1 -10 replies
23/25q35: add acpi-based pci hotplug.hw/acpi_ich9.c hw/acpi_ich9.h+182 -11 reply
24/25Add a fallback bios file search, if -L fails.vl.c+21 -73 replies
25/25q35: automatically load the q35 dsdt tablehw/pc_q35.c+26 -03 replies

Reviews trailers per patch

1 of 25 patches has a Reviewed-by or Acked-by.

PatchAndreas Färber
1/25
2/25
3/25
4/25
5/25
6/25
7/25
8/25
9/25
10/25A-b
11/25
12/25
13/25
14/25
15/25
16/25
17/25
18/25
19/25
20/25
21/25
22/25
23/25
24/25
25/25

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v1 thread

Cover letter [Qemu-devel] [PATCH 00/25] q35 series take #1

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