All of lore.kernel.org
 help / color / mirror / Atom feed
* [virtio-dev] [PATCH v4] content: support SR-IOV
@ 2018-05-24 16:49 Tiwei Bie
  2018-05-29 13:28 ` Michael S. Tsirkin
                   ` (3 more replies)
  0 siblings, 4 replies; 6+ messages in thread
From: Tiwei Bie @ 2018-05-24 16:49 UTC (permalink / raw)
  To: mst, cohuck, stefanha, pbonzini, virtio-dev
  Cc: dan.daly, alexander.h.duyck, mark.d.rustad, cunming.liang, zhihong.wang

Allocate a feature bit for virtio devices which support SR-IOV.

Suggested-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Tiwei Bie <tiwei.bie@intel.com>
Fixes: https://github.com/oasis-tcs/virtio-spec/issues/11
---
More details can be found from this thread:
https://patchwork.kernel.org/patch/10285541/

v3 -> v4:
- Limit the feature to PCI devices with SR-IOV cap (MST);

v2 -> v3:
- Improve the wording (Cornelia);

v1 -> v2:
- s/Reserve/Allocate/ (MST);
- Add a Fixes tag (MST);
- Be more explicit in driver requirement (MST);
- Remove the "device MAY fail" description (MST);
- Rebase on IO_BARRIER patch;

RFC -> v1:
- Mention PCI in the description (Cornelia);

 content.tex | 21 +++++++++++++++++++--
 1 file changed, 19 insertions(+), 2 deletions(-)

diff --git a/content.tex b/content.tex
index c4b3b5c..beec6c1 100644
--- a/content.tex
+++ b/content.tex
@@ -95,10 +95,10 @@ Feature bits are allocated as follows:
 \begin{description}
 \item[0 to 23] Feature bits for the specific device type
 
-\item[24 to 36] Feature bits reserved for extensions to the queue and
+\item[24 to 37] Feature bits reserved for extensions to the queue and
   feature negotiation mechanisms
 
-\item[37 and above] Feature bits reserved for future extensions.
+\item[38 and above] Feature bits reserved for future extensions.
 \end{description}
 
 \begin{note}
