[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [virtio-dev] [PATCH 1/1] conformance: clarify transitional/non-transitional
On Thu, Mar 14, 2019 at 06:28:14PM +0100, Halil Pasic wrote: > Clarify that legacy device descriptions are non-normative. In fact > virtio 0.9 is non-normative as a whole and always was by design: it was > early days and spec evolved to document bugs in implementations. > > Move the list of requirements associated with the legacy interface out > of the Conformance chapter into its own chapter. > > Suggested-by: Michael S. Tsirkin <mst@redhat.com> > Signed-off-by: Halil Pasic <pasic@linux.ibm.com> OK it's an option but I really don't like such a big change in 1.1. Let me try again with a minimal change and the rest we can leave for 1.2. For this one would you like to create a github issue? It wasn't reported during review period either so we do not need to vote on deferring it formally. > --- > > Based on Michaels v3, and carries forward the idea of legacy interface > not being a normative part of the virio specification. This is something > we should decide on. > > This patch does not address all the issues raised by VIRTIO-167. > > --- > cl-cs03.tex | 4 +--- > conformance.tex | 61 ---------------------------------------------------- > legacy-interface.tex | 54 ++++++++++++++++++++++++++++++++++++++++++++++ > main.tex | 2 ++ > 4 files changed, 57 insertions(+), 64 deletions(-) > create mode 100644 legacy-interface.tex > > diff --git a/cl-cs03.tex b/cl-cs03.tex > index 72925ca..5bfc42f 100644 > --- a/cl-cs03.tex > +++ b/cl-cs03.tex > @@ -225,9 +225,7 @@ Operation / Legacy Interface: Device Operation}, \ref{sec:Device > Types / Memory Balloon Device / Device Operation / Legacy > Interface: Device Operation}, \ref{sec:Device > Types / SCSI Host Device / Device Operation / Legacy > -Interface: Device Operation} and \ref{sec:Conformance / Legacy > -Interface: Transitional Device and Transitional Driver > -Conformance}. > +Interface: Device Operation} and \ref{sec:Legacy Interface Requirements}. > } \\ > \hline > 523 & 30 Apr 2015 & Michael S. Tsirkin & {VIRTIO-142: > diff --git a/conformance.tex b/conformance.tex > index ad7e82e..5365093 100644 > --- a/conformance.tex > +++ b/conformance.tex > @@ -334,64 +334,3 @@ A socket device MUST conform to the following normative statements: > \item \ref{devicenormative:Device Types / Socket Device / Device Operation / Receive and Transmit} > \end{itemize} > > -\section{Legacy Interface: Transitional Device and > -Transitional Driver Conformance}\label{sec:Conformance / Legacy > -Interface: Transitional Device and > -Transitional Driver Conformance} > -A conformant implementation MUST be either transitional or > -non-transitional, see \ref{intro:Legacy > -Interface: Terminology}. > - > -A non-transitional implementation conforms to this specification > -if it satisfies all of the MUST or REQUIRED level requirements > -defined above. > - > -An implementation MAY choose to implement OPTIONAL support for the > -legacy interface, including support for legacy drivers > -or devices, by additionally conforming to all of the MUST or > -REQUIRED level requirements for the legacy interface > -for the transitional devices and drivers. > - > -The requirements for the legacy interface for transitional implementations > -are located in sections named ``Legacy Interface'' listed below: > -\begin{itemize} > -\item Section \ref{sec:Basic Facilities of a Virtio Device / > -Feature Bits / Legacy Interface: A Note on Feature Bits} > -\item Section \ref{sec:Basic Facilities of a Virtio Device / Device Configuration Space / Legacy Interface: A Note on Configuration Space endian-ness} > -\item Section \ref{sec:Basic Facilities of a Virtio Device / Device Configuration Space / Legacy Interface: Device Configuration Space} > -\item Section \ref{sec:Basic Facilities of a Virtio Device / Virtqueues / Legacy Interfaces: A Note on Virtqueue Layout} > -\item Section \ref{sec:Basic Facilities of a Virtio Device / Virtqueues / Legacy Interfaces: A Note on Virtqueue Endianness} > -\item Section \ref{sec:Basic Facilities of a Virtio Device / Virtqueues / Message Framing / Legacy Interface: Message Framing} > -\item Section \ref{sec:General Initialization And Device Operation / Device Initialization / Legacy Interface: Device Initialization} > -\item Section \ref{sec:Virtio Transport Options / Virtio Over PCI Bus / PCI Device Discovery / Legacy Interfaces: A Note on PCI Device Discovery} > -\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{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} > -\item Section \ref{sec:Virtio Transport Options / Virtio over channel I/O / Device Operation / Host->Guest Notification / Legacy Interfaces: A Note on Host->Guest Notification} > -\item Section \ref{sec:Virtio Transport Options / Virtio over channel I/O / Device Initialization / Setting Up Indicators / Legacy Interfaces: A Note on Setting Up Indicators} > -\item Section \ref{sec:Device Types / Network Device / Feature bits / Legacy Interface: Feature bits} > -\item Section \ref{sec:Device Types / Network Device / Device configuration layout / Legacy Interface: Device configuration layout} > -\item Section \ref{sec:Device Types / Network Device / Device Operation / Legacy Interface: Device Operation} > -\item Section \ref{sec:Device Types / Network Device / Device Operation / Control Virtqueue / Setting MAC Address Filtering / Legacy Interface: Setting MAC Address Filtering} > -\item Section \ref{sec:Device Types / Network Device / Device Operation / Control Virtqueue / VLAN Filtering / Legacy Interface: VLAN Filtering} > -\item Section \ref{sec:Device Types / Network Device / Device Operation / Control Virtqueue / Automatic receive steering in multiqueue mode / Legacy Interface: Automatic receive steering in multiqueue mode} > -\item Section \ref{sec:Device Types / Network Device / Device Operation / Control Virtqueue / Offloads State Configuration / Setting Offloads State / Legacy Interface: Setting Offloads State} > -\item Section \ref{sec:Device Types / Block Device / Feature bits / Legacy Interface: Feature bits} > -\item Section \ref{sec:Device Types / Block Device / Device configuration layout / Legacy Interface: Device configuration layout} > -\item Section \ref{sec:Device Types / Block Device / Device Initialization / Legacy Interface: Device Initialization} > -\item Section \ref{sec:Device Types / Block Device / Device Operation / Legacy Interface: Device Operation} > -\item Section \ref{sec:Device Types / Console Device / Device configuration layout / Legacy Interface: Device configuration layout} > -\item Section \ref{sec:Device Types / Console Device / Device Operation / Legacy Interface: Device Operation} > -\item Section \ref{sec:Device Types / Memory Balloon Device / Feature bits / Legacy Interface: Feature bits} > -\item Section \ref{sec:Device Types / Memory Balloon Device / Device Operation / Legacy Interface: Device Operation} > -\item Section \ref{sec:Device Types / Memory Balloon Device / Device Operation / Memory Statistics / Legacy Interface: Memory Statistics} > -\item Section \ref{sec:Device Types / SCSI Host Device / Device configuration layout / Legacy Interface: Device configuration layout} > -\item Section \ref{sec:Device Types / SCSI Host Device / Device Operation / Legacy Interface: Device Operation} > -\item Section \ref{sec:Device Types / SCSI Host Device / Device Operation / Device Operation: Request Queues / Legacy Interface: Device Operation: Request Queues} > -\item Section \ref{sec:Device Types / SCSI Host Device / Device Operation / Device Operation: controlq / Legacy Interface: Device Operation: controlq} > -\item Section \ref{sec:Device Types / SCSI Host Device / Device Operation / Device Operation: eventq / Legacy Interface: Device Operation: eventq} > -\item Section \ref{sec:Reserved Feature Bits / Legacy Interface: Reserved Feature Bits} > -\end{itemize} > diff --git a/legacy-interface.tex b/legacy-interface.tex > new file mode 100644 > index 0000000..f9e8f3a > --- /dev/null > +++ b/legacy-interface.tex > @@ -0,0 +1,54 @@ > +\chapter{Legacy Interface Requirements \label{sec:Legacy Interface Requirements}} > + > +A transitional driver or device is a conforming driver or device (as > +defined by section \ref{sec:Conformance / Conformance Targets}) that aims > +for interoperability with the existing body of legacy devices or drivers > +(see \ref{intro:Legacy Interface: Terminology}). > + > +No normative specification for the legacy interface exists, but to > +facilitate inter-operability with non-conforming legacy implementations, > +known differences between the legacy interface and the standard interface > +are documented in non-normative sections named ``Legacy Interface'' > +listed below: > + > +\begin{itemize} > +\item Section \ref{sec:Basic Facilities of a Virtio Device / > +Feature Bits / Legacy Interface: A Note on Feature Bits} > +\item Section \ref{sec:Basic Facilities of a Virtio Device / Device Configuration Space / Legacy Interface: A Note on Configuration Space endian-ness} > +\item Section \ref{sec:Basic Facilities of a Virtio Device / Device Configuration Space / Legacy Interface: Device Configuration Space} > +\item Section \ref{sec:Basic Facilities of a Virtio Device / Virtqueues / Legacy Interfaces: A Note on Virtqueue Layout} > +\item Section \ref{sec:Basic Facilities of a Virtio Device / Virtqueues / Legacy Interfaces: A Note on Virtqueue Endianness} > +\item Section \ref{sec:Basic Facilities of a Virtio Device / Virtqueues / Message Framing / Legacy Interface: Message Framing} > +\item Section \ref{sec:General Initialization And Device Operation / Device Initialization / Legacy Interface: Device Initialization} > +\item Section \ref{sec:Virtio Transport Options / Virtio Over PCI Bus / PCI Device Discovery / Legacy Interfaces: A Note on PCI Device Discovery} > +\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{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} > +\item Section \ref{sec:Virtio Transport Options / Virtio over channel I/O / Device Operation / Host->Guest Notification / Legacy Interfaces: A Note on Host->Guest Notification} > +\item Section \ref{sec:Virtio Transport Options / Virtio over channel I/O / Device Initialization / Setting Up Indicators / Legacy Interfaces: A Note on Setting Up Indicators} > +\item Section \ref{sec:Device Types / Network Device / Feature bits / Legacy Interface: Feature bits} > +\item Section \ref{sec:Device Types / Network Device / Device configuration layout / Legacy Interface: Device configuration layout} > +\item Section \ref{sec:Device Types / Network Device / Device Operation / Legacy Interface: Device Operation} > +\item Section \ref{sec:Device Types / Network Device / Device Operation / Control Virtqueue / Setting MAC Address Filtering / Legacy Interface: Setting MAC Address Filtering} > +\item Section \ref{sec:Device Types / Network Device / Device Operation / Control Virtqueue / VLAN Filtering / Legacy Interface: VLAN Filtering} > +\item Section \ref{sec:Device Types / Network Device / Device Operation / Control Virtqueue / Automatic receive steering in multiqueue mode / Legacy Interface: Automatic receive steering in multiqueue mode} > +\item Section \ref{sec:Device Types / Network Device / Device Operation / Control Virtqueue / Offloads State Configuration / Setting Offloads State / Legacy Interface: Setting Offloads State} > +\item Section \ref{sec:Device Types / Block Device / Feature bits / Legacy Interface: Feature bits} > +\item Section \ref{sec:Device Types / Block Device / Device configuration layout / Legacy Interface: Device configuration layout} > +\item Section \ref{sec:Device Types / Block Device / Device Initialization / Legacy Interface: Device Initialization} > +\item Section \ref{sec:Device Types / Block Device / Device Operation / Legacy Interface: Device Operation} > +\item Section \ref{sec:Device Types / Console Device / Device configuration layout / Legacy Interface: Device configuration layout} > +\item Section \ref{sec:Device Types / Console Device / Device Operation / Legacy Interface: Device Operation} > +\item Section \ref{sec:Device Types / Memory Balloon Device / Feature bits / Legacy Interface: Feature bits} > +\item Section \ref{sec:Device Types / Memory Balloon Device / Device Operation / Legacy Interface: Device Operation} > +\item Section \ref{sec:Device Types / Memory Balloon Device / Device Operation / Memory Statistics / Legacy Interface: Memory Statistics} > +\item Section \ref{sec:Device Types / SCSI Host Device / Device configuration layout / Legacy Interface: Device configuration layout} > +\item Section \ref{sec:Device Types / SCSI Host Device / Device Operation / Legacy Interface: Device Operation} > +\item Section \ref{sec:Device Types / SCSI Host Device / Device Operation / Device Operation: Request Queues / Legacy Interface: Device Operation: Request Queues} > +\item Section \ref{sec:Device Types / SCSI Host Device / Device Operation / Device Operation: controlq / Legacy Interface: Device Operation: controlq} > +\item Section \ref{sec:Device Types / SCSI Host Device / Device Operation / Device Operation: eventq / Legacy Interface: Device Operation: eventq} > +\item Section \ref{sec:Reserved Feature Bits / Legacy Interface: Reserved Feature Bits} > +\end{itemize} > diff --git a/main.tex b/main.tex > index b1913d6..f78f73b 100644 > --- a/main.tex > +++ b/main.tex > @@ -34,6 +34,8 @@ > % Conformance > \input{conformance.tex} > > +\input{legacy-interface.tex} > + > % appendix > \appendix > \def\@chapapp{\appendixname} > -- > 1.8.3.1 > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: virtio-dev-unsubscribe@lists.oasis-open.org > For additional commands, e-mail: virtio-dev-help@lists.oasis-open.org
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]