@@ -14,7 +14,7 @@ \section{Conformance Targets}\label{sec:Conformance / Conformance Targets}
1414\item [Driver] A driver MUST conform to four conformance clauses:
1515 \begin {itemize }
1616 \item Clause \ref {sec:Conformance / Driver Conformance }.
17- \item One of clauses \ref {sec:Conformance / Driver Conformance / PCI Driver Conformance }, \ref {sec:Conformance / Driver Conformance / MMIO Driver Conformance } or \ref {sec:Conformance / Driver Conformance / Channel I/O Driver Conformance }.
17+ \item One of clauses \ref {sec:Conformance / Driver Conformance / PCI Driver Conformance }, \ref {sec:Conformance / Driver Conformance / MMIO Driver Conformance }, \ref {sec:Conformance / Driver Conformance / Channel I/O Driver Conformance } or \ref { sec:Conformance / Driver Conformance / Virtio Over Messages Driver Conformance }.
1818 \item One of clauses
1919\ref {sec:Conformance / Driver Conformance / Network Driver Conformance },
2020\ref {sec:Conformance / Driver Conformance / Block Driver Conformance },
@@ -45,7 +45,7 @@ \section{Conformance Targets}\label{sec:Conformance / Conformance Targets}
4545\item [Device] A device MUST conform to four conformance clauses:
4646 \begin {itemize }
4747 \item Clause \ref {sec:Conformance / Device Conformance }.
48- \item One of clauses \ref {sec:Conformance / Device Conformance / PCI Device Conformance }, \ref {sec:Conformance / Device Conformance / MMIO Device Conformance } or \ref {sec:Conformance / Device Conformance / Channel I/O Device Conformance }.
48+ \item One of clauses \ref {sec:Conformance / Device Conformance / PCI Device Conformance }, \ref {sec:Conformance / Device Conformance / MMIO Device Conformance }, \ref {sec:Conformance / Device Conformance / Channel I/O Device Conformance } or \ref { sec:Conformance / Device Conformance / Virtio Over Messages Device Conformance }.
4949 \item One of clauses
5050\ref {sec:Conformance / Device Conformance / Network Device Conformance },
5151\ref {sec:Conformance / Device Conformance / Block Device Conformance },
@@ -73,6 +73,7 @@ \section{Conformance Targets}\label{sec:Conformance / Conformance Targets}
7373
7474 \item Clause \ref {sec:Conformance / Legacy Interface: Transitional Device and Transitional Driver Conformance }.
7575 \end {itemize }
76+ \item [Bus] A bus implementation MUST conform to clause \ref {sec:Conformance / Bus Conformance / Virtio Over Messages Bus Conformance } when providing Virtio Over Messages.
7677\end {description }
7778
7879\conformance {\section }{Driver Conformance}\label {sec:Conformance / Driver Conformance }
@@ -147,6 +148,42 @@ \section{Conformance Targets}\label{sec:Conformance / Conformance Targets}
147148\item \ref {drivernormative:Virtio Transport Options / Virtio over channel I/O / Device Operation / Resetting Devices }
148149\end {itemize }
149150
151+ \conformance {\subsection }{Virtio Over Messages Driver Conformance}\label {sec:Conformance / Driver Conformance / Virtio Over Messages Driver Conformance }
152+
153+ A Virtio Over Messages driver MUST conform to the following normative statements:
154+
155+ \begin {itemize }
156+ \item \ref {drivernormative:Virtio Transport Options / Virtio Over Messages / Basic Concepts / Revisions / Driver Limits }
157+ \item \ref {drivernormative:Virtio Transport Options / Virtio Over Messages / Basic Concepts / Versioning and Forward Compatibility / Driver }
158+ \item \ref {drivernormative:Virtio Transport Options / Virtio Over Messages / Basic Concepts / Configuration Generation Count / Driver }
159+ \item \ref {drivernormative:Virtio Transport Options / Virtio Over Messages / Basic Concepts / Endianness / Driver }
160+ \item \ref {drivernormative:Virtio Transport Options / Virtio Over Messages / Basic Concepts / Common Message Format / Driver }
161+ \item \ref {drivernormative:Virtio Transport Options / Virtio Over Messages / Device Initialization / Overview / Driver }
162+ \item \ref {drivernormative:Virtio Transport Options / Virtio Over Messages / Device Initialization / Device Information / Driver }
163+ \item \ref {drivernormative:Virtio Transport Options / Virtio Over Messages / Device Initialization / Device Features / Driver }
164+ \item \ref {drivernormative:Virtio Transport Options / Virtio Over Messages / Device Initialization / Device Configuration / Driver }
165+ \item \ref {drivernormative:Virtio Transport Options / Virtio Over Messages / Device Initialization / Virtqueue Configuration / Driver }
166+ \item \ref {drivernormative:Virtio Transport Options / Virtio Over Messages / Device Initialization / Status Information / Driver }
167+ \item \ref {drivernormative:Virtio Transport Options / Virtio Over Messages / Device Initialization / Finalizing Initialization / Driver }
168+ \item \ref {drivernormative:Virtio Transport Options / Virtio Over Messages / Device Operation / Driver Notifications / Driver }
169+ \item \ref {drivernormative:Virtio Transport Options / Virtio Over Messages / Device Operation / Device Notifications / Driver }
170+ \item \ref {drivernormative:Virtio Transport Options / Virtio Over Messages / Device Operation / Configuration Changes During Operation / Driver }
171+ \item \ref {drivernormative:Virtio Transport Options / Virtio Over Messages / Device Operation / Virtqueue Changes During Operation / Driver }
172+ \item \ref {drivernormative:Virtio Transport Options / Virtio Over Messages / Device Operation / Reset / Driver }
173+ \item \ref {drivernormative:Virtio Transport Options / Virtio Over Messages / Transport Messages / Mandatory / Driver }
174+ \item \ref {drivernormative:Virtio Transport Options / Virtio Over Messages / Transport Messages / VIRTIO_MSG_GET_DEVICE_INFO / Driver }
175+ \item \ref {drivernormative:Virtio Transport Options / Virtio Over Messages / Transport Messages / VIRTIO_MSG_GET_DEVICE_FEATURES / Driver }
176+ \item \ref {drivernormative:Virtio Transport Options / Virtio Over Messages / Transport Messages / VIRTIO_MSG_SET_DRIVER_FEATURES / Driver }
177+ \item \ref {drivernormative:Virtio Transport Options / Virtio Over Messages / Transport Messages / VIRTIO_MSG_GET_CONFIG / Driver }
178+ \item \ref {drivernormative:Virtio Transport Options / Virtio Over Messages / Transport Messages / VIRTIO_MSG_SET_CONFIG / Driver }
179+ \item \ref {drivernormative:Virtio Transport Options / Virtio Over Messages / Transport Messages / VIRTIO_MSG_SET_DEVICE_STATUS / Driver }
180+ \item \ref {drivernormative:Virtio Transport Options / Virtio Over Messages / Transport Messages / VIRTIO_MSG_SET_VQUEUE / Driver }
181+ \item \ref {drivernormative:Virtio Transport Options / Virtio Over Messages / Transport Messages / VIRTIO_MSG_RESET_VQUEUE / Driver }
182+ \item \ref {drivernormative:Virtio Transport Options / Virtio Over Messages / Transport Messages / VIRTIO_MSG_EVENT_CONFIG / Driver }
183+ \item \ref {drivernormative:Virtio Transport Options / Virtio Over Messages / Transport Messages / VIRTIO_MSG_EVENT_AVAIL / Driver }
184+ \item \ref {drivernormative:Virtio Transport Options / Virtio Over Messages / Transport Messages / VIRTIO_MSG_EVENT_USED / Driver }
185+ \end {itemize }
186+
150187\input {device-types/net/driver-conformance.tex }
151188\input {device-types/blk/driver-conformance.tex }
152189\input {device-types/console/driver-conformance.tex }
@@ -241,6 +278,43 @@ \section{Conformance Targets}\label{sec:Conformance / Conformance Targets}
241278\item \ref {devicenormative:Virtio Transport Options / Virtio over channel I/O / Device Operation / Resetting Devices }
242279\end {itemize }
243280
281+ \conformance {\subsection }{Virtio Over Messages Device Conformance}\label {sec:Conformance / Device Conformance / Virtio Over Messages Device Conformance }
282+
283+ A Virtio Over Messages device MUST conform to the following normative statements:
284+
285+ \begin {itemize }
286+ \item \ref {devicenormative:Virtio Transport Options / Virtio Over Messages / Basic Concepts / Revisions / Device Limits }
287+ \item \ref {devicenormative:Virtio Transport Options / Virtio Over Messages / Basic Concepts / Versioning and Forward Compatibility / Device }
288+ \item \ref {devicenormative:Virtio Transport Options / Virtio Over Messages / Basic Concepts / Configuration Generation Count / Device }
289+ \item \ref {devicenormative:Virtio Transport Options / Virtio Over Messages / Basic Concepts / Feature Blocks / Device }
290+ \item \ref {devicenormative:Virtio Transport Options / Virtio Over Messages / Basic Concepts / Error Signaling / Device }
291+ \item \ref {devicenormative:Virtio Transport Options / Virtio Over Messages / Basic Concepts / Endianness / Device }
292+ \item \ref {devicenormative:Virtio Transport Options / Virtio Over Messages / Basic Concepts / Common Message Format / Device }
293+ \item \ref {devicenormative:Virtio Transport Options / Virtio Over Messages / Device Initialization / Device Features / Device }
294+ \item \ref {devicenormative:Virtio Transport Options / Virtio Over Messages / Device Initialization / Device Configuration / Device }
295+ \item \ref {devicenormative:Virtio Transport Options / Virtio Over Messages / Device Initialization / Virtqueue Configuration / Device }
296+ \item \ref {devicenormative:Virtio Transport Options / Virtio Over Messages / Device Initialization / Status Information / Device }
297+ \item \ref {devicenormative:Virtio Transport Options / Virtio Over Messages / Device Initialization / Finalizing Initialization / Device }
298+ \item \ref {devicenormative:Virtio Transport Options / Virtio Over Messages / Device Operation / Device Notifications / Device }
299+ \item \ref {devicenormative:Virtio Transport Options / Virtio Over Messages / Device Operation / Configuration Changes During Operation / Device }
300+ \item \ref {devicenormative:Virtio Transport Options / Virtio Over Messages / Device Operation / Virtqueue Changes During Operation / Device }
301+ \item \ref {devicenormative:Virtio Transport Options / Virtio Over Messages / Device Operation / Reset / Device }
302+ \item \ref {devicenormative:Virtio Transport Options / Virtio Over Messages / Transport Messages / Mandatory / Device }
303+ \item \ref {devicenormative:Virtio Transport Options / Virtio Over Messages / Transport Messages / VIRTIO_MSG_GET_DEVICE_INFO / Device }
304+ \item \ref {devicenormative:Virtio Transport Options / Virtio Over Messages / Transport Messages / VIRTIO_MSG_GET_DEVICE_FEATURES / Device }
305+ \item \ref {devicenormative:Virtio Transport Options / Virtio Over Messages / Transport Messages / VIRTIO_MSG_SET_DRIVER_FEATURES / Device }
306+ \item \ref {devicenormative:Virtio Transport Options / Virtio Over Messages / Transport Messages / VIRTIO_MSG_GET_CONFIG / Device }
307+ \item \ref {devicenormative:Virtio Transport Options / Virtio Over Messages / Transport Messages / VIRTIO_MSG_SET_CONFIG / Device }
308+ \item \ref {devicenormative:Virtio Transport Options / Virtio Over Messages / Transport Messages / VIRTIO_MSG_GET_DEVICE_STATUS / Device }
309+ \item \ref {devicenormative:Virtio Transport Options / Virtio Over Messages / Transport Messages / VIRTIO_MSG_SET_DEVICE_STATUS / Device }
310+ \item \ref {devicenormative:Virtio Transport Options / Virtio Over Messages / Transport Messages / VIRTIO_MSG_GET_VQUEUE / Device }
311+ \item \ref {devicenormative:Virtio Transport Options / Virtio Over Messages / Transport Messages / VIRTIO_MSG_SET_VQUEUE / Device }
312+ \item \ref {devicenormative:Virtio Transport Options / Virtio Over Messages / Transport Messages / VIRTIO_MSG_RESET_VQUEUE / Device }
313+ \item \ref {devicenormative:Virtio Transport Options / Virtio Over Messages / Transport Messages / VIRTIO_MSG_GET_SHM / Device }
314+ \item \ref {devicenormative:Virtio Transport Options / Virtio Over Messages / Transport Messages / VIRTIO_MSG_EVENT_CONFIG / Device }
315+ \item \ref {devicenormative:Virtio Transport Options / Virtio Over Messages / Transport Messages / VIRTIO_MSG_EVENT_USED / Device }
316+ \end {itemize }
317+
244318\input {device-types/net/device-conformance.tex }
245319\input {device-types/blk/device-conformance.tex }
246320\input {device-types/console/device-conformance.tex }
@@ -265,6 +339,33 @@ \section{Conformance Targets}\label{sec:Conformance / Conformance Targets}
265339\input {device-types/media/device-conformance.tex }
266340\input {device-types/rtc/device-conformance.tex }
267341
342+ \conformance {\section }{Bus Conformance}\label {sec:Conformance / Bus Conformance }
343+
344+ A bus implementation MUST conform to the relevant bus normative statements.
345+
346+ \conformance {\subsection }{Virtio Over Messages Bus Conformance}\label {sec:Conformance / Bus Conformance / Virtio Over Messages Bus Conformance }
347+
348+ A Virtio Over Messages bus implementation MUST conform to the following normative statements:
349+
350+ \begin {itemize }
351+ \item \ref {busnormative:Virtio Transport Options / Virtio Over Messages / Basic Concepts / Relationship between bus and transport / Bus Messages }
352+ \item \ref {busnormative:Virtio Transport Options / Virtio Over Messages / Basic Concepts / Relationship between bus and transport / Transport Message Forwarding }
353+ \item \ref {busnormative:Virtio Transport Options / Virtio Over Messages / Basic Concepts / Revisions / Advertising Transport Parameters }
354+ \item \ref {busnormative:Virtio Transport Options / Virtio Over Messages / Basic Concepts / Revisions / Message Size }
355+ \item \ref {busnormative:Virtio Transport Options / Virtio Over Messages / Basic Concepts / Versioning and Forward Compatibility / Bus }
356+ \item \ref {busnormative:Virtio Transport Options / Virtio Over Messages / Basic Concepts / Device Numbers / Assignment }
357+ \item \ref {busnormative:Virtio Transport Options / Virtio Over Messages / Basic Concepts / Error Signaling / Bus }
358+ \item \ref {busnormative:Virtio Transport Options / Virtio Over Messages / Basic Concepts / Common Message Format / Bus }
359+ \item \ref {busnormative:Virtio Transport Options / Virtio Over Messages / Basic Concepts / Ordering / Bus }
360+ \item \ref {busnormative:Virtio Transport Options / Virtio Over Messages / Device Discovery / Bus }
361+ \item \ref {busnormative:Virtio Transport Options / Virtio Over Messages / Device Operation / Driver Notifications / Bus }
362+ \item \ref {busnormative:Virtio Transport Options / Virtio Over Messages / Device Operation / Device Notifications / Bus }
363+ \item \ref {busnormative:Virtio Transport Options / Virtio Over Messages / Device Operation / Hotplug and Removal / Bus }
364+ \item \ref {busnormative:Virtio Transport Options / Virtio Over Messages / Transport Messages / VIRTIO_MSG_EVENT_AVAIL / Bus }
365+ \item \ref {busnormative:Virtio Transport Options / Virtio Over Messages / Bus Messages / GET_DEVICES / Bus }
366+ \item \ref {busnormative:Virtio Transport Options / Virtio Over Messages / Bus Messages / PING / Bus }
367+ \end {itemize }
368+
268369\conformance {\section }{Legacy Interface: Transitional Device and Transitional Driver Conformance}\label {sec:Conformance / Legacy Interface: Transitional Device and Transitional Driver Conformance }
269370A conformant implementation MUST be either transitional or
270371non-transitional, see \ref {intro:Legacy
0 commit comments