Skip to contentSkip to conversation

qemu: MSI-X support

PATCH Superseded Michael S. Tsirkin 1 participant 1 message Jun 2, 2009 KVM

v2 of 4 Superseded Latest is v4 →

lore
Share & tools
lore
#0 lore raw

v2 cover qemu: MSI-X support

Resending. Incorporated a minor fix pointed out by Isaku Yamahata.

Here is the port of MSI-X support patches to upstream qemu. Please comment or commit.

This patchset adds generic support for MSI-X, adds implementation in APIC, and uses MSI-X in virtio-net. At Paul's suggestion, I use stl_phy to decouple APIC and MSI-X implementation.

This uses the mask table patch that I posted previously, and which is now included in the series.

Signature · 33 lines
MST

Michael S. Tsirkin (13):
  qemu: make default_write_config use mask table
  qemu: capability bits in pci save/restore
  qemu: add routines to manage PCI capabilities
  qemu: helper routines for pci access.
  qemu: MSI-X support functions
  qemu: add flag to disable MSI-X by default
  qemu: minimal MSI/MSI-X implementation for PC
  qemu: add support for resizing regions
  qemu: virtio support for many interrupt vectors
  qemu: MSI-X support in virtio PCI
  qemu: request 3 vectors in virtio-net
  qemu: virtio save/load bindings
  qemu: add pci_get/set_byte

 Makefile.target    |    2 +-
 hw/apic.c          |   50 ++++++-
 hw/msix.c          |  426 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 hw/msix.h          |   35 +++++
 hw/pci.c           |  295 +++++++++++++++++++-----------------
 hw/pci.h           |  105 ++++++++++++-
 hw/syborg_virtio.c |   13 ++-
 hw/virtio-net.c    |    1 +
 hw/virtio-pci.c    |  215 +++++++++++++++++++++-----
 hw/virtio.c        |   70 ++++++---
 hw/virtio.h        |   14 ++-
 qemu-options.hx    |    2 +
 vl.c               |    3 +
 13 files changed, 1017 insertions(+), 214 deletions(-)
 create mode 100644 hw/msix.c
 create mode 100644 hw/msix.h