This series adds PCI IDs and QEMU models for the Cnuas virtual network
adapter and CnuasGPU AI/ML accelerator. The models provide compact interfaces
for guest-driver, RDMA, device-memory, and accelerator-fabric development.

The CnuasNIC model exposes a register-driven DMA interface and transports
complete frames over a Linux SOCK_SEQPACKET endpoint. CnuasGPU provides an
MMIO control BAR, a configurable device-memory BAR, and an optional link
transport.

Both models include reset and migration state, MSI and INTx support,
specifications, and qtests. The transport tests exercise host-to-device and
device-to-host data movement rather than only PCI enumeration.

Changes since v1:

- submit the PCI ID allocations with the corresponding device models
- use 1b36:0015 for CnuasNIC and 1b36:0016 for CnuasGPU

The complete QEMU device implementation is included in this patch series.

Regards,

Weqaar Janjua
Packet Five Networks Ltd.
Dublin, Ireland
https://www.packetfive.com

Weqaar Janjua (6):
  pci: Add device ID for CnuasNIC
  hw/net: Add Cnuas virtual network adapter
  tests/qtest: Add Cnuas virtual network adapter tests
  pci: Add device ID for CnuasGPU
  hw/misc: Add CnuasGPU virtual accelerator
  tests/qtest: Add CnuasGPU tests

 MAINTAINERS                   |  10 +
 docs/specs/cnuas-vnic.rst     |  78 +++++
 docs/specs/cnuasgpu.rst       |  91 ++++++
 docs/specs/index.rst          |   2 +
 docs/specs/pci-ids.rst        |   4 +
 hw/misc/Kconfig               |   5 +
 hw/misc/cnuasgpu.c            | 557 ++++++++++++++++++++++++++++++++++
 hw/misc/meson.build           |   1 +
 hw/net/Kconfig                |   5 +
 hw/net/cnuas_vnic.c           | 508 +++++++++++++++++++++++++++++++
 hw/net/meson.build            |   1 +
 include/hw/pci/pci.h          |   2 +
 tests/qtest/cnuas-vnic-test.c | 233 ++++++++++++++
 tests/qtest/cnuasgpu-test.c   | 274 +++++++++++++++++
 tests/qtest/meson.build       |   2 +
 15 files changed, 1773 insertions(+)
 create mode 100644 docs/specs/cnuas-vnic.rst
 create mode 100644 docs/specs/cnuasgpu.rst
 create mode 100644 hw/misc/cnuasgpu.c
 create mode 100644 hw/net/cnuas_vnic.c
 create mode 100644 tests/qtest/cnuas-vnic-test.c
 create mode 100644 tests/qtest/cnuasgpu-test.c

-- 
2.43.0

Reply via email to