OASIS Virtual I/O Device (VIRTIO) TC

 View Only
  • 1.  [PATCH 0/3] ccw: indicator handling

    Posted 02-13-2017 09:29
    A couple of fixes/enhancements for indicator handling in the ccw transport. Cornelia Huck (3): ccw: classic indicator device conformance ccw: no classic indicators for > 64 virtqueues ccw: clarify indicator requirements conformance.tex 2 ++ content.tex 12 ++++++++++++ 2 files changed, 14 insertions(+) -- 2.11.0


  • 2.  [PATCH 1/3] ccw: classic indicator device conformance

    Posted 02-13-2017 09:29
    We specify that the device MUST reject setting up classic indicators after two-stage indicators have been setup, which is clearly a device conformance statement but isn't actually listed as one. Fix this. VIRTIO-157 Reviewed-by: Halil Pasic <pasic@linux.vnet.ibm.com> Reviewed-by: Pierre Morel <pmorel@linux.vnet.ibm.com> Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com> --- conformance.tex 1 + content.tex 1 + 2 files changed, 2 insertions(+) diff --git a/conformance.tex b/conformance.tex index f59e360..ca08486 100644 --- a/conformance.tex +++ b/conformance.tex @@ -200,6 +200,7 @@ A Channel I/O device MUST conform to the following normative statements: item
    ef{devicenormative:Virtio Transport Options / Virtio over channel I/O / Device Initialization / Setting the Virtio Revision} item
    ef{devicenormative:Virtio Transport Options / Virtio over channel I/O / Device Initialization / Configuring a Virtqueue} item
    ef{devicenormative:Virtio Transport Options / Virtio over channel I/O / Device Initialization / Communicating Status Information} +item
    ef{devicenormative:Virtio Transport Options / Virtio over channel I/O / Device Initialization / Setting Up Indicators / Setting Up Classic Queue Indicators} item
    ef{devicenormative:Virtio Transport Options / Virtio over channel I/O / Device Initialization / Setting Up Indicators / Setting Up Two-Stage Queue Indicators} item
    ef{devicenormative:Virtio Transport Options / Virtio over channel I/O / Device Operation / Host->Guest Notification / Notification via Adapter I/O Interrupts} item
    ef{devicenormative:Virtio Transport Options / Virtio over channel I/O / Device Operation / Guest->Host Notification} diff --git a/content.tex b/content.tex index 546bef7..657b9cd 100644 --- a/content.tex +++ b/content.tex @@ -2787,6 +2787,7 @@ notification, the driver uses the CCW_CMD_SET_IND command, pointing to a location containing the guest address of the indicators in a 64 bit value. +devicenormative{subparagraph}{Setting Up Classic Queue Indicators}{Virtio Transport Options / Virtio over channel I/O / Device Initialization / Setting Up Indicators / Setting Up Classic Queue Indicators} If the driver has already set up two-staged queue indicators via the CCW_CMD_SET_IND_ADAPTER command, the device MUST post a unit check with command reject to any subsequent CCW_CMD_SET_IND command. -- 2.11.0


  • 3.  [PATCH 2/3] ccw: no classic indicators for > 64 virtqueues

    Posted 02-13-2017 09:29
    If classic indicators are setup, the device can only notify the driver for the first 64 virtqueues. To avoid problems, simply disallow classic indicators for devices with more than 64 queues. VIRTIO-132 Reviewed-by: Pierre Morel <pmorel@linux.vnet.ibm.com> Reviewed-by: Halil Pasic <pasic@linux.vnet.ibm.com> Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com> --- content.tex 5 +++++ 1 file changed, 5 insertions(+) diff --git a/content.tex b/content.tex index 657b9cd..4abd4eb 100644 --- a/content.tex +++ b/content.tex @@ -2792,6 +2792,11 @@ If the driver has already set up two-staged queue indicators via the CCW_CMD_SET_IND_ADAPTER command, the device MUST post a unit check with command reject to any subsequent CCW_CMD_SET_IND command. +If the device cannot notify the driver for all of the queues it +provides via classic queue indicators (i.e. if it provides more than +64 queues), it MUST post a unit check with command reject to +CCW_CMD_SET_IND. + paragraph{Setting Up Configuration Change Indicators}label{sec:Virtio Transport Options / Virtio over channel I/O / Device Initialization / Setting Up Indicators / Setting Up Configuration Change Indicators} Indicators for configuration change host->guest notification are -- 2.11.0


  • 4.  [PATCH 3/3] ccw: clarify indicator requirements

    Posted 02-13-2017 09:29
    The driver must set up its two-state indicators in a way that the device can set indicator bits for every queue it provides. Better be clear about that and make it an explicit requirement. VIRTIO-158 Reviewed-by: Pierre Morel <pmorel@linux.vnet.ibm.com> Reviewed-by: Halil Pasic <pasic@linux.vnet.ibm.com> Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com> --- conformance.tex 1 + content.tex 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/conformance.tex b/conformance.tex index ca08486..fe80201 100644 --- a/conformance.tex +++ b/conformance.tex @@ -80,6 +80,7 @@ A Channel I/O driver MUST conform to the following normative statements: item
    ef{drivernormative:Virtio Transport Options / Virtio over channel I/O / Basic Concepts} item
    ef{drivernormative:Virtio Transport Options / Virtio over channel I/O / Device Initialization / Setting the Virtio Revision} item
    ef{drivernormative:Virtio Transport Options / Virtio over channel I/O / Device Initialization / Communicating Status Information} +item
    ef{drivernormative:Virtio Transport Options / Virtio over channel I/O / Device Initialization / Setting Up Indicators / Setting Up Two-Stage Queue Indicators} item
    ef{drivernormative:Virtio Transport Options / Virtio over channel I/O / Device Operation / Host->Guest Notification / Notification via Adapter I/O Interrupts} item
    ef{drivernormative:Virtio Transport Options / Virtio over channel I/O / Device Operation / Guest->Host Notification} end{itemize} diff --git a/content.tex b/content.tex index 4abd4eb..0b16fd8 100644 --- a/content.tex +++ b/content.tex @@ -2849,6 +2849,12 @@ If the driver has already set up classic queue indicators via the CCW_CMD_SET_IND command, the device MUST post a unit check with command reject to any subsequent CCW_CMD_SET_IND_ADAPTER command. +drivernormative{subparagraph}{Setting Up Two-Stage Queue Indicators}{Virtio Transport Options / Virtio over channel I/O / Device Initialization / Setting Up Indicators / Setting Up Two-Stage Queue Indicators} +The driver MUST ensure that both the summary indicator and the device +indicator area are writeable by the device. In particular, the driver +MUST ensure that a device indicator bit is writeable for each virtqueue +that the device provides. + paragraph{Legacy Interfaces: A Note on Setting Up Indicators}label{sec:Virtio Transport Options / Virtio over channel I/O / Device Initialization / Setting Up Indicators / Legacy Interfaces: A Note on Setting Up Indicators} In some cases, legacy devices will only support classic queue indicators; -- 2.11.0


  • 5.  Re: [virtio] [PATCH 0/3] ccw: indicator handling

    Posted 02-16-2017 13:10
    On Mon, 13 Feb 2017 10:28:26 +0100
    Cornelia Huck <cornelia.huck@de.ibm.com> wrote:

    > A couple of fixes/enhancements for indicator handling in the ccw
    > transport.
    >
    > Cornelia Huck (3):
    > ccw: classic indicator device conformance
    > ccw: no classic indicators for > 64 virtqueues
    > ccw: clarify indicator requirements
    >
    > conformance.tex | 2 ++
    > content.tex | 12 ++++++++++++
    > 2 files changed, 14 insertions(+)
    >

    If nobody has strong opinions on this, I'm inclined to just open the
    issues to get the voting process started.




  • 6.  Re: [virtio] [PATCH 0/3] ccw: indicator handling

    Posted 02-16-2017 13:10
    On Mon, 13 Feb 2017 10:28:26 +0100 Cornelia Huck <cornelia.huck@de.ibm.com> wrote: > A couple of fixes/enhancements for indicator handling in the ccw > transport. > > Cornelia Huck (3): > ccw: classic indicator device conformance > ccw: no classic indicators for > 64 virtqueues > ccw: clarify indicator requirements > > conformance.tex 2 ++ > content.tex 12 ++++++++++++ > 2 files changed, 14 insertions(+) > If nobody has strong opinions on this, I'm inclined to just open the issues to get the voting process started.