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