[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: [PATCH V4 0/4] Introduce virtio transport virtqueue
This series introduces virtio transport virtqueue as a new transport layer for virtio devices. This series defines the concepts of virtio management device and virtio managed devices. This series also defines a commands set over the transport virtqueue, including: The command to query available resources of the management device The commands to create / destroy the managed devices. The commands to config the managed devices. The commands to config virtqueues of the managed devices. Changes from V3: 1) Add mask bit and pending bit support of MSI for managed devices (Jason, Michael). The pending bit and mask bit have to be transport vq specified, because PCI has a limitation of 2K MSI-x entries. 2) Enable or disable MSI for the managed device than for vqs, like what PCI does. 3) Disallow disabling a vq(Jason) 4) Add secondary ASID support for the vqs(Jason) It looks like currently one secondary ASID is enough. 5) Add a description on how to invalidate an ASID of a vq. Changes from V2: 1)Drop Feature bit VIRTIO_F_TRANSPT_VQ_MDEV (Michael) 2)Extend the feature bits to 128 bits as required in section 2.2 Feature Bits (Michael) 3)Explicit describes the feature bit VIRTIO_F_TRANSPT_VQ should be negotiated with the management device for the commands (Michael) 4)Removed MSI mask / unmask commands (Michael) 5)Add commands to get MSI entries of vqs and config space (Michael) 6)Add a description on the behaviors when disable a MSI (Michael) 7)Removed the section “Management device discovery” (Michael) 8)Remove pre-created managed devices, it is totally depending on the HW implementation (Michael) 9)Detailed descriptions for VIRITO DEVICE ID in the creation command (Michael) 10)Better device requirements for the device config space generation (Michael) 11)Re-use struct transportq_ctrl_packed_vq_state{} for both packed vq state set/get (Michael) Changes form V1: 1)Add a command to set per-vq asid(Jason) 2)Add a command to reset a virtqueue(Jason) 3)Add support for packed virtqueue state(Jason) 4)Allow nested managed devices(Jason) 5)Provides device feature bits in the provisioning(Jason) 6)Removed most of the error codes, only left OK and ERR(Jason) 7)“virtual devices” is renamed to “managed devices”, to be more general(Jason) Zhu Lingshan (4): Introduce virito transport virtqueue Introduce the commands set of the transport vq Describe the process to present a managed device Add transport vq number for virtio blk and net content.tex | 858 +++++++++++++++++++++++++++++++++++++++++++++++ introduction.tex | 3 + 2 files changed, 861 insertions(+) -- 2.35.3
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]