[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]