Re: [PATCH v8 1/1] virtio-media: Add virtio media device specification
Albert Esteve <[email protected]>
| Newsgroups | dev.linux.lists.virtio-comment |
|---|---|
| Message-ID | <CADSE00+gAfgCz0N8ceS2kdZkvEF6=nBHEghrmm8eXfuyZ10_Mw@mail.gmail.com> |
On Wed, Jul 9, 2025 at 11:38 AM Albert Esteve <[email protected]> wrote: > > On Wed, Jul 9, 2025 at 11:32 AM Alex Bennée <[email protected]> wrote: > > > > Albert Esteve <[email protected]> writes: > > > > > On Fri, Mar 14, 2025 at 2:26 PM Alexandre Courbot <[email protected]> wrote: > > >> > > >> Hello Albert, > > >> > > >> On Tue Mar 4, 2025 at 10:01 PM JST, Albert Esteve wrote: > > >> > Virtio-media is an encapsulation of the V4L2 UAPI into > > >> > virtio, able to virtualize any video device supported > > >> > by V4L2. > > >> > > > >> > Note that virtio-media does not require the use of a > > >> > V4L2 device driver on the host or guest side - > > >> > V4L2 is only used as a host-guest protocol, > > >> > and both sides are free to convert it from/to any > > >> > model that they wish to use. > > >> > > >> Thank you for your patience with this. I have done a final pass on this > > >> version and it looks great to me! > > >> > > >> Reviewed-by: Alexandre Courbot <[email protected]> > > >> > > > > > > Thanks! Could we please open a voting ballot for these changes? > > > > > > Fixes: https://github.com/oasis-tcs/virtio-spec/issues/214 > > > > What was the result of the ballot? > > AFAIU the ballot was approved. There were conflicts with the > virtio-1.4 branch, which may have delayed the integration. I've just > sent a new version of the patch rebased to virtio-1.4 to try to ease > the process. Adding the diff here on the v8 instead, to avoid having to vote again on a new patch version. The diff should allow applying the original v8 patch cleanly to virtio-1.4. Let me know if this is enough. ---- diff --git a/content.tex b/content.tex index 59925ae..56b2cb1 100644 --- a/content.tex +++ b/content.tex @@ -100,7 +100,7 @@ \section{Feature Bits}\label{sec:Basic Facilities of a Virtio Device / Feature B \item[0 to 23, and 50 to 127] Feature bits for the specific device type \item[24 to 41] Feature bits reserved for extensions to the queue and - feature negotiation mechanisms + feature negotiation mechanisms, see \ref{sec:Reserved Feature Bits} \item[42 to 49, and 128 and above] Feature bits reserved for future extensions. \end{description} @@ -493,7 +493,7 @@ \section{Driver Notifications} \label{sec:Basic Facilities of a Virtio Device / \section{Exporting Objects}\label{sec:Basic Facilities of a Virtio Device / Exporting Objects} When an object created by one virtio device needs to be -shared with a seperate virtio device, the first device can +shared with a separate virtio device, the first device can export the object by generating a UUID which can then be passed to the second device to identify the object. @@ -503,11 +503,12 @@ \section{Exporting Objects}\label{sec:Basic Facilities of a Virtio Device / Expo UUIDs as specified by \hyperref[intro:rfc4122]{[RFC4122]}. \input{admin.tex} +\input{device-parts.tex} \chapter{General Initialization And Device Operation}\label{sec:General Initialization And Device Operation} We start with an overview of device initialization, then expand on the -details of the device and how each step is preformed. This section +details of the device and how each step is performed. This section is best read along with the bus-specific section which describes how to communicate with the specific device. @@ -649,7 +650,7 @@ \chapter{Device Types}\label{sec:Device Types} Discovering what devices are available and their type is bus-dependent. -\begin{tabular} { |l|c| } +\begin{longtable} { |l|c| } \hline Device ID & Virtio Device \\ \hline \hline @@ -737,9 +738,17 @@ \chapter{Device Types}\label{sec:Device Types} \hline 44 & ISM device \\ \hline -45 & SPI master \\ +45 & SPI controller \\ \hline -\end{tabular} +46 & TEE device \\ +\hline +47 & CPU balloon device \\ +\hline +48 & Media device \\ +\hline +49 & USB controller \\ +\hline +\end{longtable} Some of the devices above are unspecified by this document, because they are seen as immature or especially niche. Be warned @@ -767,6 +776,8 @@ \chapter{Device Types}\label{sec:Device Types} \input{device-types/scmi/description.tex} \input{device-types/gpio/description.tex} \input{device-types/pmem/description.tex} +\input{device-types/can/description.tex} +\input{device-types/spi/description.tex} \input{device-types/media/description.tex} \chapter{Reserved Feature Bits}\label{sec:Reserved Feature Bits} diff --git a/conformance.tex b/conformance.tex index 2564034..0856353 100644 --- a/conformance.tex +++ b/conformance.tex @@ -33,6 +33,9 @@ \section{Conformance Targets}\label{sec:Conformance / Conformance Targets} \ref{sec:Conformance / Driver Conformance / I2C Adapter Driver Conformance}, \ref{sec:Conformance / Driver Conformance / SCMI Driver Conformance}, \ref{sec:Conformance / Driver Conformance / GPIO Driver Conformance}, +\ref{sec:Conformance / Driver Conformance / PMEM Driver Conformance}, +\ref{sec:Conformance / Driver Conformance / CAN Driver Conformance}, +\ref{sec:Conformance / Driver Conformance / SPI Controller Driver Conformance}, \ref{sec:Conformance / Driver Conformance / PMEM Driver Conformance} or \ref{sec:Conformance / Driver Conformance / Media Driver Conformance}. @@ -61,7 +64,10 @@ \section{Conformance Targets}\label{sec:Conformance / Conformance Targets} \ref{sec:Conformance / Device Conformance / I2C Adapter Device Conformance}, \ref{sec:Conformance / Device Conformance / SCMI Device Conformance}, \ref{sec:Conformance / Device Conformance / GPIO Device Conformance}, -\ref{sec:Conformance / Device Conformance / PMEM Device Conformance} or +\ref{sec:Conformance / Device Conformance / PMEM Device Conformance}, +\ref{sec:Conformance / Device Conformance / CAN Device Conformance}, +\ref{sec:Conformance / Device Conformance / SPI Controller Device Conformance}, +\ref{sec:Conformance / Device Conformance / PMEM Device Conformance}, \ref{sec:Conformance / Device Conformance / Media Device Conformance}. \item Clause \ref{sec:Conformance / Legacy Interface: Transitional Device and Transitional Driver Conformance}. @@ -78,6 +84,7 @@ \section{Conformance Targets}\label{sec:Conformance / Conformance Targets} \item \ref{drivernormative:Basic Facilities of a Virtio Device / Device Reset} \item \ref{drivernormative:Basic Facilities of a Virtio Device / Device Configuration Space} \item \ref{drivernormative:Basic Facilities of a Virtio Device / Virtqueues} +\item \ref{drivernormative:Basic Facilities of a Virtio Device / Virtqueues / Virtqueue Reset / Virtqueue Reset} \item \ref{drivernormative:Basic Facilities of a Virtio Device / Message Framing} \item \ref{drivernormative:Basic Facilities of a Virtio Device / Virtqueues / The Virtqueue Descriptor Table} \item \ref{drivernormative:Basic Facilities of a Virtio Device / Virtqueues / The Virtqueue Descriptor Table / Indirect Descriptors} @@ -96,6 +103,9 @@ \section{Conformance Targets}\label{sec:Conformance / Conformance Targets} \item \ref{drivernormative:General Initialization And Device Operation / Device Initialization} \item \ref{drivernormative:General Initialization And Device Operation / Device Cleanup} \item \ref{drivernormative:Reserved Feature Bits} +\item \ref{drivernormative:Basic Facilities of a Virtio Device / Device groups / Group administration commands / Device and driver capabilities} +\item \ref{drivernormative:Basic Facilities of a Virtio Device / Device groups / Group administration commands / Device resource objects} +\item \ref{drivernormative:Basic Facilities of a Virtio Device / Device groups / Group administration commands / Device parts} \end{itemize} \conformance{\subsection}{PCI Driver Conformance}\label{sec:Conformance / Driver Conformance / PCI Driver Conformance} @@ -154,6 +164,8 @@ \section{Conformance Targets}\label{sec:Conformance / Conformance Targets} \input{device-types/scmi/driver-conformance.tex} \input{device-types/gpio/driver-conformance.tex} \input{device-types/pmem/driver-conformance.tex} +\input{device-types/can/driver-conformance.tex} +\input{device-types/spi/driver-conformance.tex} \input{device-types/media/driver-conformance.tex} \conformance{\section}{Device Conformance}\label{sec:Conformance / Device Conformance} @@ -165,6 +177,7 @@ \section{Conformance Targets}\label{sec:Conformance / Conformance Targets} \item \ref{devicenormative:Basic Facilities of a Virtio Device / Feature Bits} \item \ref{devicenormative:Basic Facilities of a Virtio Device / Device Reset} \item \ref{devicenormative:Basic Facilities of a Virtio Device / Device Configuration Space} +\item \ref{devicenormative:Basic Facilities of a Virtio Device / Virtqueues / Virtqueue Reset / Virtqueue Reset} \item \ref{devicenormative:Basic Facilities of a Virtio Device / Message Framing} \item \ref{devicenormative:Basic Facilities of a Virtio Device / Virtqueues / The Virtqueue Descriptor Table} \item \ref{devicenormative:Basic Facilities of a Virtio Device / Virtqueues / The Virtqueue Descriptor Table / Indirect Descriptors} @@ -176,6 +189,9 @@ \section{Conformance Targets}\label{sec:Conformance / Conformance Targets} \item \ref{devicenormative:Basic Facilities of a Virtio Device / Packed Virtqueues / Scatter-Gather Support} \item \ref{devicenormative:Basic Facilities of a Virtio Device / Shared Memory Regions} \item \ref{devicenormative:Reserved Feature Bits} +\item \ref{devicenormative:Basic Facilities of a Virtio Device / Device groups / Group administration commands / Device and driver capabilities} +\item \ref{devicenormative:Basic Facilities of a Virtio Device / Device groups / Group administration commands / Device resource objects} +\item \ref{devicenormative:Basic Facilities of a Virtio Device / Device groups / Group administration commands / Device parts} \end{itemize} \conformance{\subsection}{PCI Device Conformance}\label{sec:Conformance / Device Conformance / PCI Device Conformance} @@ -241,6 +257,8 @@ \section{Conformance Targets}\label{sec:Conformance / Conformance Targets} \input{device-types/scmi/device-conformance.tex} \input{device-types/gpio/device-conformance.tex} \input{device-types/pmem/device-conformance.tex} +\input{device-types/can/device-conformance.tex} +\input{device-types/spi/device-conformance.tex} \input{device-types/media/device-conformance.tex} \conformance{\section}{Legacy Interface: Transitional Device and Transitional Driver Conformance}\label{sec:Conformance / Legacy Interface: Transitional Device and Transitional Driver Conformance} > > > > > -- > > Alex Bennée > > Virtualisation Tech Lead @ Linaro > >