Create a PLX PEX PCIe Virtual Switch implementation that can be used
for modeling trays. This is a generalized version of the xio3130 switch where
we can set the PCI information on creation, allowing us to model different
trays without creating specific devices for all of them. It is used the same
way the xio3130 switch is used + the PCI Signature information.

The idea is to minimize the difficulty of creating different trays whose
only difference is recognition by some daemon through PCI signatures.
Instead of having to create 8 different versions of xio3130 that have
the same functionality but different PCI Signatures, we create one
general version where you can declare the PCI Signature information,
while keeping the same base functionality. This is not meant to fully
replace xio3130 since that is easier to use without knowledge of the PCI
Signature, this is meant to decrease the difficulty of creating switch
trays that require certain PCI information for recognition without any
significant change from a normal PLX Virtual Switch functionality.

Changes from v1&2: Updating different formatting and API changes that
ocurred QEMU-wide since these patches were first staged in 8.1.

Signed-off-by: Nabih Estefan <nabiheste...@google.com>
Signed-off-by: Patrick Venture <vent...@google.com>

Nabih Estefan (2):
  hw/pci-bridge: Create Initial revision for PLX Virtual Switch
  MAINTAINERS: Add entry for PLX VSwitches

 MAINTAINERS                            |   6 +
 hw/pci-bridge/Kconfig                  |   5 +
 hw/pci-bridge/meson.build              |   1 +
 hw/pci-bridge/plx_vswitch_downstream.c | 188 +++++++++++++++++++++++++
 hw/pci-bridge/plx_vswitch_upstream.c   | 178 +++++++++++++++++++++++
 include/hw/pci-bridge/plx_vswitch.h    |  43 ++++++
 6 files changed, 421 insertions(+)
 create mode 100644 hw/pci-bridge/plx_vswitch_downstream.c
 create mode 100644 hw/pci-bridge/plx_vswitch_upstream.c
 create mode 100644 include/hw/pci-bridge/plx_vswitch.h

-- 
2.51.0.318.gd7df087d1a-goog


Reply via email to