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

 


Help: OASIS Mailing Lists Help | MarkMail Help

virtio message

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


Subject: Re: [virtio] [OASIS Issue Tracker] Updated: (VIRTIO-16) Allow anyone to whql their windows drivers


OASIS Issues Tracker <workgroup_mailer@lists.oasis-open.org> writes:
>      [ http://tools.oasis-open.org/issues/browse/VIRTIO-16?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
>
> Michael Tsirkin updated VIRTIO-16:
> ----------------------------------
>
>     Summary: Allow anyone to whql their windows drivers  (was: Use independently controlled PCI ID)
>
> the issue is whql specifically, corrected title to say just that

OK, not sure if subvendors can WHQL drivers.  If they can, we can simply
make the following change.  If not, we may need to come up with some
alternate scheme (yech, such as using the Qumranet ID as subvendor).

commit 3d16a4484bbd1a00b9186450296d6b4079308b08
Author: Rusty Russell <rusty@au1.ibm.com>
Date:   Thu Oct 24 14:24:00 2013 +1030

    2.3.1.1: PCI device discovery.
    
    More accurately reflect the standard PCI vendor / subsytem vendor
    relationship.  ie. the vendor is Qumranet, and id is the type (offset by
    0x1000).
    
    But the subvendor/subid is for the actual implementor.
    
    Signed-off-by: Rusty Russell <rusty@au1.ibm.com>

diff --git a/virtio-v1.0-wd01-part1-specification.txt b/virtio-v1.0-wd01-part1-specification.txt
index ce79c05..1729bd2 100644
--- a/virtio-v1.0-wd01-part1-specification.txt
+++ b/virtio-v1.0-wd01-part1-specification.txt
@@ -753,15 +753,19 @@ Virtio devices are commonly implemented as PCI devices.
 ----------------------------
 
 Any PCI device with Vendor ID 0x1AF4, and Device ID 0x1000 through
-0x103F inclusive is a virtio device[3].
+0x103F inclusive is a virtio device.  The device type is encoded in
+the Device ID, such that 0x1001 is device type 1, etc.
 
-The Subsystem Device ID indicates which virtio device is
-supported by the device. The Subsystem Vendor ID should reflect
-the PCI Vendor ID of the environment (it's currently only used
-for informational purposes by the guest).
+The Subsystem Device ID and Subsystem Vendor IDs reflect the
+particular device (ie. the specific implementor of the device).
 
 2.3.1.1.1 Legacy Interfaces: A Note on PCI Device Discovery
 -------------------------
+
+Legacy devices used the Subsystem Vendor ID as the device type.
+The Device ID had to be 0x1000 through 0x103F inclusive, but the actual
+value within that range was ignored.
+
 Transitional devices must also have a Revision ID of 0 to match
 this specification.
 
@@ -3572,8 +3576,6 @@ inter-guest communication) requires copying.
 from the specific virtio drivers: these drivers are shared with
 the non-PCI implementations (currently lguest and S/390).
 
-[3] The actual value within this range is ignored
-
 [6] The 4096 is based on the x86 page size, but it's also large
 enough to ensure that the separate parts of the virtqueue are on
 separate cache lines.



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