From 86775fe561f39f7f61bd72793337f133fb1daeaa Mon Sep 17 00:00:00 2001 From: rusty Date: Wed, 26 Feb 2014 03:19:34 +0000 Subject: Feedback: hoist the one legacy-related requirement out of legacy section. This requirement applies to any system which *did* have legacy drivers. Signed-off-by: Rusty Russell git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@262 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652 --- content.tex | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) (limited to 'content.tex') diff --git a/content.tex b/content.tex index 2aa3aac..be9f176 100644 --- a/content.tex +++ b/content.tex @@ -1295,6 +1295,20 @@ As a prerequisite to device initialization, the driver scans the PCI capability list, detecting virtio configuration layout using Virtio Structure PCI capabilities. +\paragraph{Non-transitional Device With Legacy Driver}\label{sec:Virtio Transport Options / Virtio Over PCI Bus / PCI-specific Initialization And Device Operation / Device Initialization / Non-transitional Device With Legacy Driver} + +Non-transitional devices, on a platform where a legacy driver for +a legacy device with the same ID might have previously existed, +MUST take the following steps to fail gracefully when a legacy +driver attempts to drive them: + +\begin{enumerate} +\item Present an I/O BAR in BAR0, and +\item Respond to a single-byte zero write to offset 18 + (corresponding to Device Status register in the legacy layout) + of BAR0 by presenting zeroes on every BAR and ignoring writes. +\end{enumerate} + \subparagraph{Legacy Interface: A Note on Device Layout Detection}\label{sec:Virtio Transport Options / Virtio Over PCI Bus / PCI-specific Initialization And Device Operation / Device Initialization / Virtio Device Configuration Layout Detection / Legacy Interface: A Note on Device Layout Detection} Legacy drivers skipped the Device Layout Detection step, assuming legacy @@ -1317,18 +1331,6 @@ Capabilities on the capability list. If these are not present, driver should assume a legacy device, and fail gracefully. -Non-transitional devices, on a platform where a legacy driver for -a legacy device with the same ID might have previously existed, -MUST take the following steps to fail gracefully when a legacy -driver attempts to drive them: - -\begin{enumerate} -\item Present an I/O BAR in BAR0, and -\item Respond to a single-byte zero write to offset 18 - (corresponding to Device Status register in the legacy layout) - of BAR0 by presenting zeroes on every BAR and ignoring writes. -\end{enumerate} - \paragraph{MSI-X Vector Configuration}\label{sec:Virtio Transport Options / Virtio Over PCI Bus / PCI-specific Initialization And Device Operation / Device Initialization / MSI-X Vector Configuration} When MSI-X capability is present and enabled in the device -- cgit v1.2.3