OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

virtio message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: [PATCH 4/4] ccw: allow WRITE_STATUS to fail


We want to be able to reject a status (e.g. FEATURES_OK if the device
can't work with the features negotiated). The easiest way to do that
is to allow the device to fail the WRITE_STATUS command.

VIRTIO-116

Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
---
 conformance.tex |    2 ++
 content.tex     |   15 +++++++++++++++
 2 files changed, 17 insertions(+)

diff --git a/conformance.tex b/conformance.tex
index b10ce96..aff92f1 100644
--- a/conformance.tex
+++ b/conformance.tex
@@ -79,6 +79,7 @@ A Channel I/O driver MUST conform to the following normative statements:
 \begin{itemize}
 \item \ref{drivernormative:Virtio Transport Options / Virtio over channel I/O / Basic Concepts}
 \item \ref{drivernormative:Virtio Transport Options / Virtio over channel I/O / Device Initialization / Setting the Virtio Revision}
+\item \ref{drivernormative:Virtio Transport Options / Virtio over channel I/O / Device Initialization / Communicating Status Information}
 \item \ref{drivernormative:Virtio Transport Options / Virtio over channel I/O / Device Operation / Host->Guest Notification / Notification via Adapter I/O Interrupts}
 \item \ref{drivernormative:Virtio Transport Options / Virtio over channel I/O / Device Operation / Guest->Host Notification}
 \end{itemize}
@@ -182,6 +183,7 @@ A Channel I/O device MUST conform to the following normative statements:
 \item \ref{devicenormative:Virtio Transport Options / Virtio over channel I/O / Basic Concepts}
 \item \ref{devicenormative:Virtio Transport Options / Virtio over channel I/O / Device Initialization / Setting the Virtio Revision}
 \item \ref{devicenormative:Virtio Transport Options / Virtio over channel I/O / Device Initialization / Configuring a Virtqueue}
+\item \ref{devicenormative:Virtio Transport Options / Virtio over channel I/O / Device Initialization / Communicating Status Information}
 \item \ref{devicenormative:Virtio Transport Options / Virtio over channel I/O / Device Initialization / Handling Device Features}
 \item \ref{devicenormative:Virtio Transport Options / Virtio over channel I/O / Device Initialization / Setting Up Indicators / Setting Up Two-Stage Queue Indicators}
 \item \ref{devicenormative:Virtio Transport Options / Virtio over channel I/O / Device Operation / Host->Guest Notification / Notification via Adapter I/O Interrupts}
diff --git a/content.tex b/content.tex
index 38ae49e..490823e 100644
--- a/content.tex
+++ b/content.tex
@@ -2627,6 +2627,21 @@ The driver changes the status of a device via the
 CCW_CMD_WRITE_STATUS command, which transmits an 8 bit status
 value.
 
+The device is allowed to reject a status: For example, it might fail to accept
+the FEATURES_OK status bit during device initialization.
+
+\drivernormative{\paragraph}{Communicating Status Information}{Virtio Transport Options / Virtio over channel I/O / Device Initialization / Communicating Status Information}
+
+If the device posts a unit check with command reject in response to the
+CCW_CMD_WRITE_STATUS command, the driver MUST assume that the status field
+retained its previous value.
+
+\devicenormative{\paragraph}{Communicating Status Information}{Virtio Transport Options / Virtio over channel I/O / Device Initialization / Communicating Status Information}
+
+If the driver attempts to set a status that the device does not accept, the
+device MUST leave the status field unchanged and MUST post a unit check
+with command reject.
+
 \subsubsection{Handling Device Features}\label{sec:Virtio Transport Options / Virtio over channel I/O / Device Initialization / Handling Device Features}
 
 Feature bits are arranged in an array of 32 bit values, making
-- 
1.7.9.5



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]