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

 


Help: OASIS Mailing Lists Help | MarkMail Help

virtio-comment message

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


Subject: [PATCH v7 03/13] capabilities: Add theory of operation for capabilities


Device capabilities indicate supported functionalities and
resources of the device to the driver.

Driver capabilities indicate functionalities and resources which
driver will be using. Driver capabilities are subset of the device
capabilities.

Add theory of operation describing it.

Fixes: https://github.com/oasis-tcs/virtio-spec/issues/179
Signed-off-by: Parav Pandit <parav@nvidia.com>
---
 capabilities.tex | 40 ++++++++++++++++++++++++++++++++++++++++
 content.tex      |  1 +
 2 files changed, 41 insertions(+)
 create mode 100644 capabilities.tex

diff --git a/capabilities.tex b/capabilities.tex
new file mode 100644
index 0000000..c375089
--- /dev/null
+++ b/capabilities.tex
@@ -0,0 +1,40 @@
+\section{Device and Driver Capabilities}\label{sec:Basic Facilities of a Virtio Device / Device and Driver Capabilities}
+
+Device capabilities indicate supported functionalities and
+resources of the device. Each device capability is identified by its
+unique identifier.The driver uses the administration command to read
+the device capabilities. The device indicates supported capabilities to the
+driver as a bitmap of identifiers. The driver uses the administration command
+to read the supported capabilities bitmap.
+
+The driver writes the capabilities in the device before performing any operation
+related to the capabilities. The driver uses the administration command to write
+the driver capabilities thereby either enable or disable a certain
+device functionality. The driver can write the capabilities at any time
+as long as there is no pending operation in progress at the device level related
+to the capability.
+
+For a defined device capability identifier, the device capability fields do not
+grow. A new capability should be added with a new identifier when a adding a
+device functionality or when extending the existing device functionality.
+This ensures backward and forward compatibility between the driver and the
+device as well as logical separation of related capabilities.
+
+The device capabilities are divided into two ranges by the identifiers
+as listed:
+
+\begin{tabularx}{\textwidth}{ |l|X| }
+\hline
+Identifier & Description  \\
+\hline \hline
+0x0000-0x07ff & Generic capabilities for all device types \\
+\hline
+0x0800-0x0fff & Device type specific capabilities \\
+\hline
+0x1000 - 0xFFFF & Reserved for future \\
+\hline
+\end{tabularx}
+
+Whichever device supports the device specific capabilities, such
+capabilities are described in the respective \field{Device and Driver Capabilities}
+section of the device.
diff --git a/content.tex b/content.tex
index 98b9c31..4938fc0 100644
--- a/content.tex
+++ b/content.tex
@@ -502,6 +502,7 @@ \section{Exporting Objects}\label{sec:Basic Facilities of a Virtio Device / Expo
 types. It is RECOMMENDED that devices generate version 4
 UUIDs as specified by \hyperref[intro:rfc4122]{[RFC4122]}.
 
+\input{capabilities.tex}
 \input{admin.tex}
 
 \chapter{General Initialization And Device Operation}\label{sec:General Initialization And Device Operation}
-- 
2.34.1



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