From d0a31aef264b81165af16007b272c2b985edafb4 Mon Sep 17 00:00:00 2001 From: mstsirkin Date: Sun, 10 Nov 2013 11:35:04 +0000 Subject: pci: a note on non-transitional devices Add a note documenting handling legacy drivers for non transitional devices. VIRTIO-34 Accepted Nov 5, 2013 https://lists.oasis-open.org/archives/virtio/201311/msg00031.html Signed-off-by: Michael S. Tsirkin git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@89 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652 --- virtio-v1.0-wd01-part1-specification.txt | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/virtio-v1.0-wd01-part1-specification.txt b/virtio-v1.0-wd01-part1-specification.txt index 22aaed5..734bbf4 100644 --- a/virtio-v1.0-wd01-part1-specification.txt +++ b/virtio-v1.0-wd01-part1-specification.txt @@ -1167,7 +1167,22 @@ space in BAR0. Transitional drivers should look for the Virtio PCI Capabilities on the capability list. -If there are not present, driver should assume a legacy device. +If these are not present, driver should assume a legacy device. + +Non-transitional drivers should look for the Virtio PCI +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: + +1) Present an I/O BAR in BAR0, and +2) 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. 2.3.1.3.1.1. Queue Vector Configuration -------------------------------------- -- cgit v1.2.3