summaryrefslogtreecommitdiff
path: root/content.tex
AgeCommit message (Collapse)Author
2015-05-18network device: xmit/receive cleanupmstsirkin
Fix up multiple issues in xmit/receive sections: - drop MAY/MUST/SHOULD outside normative statements - spell out conformance requirements for both drivers and devices, for xmit and receive paths - document the missing VIRTIO_NET_HDR_F_DATA_VALID - document handling of unrecognized flag bits so we can extend flags in the future, similar to VIRTIO_NET_HDR_F_DATA_VALID VIRTIO-123 Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/branches/v1.0@528 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2015-05-18balloon: document deflate on oommstsirkin
Document the new option, and also clarify behaviour without it. In particular, I noticed that actual field is not the actual number of pages in the balloon as driver might do inflate followed by deflate. Also, device isn't always driven by interrupts, driver can inflate/deflate in response to e.g. memory compaction. VIRTIO-126 Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/branches/v1.0@527 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2015-05-18balloon: transitional device supportmstsirkin
Virtio 1.0 cs02 doesn't include a modern balloon device. At some point we'll likely define an incompatible interface with a different ID and different semantics. But for now, it's not a big effort to support a transitional balloon device: this has the advantage of supporting existing drivers, transparently, as well as transports that don't allow mixing virtio 0 and virtio 1 devices. And balloon is an easy device to test, so it's also useful for people to test virtio core handling of transitional devices. Three issues with legacy hypervisors have been identified: 1. Actual value is actually used, and is necessary for management to work. Luckily 4 byte config space writes are now atomic. When using old guests, hypervisors can detect access to the last byte. When using old hypervisors, drivers can use atomic 4-byte accesses. 2. Hypervisors actually didn't ignore the stats from the first buffer supplied. This means the values there would be incorrect until hypervisor resends the request. Add a note suggesting hypervisors ignore the 1st buffer. 3. QEMU simply over-writes stats from each buffer it gets. Thus if driver supplies a different subset of stats on each request, stale values will be there. Require drivers to supply the same subset on each request. This also gives us a simple way to figure out which stats are supported. VIRTIO-143 Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/branches/v1.0@526 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2015-04-29entropy device: typo fixmstsirkin
The driver MUST examine the length written by the driver makes no sense. length is written by the device. VIRTIO-142 Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/branches/v1.0@523 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2015-04-29used ring: specify legacy behaviour for len fieldmstsirkin
many hypervisors implemented len field incorrectly. Document existing bugs in the legacy sections. VIRTIO-141 Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Cc: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/branches/v1.0@522 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2015-04-29VIRTIO-134: Spell out details of indirect elements in chainsmstsirkin
1) It's implied that a chain terminates with an indirect descriptor (since VIRTIO-15) but we didn't spell out that a device MUST NOT continue it. 2) We allow [direct]->[direct]->[indirect], and qemu and bhyve both accept it. Make it clear that this is valid, thus devices MUST handle it. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/branches/v1.0@521 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2015-04-22balloon: MUST -> has tomstsirkin
MUST shouldn't be used outside normative statements, that's confusing. Replace with "has to". Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/branches/v1.0@509 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2015-04-22pci: missing documentation for dealing with 64 bit config fieldsmstsirkin
pci spec says what width access to use for 32, 16 and 8 bit fields, but does not explicitly say what to do for 32 bit fields. As we have text that says driver must treat 64 bit accesses as non-atomic, this seems to imply driver should always do two 32 bit wide accesses. Let's make this an explicit requirement, and require devices to support this. VIRTIO-139 Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/branches/v1.0@508 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2015-04-22mark diff for non-transitional with legacymstsirkin
latexdiff doesn't handle changing labels well, causes latex unresolved reference errors. opencode and mark up diff manually. Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/branches/v1.0@507 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2015-04-22multiple errors: Non-transitional With Legacymstsirkin
virtio 1.0 has two sections titled "Non-transitional Device With Legacy Driver" the first says devices SHOULD fail, the second says devices MUST fail. Clearly a mistake. Other issues: devices don't really fail - they cause drivers to fail. second section seems to be in the wrong place, and also have a section followed by subsection with no explanatory text in between, which is ugly. Finally, this text was originally ritten to handle buggy windows drivers gracefully, but later we changed device IDs so it's not really required there. Might be handy for some other buggy legacy drivers, though no such drivers are known. To fix, drop the duplicate section variant, add some explanatory text, clarify what does "same ID" mean here, and clarify that the work-around is only needed if a buggy driver is known to bind to a transitional device. VIRTIO-138 Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/branches/v1.0@506 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2015-04-22VIRTIO-137: used ring: define the meaning and requirements of the len field.mstsirkin
We said what it was for, and noted why. We didn't place any requirements on it, nor clearly spell out the implications of its use. This clarification comes particularly from noticing that QEMU didn't set len correctly, and philosophising over the correct value when an error has occurred. (Wording precision feedback from Michael and Cornelia - Thanks!) Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/branches/v1.0@504 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2015-03-25Change 4.1.5.1.2.1 to device requirementmstsirkin
4.1.5.1.2.1 is incorrectly labelled as a driver requirement; it's self-evidently referring to the device. VIRTIO-133 Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/branches/v1.0@488 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2015-03-25ISR status: Fix incorrect diagrammstsirkin
ISR status capability diagram has the "Device Configuration Interrupt " as bit 0, and the "Queue Interrupt" as bit 1. This is the wrong way around: it disagrees with the legacy implementations, as well as the spec elsewhere. All current guests correctly follow the text, fix up the diagram to match. VIRTIO-130 Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/branches/v1.0@487 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2015-03-25document idx field in virtqueue used ringmstsirkin
Section 2.4.8 The Virtqueue Used Ring lists the idx field, but never documents it. VIRTIO-136. Reported-by: Jason Wang <jasowang@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/branches/v1.0@486 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2015-03-15Revert: formatting: mark change manually as changed in cs02mstsirkin
This reverts commit d0ea186fe547a0e7ae4baeb623cf764a3f1ace65. git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/branches/v1.0@481 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2015-03-15ccw: clarify basic channel commandsmstsirkin
"Basic channel commands" seems to be not as clear as it could, so let's spell out which channel commands we refer to. VIRTIO-118 Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com> Approved unanimously: https://www.oasis-open.org/apps/org/workgroup/virtio/ballot.php?id=2763 Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/branches/v1.0@480 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2015-03-15ccw: allow WRITE_STATUS to failmstsirkin
We want to be able to fail setting a status on the device (e.g. FEATURES_OK if the device can't work with the features negotiated). The easiest way to do that is to allow the device to fail the WRITE_STATUS command by posting a command reject. VIRTIO-116 Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com> Approved unanimously: https://www.oasis-open.org/apps/org/workgroup/virtio/ballot.php?id=2762 Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/branches/v1.0@479 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2015-03-15legacy: clean up virtqueue layout definitionsmstsirkin
Generalize "Legacy Interfaces: A Note on Virtqueue Layout" to allow for different alignment requirements. Have pci and ccw refer to that section for legacy devices. Remove the double definition of virtqueue alignment (which referred to legacy, but was not tagged as such) from the ccw section. VIRTIO-129 Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com> Approved unanimously: https://www.oasis-open.org/apps/org/workgroup/virtio/ballot.php?id=2756 Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/branches/v1.0@478 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-12-23formatting: mark change manually as changed in cs02mstsirkin
Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/branches/v1.0@459 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-12-23add legacy tag for makediff between cs02 and cs01mstsirkin
This is here merely as a work-around for latex-diff producing broken cross-references when labels are re-named. Not needed on trunk. Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/branches/v1.0@454 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-12-23formatting: escape \ldots in lstlistingmstsirkin
\ldots does not work within lstlisting, the result is \ldots verbatim in the PDF output. To fix, make $ an escape character, and escape the sequence: $\ldots$ VIRTIO-115 Cc: Thomas Huth <thuth@linux.vnet.ibm.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/branches/v1.0@452 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-12-23Revert "formatting: drop \ldots in lstlisting"mstsirkin
This reverts commit 9327a1c9966ec9752aaafa420c7bf2b345cdc9fe. git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/branches/v1.0@451 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-12-22ccw: two-stage indicators for legacy devicesmstsirkin
Some legacy devices will support two-stage queue indicators and therefore won't reject CCW_CMD_SET_IND_ADAPTER. Note this. VIRTIO-127 Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/branches/v1.0@450 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-12-22block: fixup section levelsmstsirkin
The specification for the configuration layout for block devices should be its own subsection as for all other devices and not be hidden beneath "Feature bits". The normative sections for device operation should appear under the device operation section. VIRTIO-125 Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/branches/v1.0@449 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-12-22virtio: fix used element sizemstsirkin
General ring description lists size for used ring elements as 4, it must be 8. VIRTIO-120 Cc: "Dr. David Alan Gilbert" <dgilbert@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/branches/v1.0@448 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-12-22formatting: drop \ldots in lstlistingmstsirkin
\ldots does not work within lstlisting, the result is \ldots verbatim in the PDF output. To fix, replace with a literal ... VIRTIO-115 Cc: Thomas Huth <thuth@linux.vnet.ibm.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/branches/v1.0@447 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-08-31VIRTIO-110: ARM's feedback for MMIO chapter, clarificationsmstsirkin
Those changes do not add nor remove any features and constitutes only error correction and editorial changes. * Extra clarifications for QueueReady and ConfigGeneration * Added alignment requirement section, to formalise hidden assumptions about register accesses Signed-off-by: Pawel Moll <pawel.moll@arm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@417 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-08-05VIRTIO-110: ARM's feedback for MMIO chapter, legacy sectionhornet
This patch makes clear that the legacy section is non-normative, removing all MUSTs. Those changes do not add nor remove any features and constitues only error correction and editorial changes. Signed-off-by: Pawel Moll <pawel.moll@arm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@416 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-08-05VIRTIO-110: ARM's feedback for MMIO chapter, trivial changeshornet
Those changes do not add nor remove any features and constitutes only error correction and editorial changes. * Typos and language mistakes in 4.2, 4.2.1, 4.2.2 and 4.2.2.2. * Extra clarifications for InterruptACK. Signed-off-by: Pawel Moll <pawel.moll@arm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@415 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-08-04legacy: grammar fixupmstsirkin
Legacy devices are "they" not "it". VIRTIO-113 Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@414 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-08-04legacy: consistently use past tensemstsirkin
Paragraph with general description of feature negotiation for legacy devices mixed present and past tense. As rest of legacy sections all use past tense, fix the only instance of the present tense: s/do/did/ for consistency. It might be argued that legacy devices still have these properties so present tense is more appropriate, on the other hand, using the past tense helps stress the fact that current spec does not attempt to fully describe the legacy device/driver behaviour: this text is only here to serve as motivation for the transitional device/driver requirements. VIRTIO-112 Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@413 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-07-30VIRTIO-111: Fix minor typosmstsirkin
Fix minor typos as reported in ARM's feedback. Signed-off-by: Pawel Moll <pawel.moll@arm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@412 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-07-30Revert "VIRTIO-111: Fix minor typos"mstsirkin
This reverts commit 8a3d1521930d9dacca4972d591ff720d614e37e8. Was not in CSD03, will re-apply immediately after updating REVISION. git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@409 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-07-23VIRTIO-111: Fix minor typoshornet
Fix minor typos as reported in ARM's feedback. Signed-off-by: Pawel Moll <pawel.moll@arm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@406 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-06-25pci: minor fomatting tweakmstsirkin
Make table look better. Drop spaces that make latexdiff stumble. Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@386 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-06-25fixup pci: switch from subsystem id to device idmstsirkin
Patch sent to list (and applied by Rusty in commit fffcbe327c69e510239fff5627034aa2ab4b2d84 pci: switch from subsystem id to device id ) did not actually implement what commit log said it implements. The result is wrong for transitional devices: Adding 0xfff works for for net+block only; for transitional pci devices there is no fixed scheme: ~/projects/qemu/include # grep VIRTIO_ID hw/virtio/*.h hw/virtio/virtio-balloon.h:#define VIRTIO_ID_BALLOON 5 hw/virtio/virtio-blk.h:#define VIRTIO_ID_BLOCK 2 hw/virtio/virtio-net.h:#define VIRTIO_ID_NET 1 hw/virtio/virtio-rng.h:#define VIRTIO_ID_RNG 4 hw/virtio/virtio-scsi.h:#define VIRTIO_ID_SCSI 8 hw/virtio/virtio-serial.h:#define VIRTIO_ID_CONSOLE 3 ~/projects/qemu/include # grep VIRTIO hw/pci/*.h hw/pci/pci.h:#define PCI_DEVICE_ID_VIRTIO_NET 0x1000 hw/pci/pci.h:#define PCI_DEVICE_ID_VIRTIO_BLOCK 0x1001 hw/pci/pci.h:#define PCI_DEVICE_ID_VIRTIO_BALLOON 0x1002 hw/pci/pci.h:#define PCI_DEVICE_ID_VIRTIO_CONSOLE 0x1003 hw/pci/pci.h:#define PCI_DEVICE_ID_VIRTIO_SCSI 0x1004 hw/pci/pci.h:#define PCI_DEVICE_ID_VIRTIO_RNG 0x1005 hw/pci/pci.h:#define PCI_DEVICE_ID_VIRTIO_9P 0x1009 I am guessing TC went by commit log when it approved the change, so fixing it up directly. Cc: Andrew Thornton <andrewth@google.com> Cc: Rusty Russell <rusty@ozlabs.org> Cc: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@385 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-06-17content.tex: VIRTIO-106: mention possibility of failing TMFspbonzini
This completes the review of virtio-scsi based on observations from Google. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@384 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-06-16fix erroneous reference to Subsystem Device IDpbonzini
Subsystem device ID only exists for PCI. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@383 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-06-16small virtio-serial fixrusty
nr_ports does not exist in the spec. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@382 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-06-09virtio-scsi: support well-known logical unitspbonzini
The REPORT LUNS well-known logical unit is useful because it lets you retrieve information about all targets with a single command. It also provides an easy way to send a no-op request. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@381 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-06-09consistent formatting of footnotespbonzini
Put the indicator before punctuation, and terminate the footnote with a period. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@380 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-06-09virtio-scsi: additional SHOULDificationpbonzini
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@379 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-06-09virtio-scsi: fixes to protection informationpbonzini
pi_bytesin is in the device-readable section. Document lack of residual field. Use le32 instead of u32. This matches the new patch series that Nicholas sent for vhost-scsi. Cc: <nab@daterainc.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@378 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-06-05PCI: remove duplicate paragraph.rusty
I chose the one which used the full nomenclature. Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@377 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-06-05pci: switch from subsystem id to device idrusty
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
2014-06-05pci: set ISR bit on config change with MSI-Xrusty
config changes are slow path anyway, so we can as well set ISR bit to help drivers detect changes. This allows sharing config interrupts which is what issue reporter seems to ask for. VIRTIO-104 (Approved at 2014-06-04 meeting: https://lists.oasis-open.org/archives/virtio/201406/msg00013.html ) 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@375 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-05-31NEEDS_RESET: trivial clarificationmstsirkin
If device sets NEEDS_RESET before DRIVER_OK, it can't send notifications to driver. Make this clear. Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@374 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-05-22Fix build of documentrusty
Error introduced in 59cd205cea "VIRTIO-98: Add DEVICE_NEEDS_RESET": seems that underscores in labels are verboten: [133] [134] (./virtio-v1.0-csprd02.aux ! Missing \endcsname inserted. <to be read again> \unhbox l.45 ...ts: Device Status Field}}{subsection.1}{}} Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@373 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-05-22content.tex: virtio-scsi review (VIRTIO-106)rusty
As prompted by Rusty, add a few more MUST/SHOULD items for both devices and drivers. Clarify semantics of max_channel/max_id/max_lun, task_attr and task management functions. (As per minutes of meeting 2014-05-20: https://lists.oasis-open.org/archives/virtio/201405/msg00034.html ) Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@372 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-05-22content.tex: add support for protection information (VIRTIO-108)rusty
This is a new feature that was suggested by Nicholas Bellinger, who also provided a prototype implementation for vhost-scsi. (As per minutes of meeting 2014-05-20: https://lists.oasis-open.org/archives/virtio/201405/msg00034.html ) Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@371 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652