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
