[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 <firstname.lastname@example.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 <email@example.com> Date: Thu Oct 24 14:24:00 2013 +1030 22.214.171.124: 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 <firstname.lastname@example.org> 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. +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). 126.96.36.199.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). - The actual value within this range is ignored -  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.