[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: [PATCH v4 3/3] transport-pci: Add legacy register access conformance section
Add device and driver conformanace section for legacy registers access commands interface. Fixes: https://github.com/oasis-tcs/virtio-spec/issues/167 Signed-off-by: Parav Pandit <parav@nvidia.com> --- changelog: v3->v4: - moved legacy interface normative references to legacy conformance section v2->v3: - added normative lines for two additional commands --- conformance.tex | 2 ++ transport-pci-legacy-regs.tex | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 35 insertions(+) diff --git a/conformance.tex b/conformance.tex index 01ccd69..be0bf89 100644 --- a/conformance.tex +++ b/conformance.tex @@ -265,6 +265,8 @@ \section{Conformance Targets}\label{sec:Conformance / Conformance Targets} \item Section \ref{sec:Virtio Transport Options / Virtio Over PCI Bus / PCI Device Layout / Legacy Interfaces: A Note on PCI Device Layout} \item Section \ref{sec:Virtio Transport Options / Virtio Over PCI Bus / PCI-specific Initialization And Device Operation / Device Initialization / Virtio Device Configuration Layout Detection / Legacy Interface: A Note on Device Layout Detection} \item Section \ref{sec:Virtio Transport Options / Virtio Over PCI Bus / PCI-specific Initialization And Device Operation / Device Initialization / Virtqueue Configuration / Legacy Interface: A Note on Virtqueue Configuration} +\item Section \ref{par:Virtio Transport Options / Virtio Over PCI Bus / Legacy Interfaces Requirements: SR-IOV VFs Registers Access} +\item Section \ref{par:Virtio Transport Options / Virtio Over PCI Bus / PCI Device Layout / Legacy Interfaces: Notification capability} \item Section \ref{sec:Virtio Transport Options / Virtio Over MMIO / Legacy interface} \item Section \ref{sec:Virtio Transport Options / Virtio over channel I/O / Device Initialization / Setting the Virtio Revision / Legacy Interfaces: A Note on Setting the Virtio Revision} \item Section \ref{sec:Virtio Transport Options / Virtio over channel I/O / Device Initialization / Configuring a Virtqueue / Legacy Interface: A Note on Configuring a Virtqueue} diff --git a/transport-pci-legacy-regs.tex b/transport-pci-legacy-regs.tex index 2a464da..ef6a33c 100644 --- a/transport-pci-legacy-regs.tex +++ b/transport-pci-legacy-regs.tex @@ -120,3 +120,36 @@ \subsubsection{Legacy Device Registers Read Command}\label{sec:Virtio Transport u8 registers[]; }; \end{lstlisting} + +\paragraph{Legacy Interfaces Requirements: SR-IOV VFs Legacy Registers Access}\label{par:Virtio Transport Options / Virtio Over PCI Bus / Legacy Interfaces Requirements: SR-IOV VFs Registers Access} + +If the PCI PF device supports legacy registers access for its group members, +the device MUST set all corresponding bits for commands VIRTIO_ADMIN_CMD_LCC_REG_WRITE, +VIRTIO_ADMIN_CMD_LCC_REG_READ, VIRTIO_ADMIN_CMD_LD_REG_WRITE, +VIRTIO_ADMIN_CMD_LD_REG_READ in the command result of +VIRTIO_ADMIN_CMD_LIST_QUERY in \field{device_admin_cmd_opcodes}. + +The device MUST encode and decode legacy device specific registers using +little-endian format. + +The device MUST fail VIRTIO_ADMIN_CMD_LCC_REG_WRITE, VIRTIO_ADMIN_CMD_LCC_REG_READ +commands for the invalid offset which is outside the legacy common configuration +register's address range. + +The device MUST fail VIRTIO_ADMIN_CMD_LD_REG_WRITE, VIRTIO_ADMIN_CMD_LD_REG_READ +commands for the invalid offset which is outside the legacy device specific +register's address range. + +The PCI VF device SHOULD NOT expose PCI BAR 0 when it prefers to support +legacy interface registers access. + +The driver MUST encode and decode legacy device specific registers using +little-endian format. + +The driver SHOULD send VIRTIO_ADMIN_CMD_LCC_REG_WRITE and +VIRTIO_ADMIN_CMD_LCC_REG_READ commands with a valid offset which is in the +legacy common configuration registers address range. + +The driver SHOULD send commands VIRTIO_ADMIN_CMD_LD_REG_WRITE and +VIRTIO_ADMIN_CMD_LD_REG_READ with a valid offset which is in the legacy +device specific registers address range. -- 2.26.2
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]