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

 


Help: OASIS Mailing Lists Help | MarkMail Help

virtio-dev message

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


Subject: [PATCH 10/10] PCI: explicitly document ISR status field


Feedback on ISR status register:
	It would be helpful if this section provided the meaning of each
	bit in the register.

ISR use is scattered all around the place.
Add a section describing the format and semantics.

Cc: Arun Subbarao <asubbarao@lnxw.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
---
 content.tex | 24 +++++++++++++++++++++---
 1 file changed, 21 insertions(+), 3 deletions(-)

diff --git a/content.tex b/content.tex
index 1ae41e2..c00a1a9 100644
--- a/content.tex
+++ b/content.tex
@@ -1117,15 +1117,33 @@ For all queues, the value \field{cap.length} presented by the device MUST satist
 \subsubsection{ISR status capability}\label{sec:Virtio Transport Options / Virtio Over PCI Bus / PCI Device Layout / ISR status capability}
 
 The device MUST present at least one VIRTIO_PCI_CAP_ISR_CFG capability.  This
-refers to at least a single byte, which contains the 8-bit ISR status field:
+refers to at least a single byte, which contains the 8-bit ISR status field.
+
+The \field{offset} for the ISR status has no specific alignment requirements.
+
+\subsection{ISR status field}\label{sec:Virtio Transport Options / Virtio Over PCI Bus / PCI Device Layout / ISR status field}
+
+\field{ISR status} is used for INT#x interrupt handling.
+Driver MUST NOT access \field{ISR status} when MSI-X capability
+is enabled.
+
 \begin{lstlisting}
 #define VIRTIO_PCI_ISR_VQ       0x1
 #define VIRTIO_PCI_ISR_CONFIG   0x2
 \end{lstlisting}
 
-See sections \ref{sec:Virtio Transport Options / Virtio Over PCI Bus / PCI-specific Initialization And Device Operation / Virtqueue Interrupts From The Device} and \ref{sec:Virtio Transport Options / Virtio Over PCI Bus / PCI-specific Initialization And Device Operation / Notification of Device Configuration Changes} for how this is used.
+If MSI-X capability is disabled, device MUST set Interrupt Status
+bit in the PCI Status register in the PCI Configuration Header of
+the device to the logical OR of all bits in \field{ISR status} of
+the device.  Device then asserts/deasserts INT#x interrupts unless masked
+according to standard PCI rules \hyperref[intro:PCI]{[PCI]}.
 
-The \field{offset} for the ISR status has no specific alignment requirements.
+Device MUST reset \field{ISR status} to 0 on read.
+
+In this way, driver read of \field{ISR status} can causes the device to de-assert
+an interrupt.
+
+See sections \ref{sec:Virtio Transport Options / Virtio Over PCI Bus / PCI-specific Initialization And Device Operation / Virtqueue Interrupts From The Device} and \ref{sec:Virtio Transport Options / Virtio Over PCI Bus / PCI-specific Initialization And Device Operation / Notification of Device Configuration Changes} for how this is used.
 
 \subsubsection{Device specific structure}\label{sec:Virtio Transport Options / Virtio Over PCI Bus / PCI Device Layout / Device specific structure}
 
-- 
MST



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