@@ -5365,6 +5365,9 @@ Descriptors} and \ref{sec:Packed Virtqueues / Indirect Flag: Scatter-Gather Supp
   better performance.  This feature indicates whether
   a stronger form of barrier suitable for hardware
   devices is necessary.
+  \item[VIRTIO_F_SR_IOV(37)] This feature indicates that
+  the device supports Single Root I/O Virtualization.
+  Currently only PCI devices support this feature.
 \end{description}
 
 \drivernormative{\section}{Reserved Feature Bits}{Reserved Feature Bits}
@@ -5384,6 +5387,16 @@ A driver SHOULD accept VIRTIO_F_IO_BARRIER if it is offered.
 If VIRTIO_F_IO_BARRIER has been negotiated, a driver MUST use
 the barriers suitable for hardware devices.
 
+If VIRTIO_F_SR_IOV has been negotiated, a driver can enable
+virtual functions through the device's PCI SR-IOV capability
+structure.  A driver MUST NOT negotiate VIRTIO_F_SR_IOV if
+the device does not have a PCI SR-IOV capability structure
+or is not a PCI device.  A driver MUST negotiate
+VIRTIO_F_SR_IOV and complete the feature negotiation
+(including setting the DRIVER_OK \field{status} bit) before
+enabling virtual functions through the device's PCI SR-IOV
+capability structure.
+
 \devicenormative{\section}{Reserved Feature Bits}{Reserved Feature Bits}
 
 A device MUST offer VIRTIO_F_VERSION_1.  A device MAY fail to operate further
@@ -5400,6 +5413,10 @@ buffers in the same order in which they have been available.
 A device MAY fail to operate further if VIRTIO_F_IO_BARRIER
 is not accepted.
 
+A device SHOULD offer VIRTIO_F_SR_IOV if it is a PCI device
+and presents a PCI SR-IOV capability structure, otherwise
+it MUST NOT offer VIRTIO_F_SR_IOV.
+
 \section{Legacy Interface: Reserved Feature Bits}\label{sec:Reserved Feature Bits / Legacy Interface: Reserved Feature Bits}
 
 Transitional devices MAY offer the following:
-- 
2.17.0


---------------------------------------------------------------------
To unsubscribe, e-mail: virtio-dev-unsubscribe@lists.oasis-open.org
For additional commands, e-mail: virtio-dev-help@lists.oasis-open.org


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [virtio-dev] [PATCH v4] content: support SR-IOV
  2018-05-24 16:49 [virtio-dev] [PATCH v4] content: support SR-IOV Tiwei Bie
@ 2018-05-29 13:28 ` Michael S. Tsirkin
  2018-05-29 13:41 ` Tiwei Bie
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 6+ messages in thread
From: Michael S. Tsirkin @ 2018-05-29 13:28 UTC (permalink / raw)
  To: Tiwei Bie
  Cc: cohuck, stefanha, pbonzini, virtio-dev, dan.daly,
	alexander.h.duyck, mark.d.rustad, cunming.liang, zhihong.wang

On Fri, May 25, 2018 at 12:49:51AM +0800, Tiwei Bie wrote:
> Allocate a feature bit for virtio devices which support SR-IOV.
> 
> Suggested-by: Michael S. Tsirkin <mst@redhat.com>
> Signed-off-by: Tiwei Bie <tiwei.bie@intel.com>
> Fixes: https://github.com/oasis-tcs/virtio-spec/issues/11

Acked-by: Michael S. Tsirkin <mst@redhat.com>

> ---
> More details can be found from this thread:
> https://patchwork.kernel.org/patch/10285541/
> 
> v3 -> v4:
> - Limit the feature to PCI devices with SR-IOV cap (MST);
> 
> v2 -> v3:
> - Improve the wording (Cornelia);
> 
> v1 -> v2:
> - s/Reserve/Allocate/ (MST);
> - Add a Fixes tag (MST);
> - Be more explicit in driver requirement (MST);
> - Remove the "device MAY fail" description (MST);
> - Rebase on IO_BARRIER patch;
> 
> RFC -> v1:
> - Mention PCI in the description (Cornelia);
> 
>  content.tex | 21 +++++++++++++++++++--
>  1 file changed, 19 insertions(+), 2 deletions(-)
> 
> diff --git a/content.tex b/content.tex
> index c4b3b5c..beec6c1 100644
> --- a/content.tex
> +++ b/content.tex
> @@ -95,10 +95,10 @@ Feature bits are allocated as follows:
>  \begin{description}
>  \item[0 to 23] Feature bits for the specific device type
>  
> -\item[24 to 36] Feature bits reserved for extensions to the queue and
> +\item[24 to 37] Feature bits reserved for extensions to the queue and
>    feature negotiation mechanisms
>  
> -\item[37 and above] Feature bits reserved for future extensions.
> +\item[38 and above] Feature bits reserved for future extensions.
>  \end{description}
>  
>  \begin{note}
> @@ -5365,6 +5365,9 @@ Descriptors} and \ref{sec:Packed Virtqueues / Indirect Flag: Scatter-Gather Supp
>    better performance.  This feature indicates whether
>    a stronger form of barrier suitable for hardware
>    devices is necessary.
> +  \item[VIRTIO_F_SR_IOV(37)] This feature indicates that
> +  the device supports Single Root I/O Virtualization.
> +  Currently only PCI devices support this feature.
>  \end{description}
>  
>  \drivernormative{\section}{Reserved Feature Bits}{Reserved Feature Bits}
> @@ -5384,6 +5387,16 @@ A driver SHOULD accept VIRTIO_F_IO_BARRIER if it is offered.
>  If VIRTIO_F_IO_BARRIER has been negotiated, a driver MUST use
>  the barriers suitable for hardware devices.
>  
> +If VIRTIO_F_SR_IOV has been negotiated, a driver can enable
> +virtual functions through the device's PCI SR-IOV capability
> +structure.  A driver MUST NOT negotiate VIRTIO_F_SR_IOV if
> +the device does not have a PCI SR-IOV capability structure
> +or is not a PCI device.  A driver MUST negotiate
> +VIRTIO_F_SR_IOV and complete the feature negotiation
> +(including setting the DRIVER_OK \field{status} bit) before
> +enabling virtual functions through the device's PCI SR-IOV
> +capability structure.
> +
>  \devicenormative{\section}{Reserved Feature Bits}{Reserved Feature Bits}
>  
>  A device MUST offer VIRTIO_F_VERSION_1.  A device MAY fail to operate further
> @@ -5400,6 +5413,10 @@ buffers in the same order in which they have been available.
>  A device MAY fail to operate further if VIRTIO_F_IO_BARRIER
>  is not accepted.
>  
> +A device SHOULD offer VIRTIO_F_SR_IOV if it is a PCI device
> +and presents a PCI SR-IOV capability structure, otherwise
> +it MUST NOT offer VIRTIO_F_SR_IOV.
> +
>  \section{Legacy Interface: Reserved Feature Bits}\label{sec:Reserved Feature Bits / Legacy Interface: Reserved Feature Bits}
>  
>  Transitional devices MAY offer the following:
> -- 
> 2.17.0
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: virtio-dev-unsubscribe@lists.oasis-open.org
> For additional commands, e-mail: virtio-dev-help@lists.oasis-open.org

---------------------------------------------------------------------
To unsubscribe, e-mail: virtio-dev-unsubscribe@lists.oasis-open.org
For additional commands, e-mail: virtio-dev-help@lists.oasis-open.org


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [virtio-dev] [PATCH v4] content: support SR-IOV
  2018-05-24 16:49 [virtio-dev] [PATCH v4] content: support SR-IOV Tiwei Bie
  2018-05-29 13:28 ` Michael S. Tsirkin
@ 2018-05-29 13:41 ` Tiwei Bie
  2018-05-29 13:44 ` [virtio-dev] " Cornelia Huck
  2018-06-04 13:01 ` Michael S. Tsirkin
  3 siblings, 0 replies; 6+ messages in thread
From: Tiwei Bie @ 2018-05-29 13:41 UTC (permalink / raw)
  To: mst, cohuck, stefanha, pbonzini, virtio-dev
  Cc: dan.daly, alexander.h.duyck, mark.d.rustad, cunming.liang, zhihong.wang

On Fri, May 25, 2018 at 12:49:51AM +0800, Tiwei Bie wrote:
> Allocate a feature bit for virtio devices which support SR-IOV.
> 
> Suggested-by: Michael S. Tsirkin <mst@redhat.com>
> Signed-off-by: Tiwei Bie <tiwei.bie@intel.com>
> Fixes: https://github.com/oasis-tcs/virtio-spec/issues/11

Please start the voting for this proposal. Thanks!

Best regards,
Tiwei Bie

> ---
> More details can be found from this thread:
> https://patchwork.kernel.org/patch/10285541/
> 
> v3 -> v4:
> - Limit the feature to PCI devices with SR-IOV cap (MST);
> 
> v2 -> v3:
> - Improve the wording (Cornelia);
> 
> v1 -> v2:
> - s/Reserve/Allocate/ (MST);
> - Add a Fixes tag (MST);
> - Be more explicit in driver requirement (MST);
> - Remove the "device MAY fail" description (MST);
> - Rebase on IO_BARRIER patch;
> 
> RFC -> v1:
> - Mention PCI in the description (Cornelia);
> 
>  content.tex | 21 +++++++++++++++++++--
>  1 file changed, 19 insertions(+), 2 deletions(-)
> 
> diff --git a/content.tex b/content.tex
> index c4b3b5c..beec6c1 100644
> --- a/content.tex
> +++ b/content.tex
> @@ -95,10 +95,10 @@ Feature bits are allocated as follows:
>  \begin{description}
>  \item[0 to 23] Feature bits for the specific device type
>  
> -\item[24 to 36] Feature bits reserved for extensions to the queue and
> +\item[24 to 37] Feature bits reserved for extensions to the queue and
>    feature negotiation mechanisms
>  
> -\item[37 and above] Feature bits reserved for future extensions.
> +\item[38 and above] Feature bits reserved for future extensions.
>  \end{description}
>  
>  \begin{note}
> @@ -5365,6 +5365,9 @@ Descriptors} and \ref{sec:Packed Virtqueues / Indirect Flag: Scatter-Gather Supp
>    better performance.  This feature indicates whether
>    a stronger form of barrier suitable for hardware
>    devices is necessary.
> +  \item[VIRTIO_F_SR_IOV(37)] This feature indicates that
> +  the device supports Single Root I/O Virtualization.
> +  Currently only PCI devices support this feature.
>  \end{description}
>  
>  \drivernormative{\section}{Reserved Feature Bits}{Reserved Feature Bits}
> @@ -5384,6 +5387,16 @@ A driver SHOULD accept VIRTIO_F_IO_BARRIER if it is offered.
>  If VIRTIO_F_IO_BARRIER has been negotiated, a driver MUST use
>  the barriers suitable for hardware devices.
>  
> +If VIRTIO_F_SR_IOV has been negotiated, a driver can enable
> +virtual functions through the device's PCI SR-IOV capability
> +structure.  A driver MUST NOT negotiate VIRTIO_F_SR_IOV if
> +the device does not have a PCI SR-IOV capability structure
> +or is not a PCI device.  A driver MUST negotiate
> +VIRTIO_F_SR_IOV and complete the feature negotiation
> +(including setting the DRIVER_OK \field{status} bit) before
> +enabling virtual functions through the device's PCI SR-IOV
> +capability structure.
> +
>  \devicenormative{\section}{Reserved Feature Bits}{Reserved Feature Bits}
>  
>  A device MUST offer VIRTIO_F_VERSION_1.  A device MAY fail to operate further
> @@ -5400,6 +5413,10 @@ buffers in the same order in which they have been available.
>  A device MAY fail to operate further if VIRTIO_F_IO_BARRIER
>  is not accepted.
>  
> +A device SHOULD offer VIRTIO_F_SR_IOV if it is a PCI device
> +and presents a PCI SR-IOV capability structure, otherwise
> +it MUST NOT offer VIRTIO_F_SR_IOV.
> +
>  \section{Legacy Interface: Reserved Feature Bits}\label{sec:Reserved Feature Bits / Legacy Interface: Reserved Feature Bits}
>  
>  Transitional devices MAY offer the following:
> -- 
> 2.17.0
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: virtio-dev-unsubscribe@lists.oasis-open.org
> For additional commands, e-mail: virtio-dev-help@lists.oasis-open.org
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: virtio-dev-unsubscribe@lists.oasis-open.org
For additional commands, e-mail: virtio-dev-help@lists.oasis-open.org


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [virtio-dev] Re: [PATCH v4] content: support SR-IOV
  2018-05-24 16:49 [virtio-dev] [PATCH v4] content: support SR-IOV Tiwei Bie
  2018-05-29 13:28 ` Michael S. Tsirkin
  2018-05-29 13:41 ` Tiwei Bie
@ 2018-05-29 13:44 ` Cornelia Huck
  2018-06-04 13:01 ` Michael S. Tsirkin
  3 siblings, 0 replies; 6+ messages in thread
From: Cornelia Huck @ 2018-05-29 13:44 UTC (permalink / raw)
  To: Tiwei Bie
  Cc: mst, stefanha, pbonzini, virtio-dev, dan.daly, alexander.h.duyck,
	mark.d.rustad, cunming.liang, zhihong.wang

On Fri, 25 May 2018 00:49:51 +0800
Tiwei Bie <tiwei.bie@intel.com> wrote:

> Allocate a feature bit for virtio devices which support SR-IOV.
> 
> Suggested-by: Michael S. Tsirkin <mst@redhat.com>
> Signed-off-by: Tiwei Bie <tiwei.bie@intel.com>
> Fixes: https://github.com/oasis-tcs/virtio-spec/issues/11
> ---
> More details can be found from this thread:
> https://patchwork.kernel.org/patch/10285541/
> 
> v3 -> v4:
> - Limit the feature to PCI devices with SR-IOV cap (MST);
> 
> v2 -> v3:
> - Improve the wording (Cornelia);
> 
> v1 -> v2:
> - s/Reserve/Allocate/ (MST);
> - Add a Fixes tag (MST);
> - Be more explicit in driver requirement (MST);
> - Remove the "device MAY fail" description (MST);
> - Rebase on IO_BARRIER patch;
> 
> RFC -> v1:
> - Mention PCI in the description (Cornelia);
> 
>  content.tex | 21 +++++++++++++++++++--
>  1 file changed, 19 insertions(+), 2 deletions(-)

Acked-by: Cornelia Huck <cohuck@redhat.com>

---------------------------------------------------------------------
To unsubscribe, e-mail: virtio-dev-unsubscribe@lists.oasis-open.org
For additional commands, e-mail: virtio-dev-help@lists.oasis-open.org


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [virtio-dev] Re: [PATCH v4] content: support SR-IOV
  2018-05-24 16:49 [virtio-dev] [PATCH v4] content: support SR-IOV Tiwei Bie
                   ` (2 preceding siblings ...)
  2018-05-29 13:44 ` [virtio-dev] " Cornelia Huck
@ 2018-06-04 13:01 ` Michael S. Tsirkin
  2018-06-05  1:30   ` Tiwei Bie
  3 siblings, 1 reply; 6+ messages in thread
From: Michael S. Tsirkin @ 2018-06-04 13:01 UTC (permalink / raw)
  To: Tiwei Bie
  Cc: cohuck, stefanha, pbonzini, virtio-dev, dan.daly,
	alexander.h.duyck, mark.d.rustad, cunming.liang, zhihong.wang

On Fri, May 25, 2018 at 12:49:51AM +0800, Tiwei Bie wrote:
> Allocate a feature bit for virtio devices which support SR-IOV.
> 
> Suggested-by: Michael S. Tsirkin <mst@redhat.com>
> Signed-off-by: Tiwei Bie <tiwei.bie@intel.com>
> Fixes: https://github.com/oasis-tcs/virtio-spec/issues/11

I have a question on this: how exactly is reset handled?
Does reset disable IOV?

> ---
> More details can be found from this thread:
> https://patchwork.kernel.org/patch/10285541/
> 
> v3 -> v4:
> - Limit the feature to PCI devices with SR-IOV cap (MST);
> 
> v2 -> v3:
> - Improve the wording (Cornelia);
> 
> v1 -> v2:
> - s/Reserve/Allocate/ (MST);
> - Add a Fixes tag (MST);
> - Be more explicit in driver requirement (MST);
> - Remove the "device MAY fail" description (MST);
> - Rebase on IO_BARRIER patch;
> 
> RFC -> v1:
> - Mention PCI in the description (Cornelia);
> 
>  content.tex | 21 +++++++++++++++++++--
>  1 file changed, 19 insertions(+), 2 deletions(-)
> 
> diff --git a/content.tex b/content.tex
> index c4b3b5c..beec6c1 100644
> --- a/content.tex
> +++ b/content.tex
> @@ -95,10 +95,10 @@ Feature bits are allocated as follows:
>  \begin{description}
>  \item[0 to 23] Feature bits for the specific device type
>  
> -\item[24 to 36] Feature bits reserved for extensions to the queue and
> +\item[24 to 37] Feature bits reserved for extensions to the queue and
>    feature negotiation mechanisms
>  
> -\item[37 and above] Feature bits reserved for future extensions.
> +\item[38 and above] Feature bits reserved for future extensions.
>  \end{description}
>  
>  \begin{note}
> @@ -5365,6 +5365,9 @@ Descriptors} and \ref{sec:Packed Virtqueues / Indirect Flag: Scatter-Gather Supp
>    better performance.  This feature indicates whether
>    a stronger form of barrier suitable for hardware
>    devices is necessary.
> +  \item[VIRTIO_F_SR_IOV(37)] This feature indicates that
> +  the device supports Single Root I/O Virtualization.
> +  Currently only PCI devices support this feature.
>  \end{description}
>  
>  \drivernormative{\section}{Reserved Feature Bits}{Reserved Feature Bits}
> @@ -5384,6 +5387,16 @@ A driver SHOULD accept VIRTIO_F_IO_BARRIER if it is offered.
>  If VIRTIO_F_IO_BARRIER has been negotiated, a driver MUST use
>  the barriers suitable for hardware devices.
>  
> +If VIRTIO_F_SR_IOV has been negotiated, a driver can enable
> +virtual functions through the device's PCI SR-IOV capability
> +structure.  A driver MUST NOT negotiate VIRTIO_F_SR_IOV if
> +the device does not have a PCI SR-IOV capability structure
> +or is not a PCI device.  A driver MUST negotiate
> +VIRTIO_F_SR_IOV and complete the feature negotiation
> +(including setting the DRIVER_OK \field{status} bit) before
> +enabling virtual functions through the device's PCI SR-IOV
> +capability structure.
> +
>  \devicenormative{\section}{Reserved Feature Bits}{Reserved Feature Bits}
>  
>  A device MUST offer VIRTIO_F_VERSION_1.  A device MAY fail to operate further
> @@ -5400,6 +5413,10 @@ buffers in the same order in which they have been available.
>  A device MAY fail to operate further if VIRTIO_F_IO_BARRIER
>  is not accepted.
>  
> +A device SHOULD offer VIRTIO_F_SR_IOV if it is a PCI device
> +and presents a PCI SR-IOV capability structure, otherwise
> +it MUST NOT offer VIRTIO_F_SR_IOV.
> +
>  \section{Legacy Interface: Reserved Feature Bits}\label{sec:Reserved Feature Bits / Legacy Interface: Reserved Feature Bits}
>  
>  Transitional devices MAY offer the following:
> -- 
> 2.17.0

---------------------------------------------------------------------
To unsubscribe, e-mail: virtio-dev-unsubscribe@lists.oasis-open.org
For additional commands, e-mail: virtio-dev-help@lists.oasis-open.org


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [virtio-dev] Re: [PATCH v4] content: support SR-IOV
  2018-06-04 13:01 ` Michael S. Tsirkin
@ 2018-06-05  1:30   ` Tiwei Bie
  0 siblings, 0 replies; 6+ messages in thread
From: Tiwei Bie @ 2018-06-05  1:30 UTC (permalink / raw)
  To: Michael S. Tsirkin
  Cc: cohuck, stefanha, pbonzini, virtio-dev, dan.daly,
	alexander.h.duyck, mark.d.rustad, cunming.liang, zhihong.wang

On Mon, Jun 04, 2018 at 04:01:56PM +0300, Michael S. Tsirkin wrote:
> On Fri, May 25, 2018 at 12:49:51AM +0800, Tiwei Bie wrote:
> > Allocate a feature bit for virtio devices which support SR-IOV.
> > 
> > Suggested-by: Michael S. Tsirkin <mst@redhat.com>
> > Signed-off-by: Tiwei Bie <tiwei.bie@intel.com>
> > Fixes: https://github.com/oasis-tcs/virtio-spec/issues/11
> 
> I have a question on this: how exactly is reset handled?
> Does reset disable IOV?

I think a reset doesn't have to disable IOV. Because PF
and VFs are managed by PCI core. They are independent
from the driver's point of view. Once VFs are allocated,
PF and VFs can be bound to different drivers and used
independently. So a driver reset on PF doesn't have to
disable IOV. The proposal is just to provide a feature
bit based virtio way for virtio drivers to know whether
a virtio device is SR-IOV capable (and virtio drivers
can support configuring SR-IOV based on the feature bit
negotiation result).

Best regards,
Tiwei Bie

> 
> > ---
> > More details can be found from this thread:
> > https://patchwork.kernel.org/patch/10285541/
> > 
> > v3 -> v4:
> > - Limit the feature to PCI devices with SR-IOV cap (MST);
> > 
> > v2 -> v3:
> > - Improve the wording (Cornelia);
> > 
> > v1 -> v2:
> > - s/Reserve/Allocate/ (MST);
> > - Add a Fixes tag (MST);
> > - Be more explicit in driver requirement (MST);
> > - Remove the "device MAY fail" description (MST);
> > - Rebase on IO_BARRIER patch;
> > 
> > RFC -> v1:
> > - Mention PCI in the description (Cornelia);
> > 
> >  content.tex | 21 +++++++++++++++++++--
> >  1 file changed, 19 insertions(+), 2 deletions(-)
> > 
> > diff --git a/content.tex b/content.tex
> > index c4b3b5c..beec6c1 100644
> > --- a/content.tex
> > +++ b/content.tex
> > @@ -95,10 +95,10 @@ Feature bits are allocated as follows:
> >  \begin{description}
> >  \item[0 to 23] Feature bits for the specific device type
> >  
> > -\item[24 to 36] Feature bits reserved for extensions to the queue and
> > +\item[24 to 37] Feature bits reserved for extensions to the queue and
> >    feature negotiation mechanisms
> >  
> > -\item[37 and above] Feature bits reserved for future extensions.
> > +\item[38 and above] Feature bits reserved for future extensions.
> >  \end{description}
> >  
> >  \begin{note}
> > @@ -5365,6 +5365,9 @@ Descriptors} and \ref{sec:Packed Virtqueues / Indirect Flag: Scatter-Gather Supp
> >    better performance.  This feature indicates whether
> >    a stronger form of barrier suitable for hardware
> >    devices is necessary.
> > +  \item[VIRTIO_F_SR_IOV(37)] This feature indicates that
> > +  the device supports Single Root I/O Virtualization.
> > +  Currently only PCI devices support this feature.
> >  \end{description}
> >  
> >  \drivernormative{\section}{Reserved Feature Bits}{Reserved Feature Bits}
> > @@ -5384,6 +5387,16 @@ A driver SHOULD accept VIRTIO_F_IO_BARRIER if it is offered.
> >  If VIRTIO_F_IO_BARRIER has been negotiated, a driver MUST use
> >  the barriers suitable for hardware devices.
> >  
> > +If VIRTIO_F_SR_IOV has been negotiated, a driver can enable
> > +virtual functions through the device's PCI SR-IOV capability
> > +structure.  A driver MUST NOT negotiate VIRTIO_F_SR_IOV if
> > +the device does not have a PCI SR-IOV capability structure
> > +or is not a PCI device.  A driver MUST negotiate
> > +VIRTIO_F_SR_IOV and complete the feature negotiation
> > +(including setting the DRIVER_OK \field{status} bit) before
> > +enabling virtual functions through the device's PCI SR-IOV
> > +capability structure.
> > +
> >  \devicenormative{\section}{Reserved Feature Bits}{Reserved Feature Bits}
> >  
> >  A device MUST offer VIRTIO_F_VERSION_1.  A device MAY fail to operate further
> > @@ -5400,6 +5413,10 @@ buffers in the same order in which they have been available.
> >  A device MAY fail to operate further if VIRTIO_F_IO_BARRIER
> >  is not accepted.
> >  
> > +A device SHOULD offer VIRTIO_F_SR_IOV if it is a PCI device
> > +and presents a PCI SR-IOV capability structure, otherwise
> > +it MUST NOT offer VIRTIO_F_SR_IOV.
> > +
> >  \section{Legacy Interface: Reserved Feature Bits}\label{sec:Reserved Feature Bits / Legacy Interface: Reserved Feature Bits}
> >  
> >  Transitional devices MAY offer the following:
> > -- 
> > 2.17.0

---------------------------------------------------------------------
To unsubscribe, e-mail: virtio-dev-unsubscribe@lists.oasis-open.org
For additional commands, e-mail: virtio-dev-help@lists.oasis-open.org


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2018-06-05  1:30 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-05-24 16:49 [virtio-dev] [PATCH v4] content: support SR-IOV Tiwei Bie
2018-05-29 13:28 ` Michael S. Tsirkin
2018-05-29 13:41 ` Tiwei Bie
2018-05-29 13:44 ` [virtio-dev] " Cornelia Huck
2018-06-04 13:01 ` Michael S. Tsirkin
2018-06-05  1:30   ` Tiwei Bie

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.