diff options
author | rusty <rusty@0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652> | 2014-06-05 06:44:53 +0000 |
---|---|---|
committer | rusty <rusty@0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652> | 2014-06-05 06:44:53 +0000 |
commit | fffcbe327c69e510239fff5627034aa2ab4b2d84 (patch) | |
tree | 30120c45b0007fafeb048aa06c998027b72c2559 /virtio-ring.h | |
parent | 6a83c1d41748dd79ec16c7faaa44bed904d79879 (diff) |
pci: switch from subsystem id to device id
Switch virtio pci to use standard device id instead of using the
subsystem id.
Unfortunately, there's no system to the way KVM allocated
device IDs to virtio devices, we'll just have to
specify these using a table, and use a new range for
future devices. For existing devices this results in
two possible IDs that all drivers will need to match.
Unfortunate, but the cost is small.
As a nice side effect, this allows us to make non-transitional
devices use IDs 0x40 and up, this reduces even further the
chance that a non transitional device will match legacy drivers.
And, it's probably a good idea to allow drivers to match
specific subsystem IDs if they
want to, so relax requirement for drivers to match all
subsystem/vendor ID configurations, but allow them to do so.
To avoid confusion, say "PCI Device ID" and
"PCI Subsystem ID" everywhere, prefix "PCI"
for other standard registers, for consistency.
VIRTIO-102
Note: issue reporter suggested 0x10XX where XX is the virtio
device ID. This would conflict with legacy devices, which seem
to have used 7 IDs in the range 0x1000 to 0x103f without any
system. Let's use a new range 0x1040 to 0x107f for
non-transitional devices, and add a table documenting the
transitional IDs used by in practice.
(Approved at 2014-06-04 meeting:
https://lists.oasis-open.org/archives/virtio/201406/msg00013.html )
Cc: Andrew Thornton <andrewth@google.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Rusty Russell <rusty@au1.ibm.com>
git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@376 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
Diffstat (limited to 'virtio-ring.h')
0 files changed, 0 insertions, 0 deletions