summaryrefslogtreecommitdiff
path: root/content.tex
AgeCommit message (Collapse)Author
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
2014-05-12VIRTIO-96: Assign device id to virtio inputrusty
Assign device id to virtio input As passed at meeting 2014-05-06: https://lists.oasis-open.org/archives/virtio/201405/msg00016.html Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@370 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-05-12VIRTIO-52: Make mac field read only.rusty
As passed at meeting 2014-05-06: https://lists.oasis-open.org/archives/virtio/201405/msg00016.html Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@369 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-05-12VIRTIO-107: Clarify net mac commands.rusty
As passed at meeting 2014-05-06: https://lists.oasis-open.org/archives/virtio/201405/msg00016.html Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@368 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-05-12VIRTIO-98: Add DEVICE_NEEDS_RESET.rusty
As passed at meeting 2014-05-06: https://lists.oasis-open.org/archives/virtio/201405/msg00016.html Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@367 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-05-12VIRTIO-87: limit descriptor chain length even with INDIRECT.rusty
As passed at meeting 2014-05-06: https://lists.oasis-open.org/archives/virtio/201405/msg00016.html Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@366 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-05-12VIRTIO-103: PCI: Note that turning off queue_enable is not supported.rusty
As passed at meeting 2014-05-06: https://lists.oasis-open.org/archives/virtio/201405/msg00016.html Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@365 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-05-12VIRTIO-103: PCI: require read-after-write on device_status reset.rusty
As passed at meeting 2014-05-06: https://lists.oasis-open.org/archives/virtio/201405/msg00016.html Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@364 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-05-12VIRTIO-99: Typo fixes.rusty
As passed at meeting 2014-05-06: https://lists.oasis-open.org/archives/virtio/201405/msg00016.html Reported-by: Thomas Huth <thuth@linux.vnet.ibm.com> Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@363 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-05-07net: fix device conformance sectionscornelia.huck
For the network device, we had two device normative sections both called "setting up receive buffers", neither of which was referenced in the conformance section. Let's rename the second one to "processing of packets" which seems to better match the actual contents and reference both of them from the conformance statement for network devices. Resolves VIRTIO-97. Agreed on the 2014/05/06 TC meeting. Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@362 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-03-13VIRTIO-60: avoid vring and VIRTIO_RING.rusty
These are never introduced, so use simpler names: virtq* for structures and VIRTIO_ for features. I added two notes about the old names, for helping people coming from the old spec. Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@327 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-03-13net: make num_buffers field compulsory (VIRTIO-86)rusty
Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@326 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-03-13block: deprecate FLUSH_OUT (VIRTIO-85)rusty
Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@325 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-03-13net: clean up mq definition, receive buf size (VIRTIO-84)rusty
1) Instead of using N-1 everywhere, use N, and start receiveq etc at 1. This is less C like, but less confusing in english. 2) Weaken requirements for automatic steering to SHOULD, as otherwise we're insisting device record all flows forever. 3) Receive buffers must be able to hold data, so must be > header. Signed-off-by: Rusty Russell <rusty@au1.ibm.com> Conflicts: content.tex git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@324 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-03-13VIRTIO-62: Explicit and specific.rusty
Avoid these words where they are redundant. This also lead me to notice that we were not consistent in the use of the term "device-specific configuration" in the PCI section, so cleaned that up too. Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@323 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-03-13VIRTIO-63: Make sure examples are marked clearly.rusty
Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@322 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-03-13VIRTIO-72: SHOULD/shouldrusty
Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@321 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-03-13VIRTIO-73: MAY/may.rusty
Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@320 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-03-13VIRTIO-74: required vs REQUIRED.rusty
Some really are clearest as they are, but most are changed to avoid confusion. Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@319 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-03-13VIRTIO-81: MUST vs mustrusty
Clean up the remaining lowercase "musts". We actually introduce a new normative section in the balloon; for the rest we clarify them one way or another. Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@318 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-03-05legacy framing: scsi hostmstsirkin
git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@316 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-03-05legacy message framing: console devicemstsirkin
git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@315 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-03-05block: legacy message framingmstsirkin
git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@314 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-03-05message framing: rusty's commentsmstsirkin
generic note on message framing specific requirements listed for net device only git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@313 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-03-05legacy devices: get rid of MUST assumemstsirkin
as Rusty points out MUST assume is not very good requirement. clarify it. git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@312 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-03-05transitional driver features: fix typos noted by Rustymstsirkin
git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@311 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-03-03Formatting: use latex-style quoting everywhere.rusty
Doesn't look any different, but consistent. Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@310 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-03-03Use ellipsis (aka \ldots) everywhere.rusty
And use the ellipsis package, which makes it symmetrical. Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@309 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-03-03PCI: Tighten requirements.rusty
1) make it clear that queue_enable is 0 on reset. 2) device MUST present a VIRTIO_PCI_CAP_DEVICE_CFG if needed for type. Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@308 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-03-02initialization: minor clarificationmstsirkin
Change accepted on VIRTIO TC Meeting, 3 December 2013 "it" could refer to failed bit or the driver. clarify. Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@307 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-03-02feedback: clarify device status bitsmstsirkin
Change accepted on VIRTIO TC Meeting, 3 December 2013 VIRTIO-70 Cc: Patrick Durusau <patrick@durusau.net> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@304 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-03-02legacy interface: move to terminologymstsirkin
Change accepted on VIRTIO TC Meeting, 3 December 2013 VIRTIO-64 Cc: Patrick Durusau <patrick@durusau.net Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@303 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-03-02non-transitional devices with legacy driversmstsirkin
Change accepted on VIRTIO TC Meeting, 3 December 2013 weaken hacky requirements helpful for graceful failure for non transitional PCI devices from MUST to SHOULD. It's nice to have but it's not like it makes things work, and you can avoid trouble simply by using the most recent drivers. also move them out to a separate section Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@301 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-03-02legacy device initialization: confirmance statementsmstsirkin
Change accepted on VIRTIO TC Meeting, 3 December 2013 Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@299 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-03-02legacy virtqueue layout: confirmancemstsirkin
Change accepted on VIRTIO TC Meeting, 3 December 2013 Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@298 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-03-02legacy: make all notes on endian-ness confirmance clausesmstsirkin
Change accepted on VIRTIO TC Meeting, 3 December 2013 Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@297 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-03-02legacy feature bits: confirmance statementsmstsirkin
Change accepted on VIRTIO TC Meeting, 3 December 2013 Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@296 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-03-02leacy: layout detection confirmancemstsirkin
Change accepted on VIRTIO TC Meeting, 3 December 2013 Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@295 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-03-02legacy pci layout: extra confirmance statementmstsirkin
Change accepted on VIRTIO TC Meeting, 3 December 2013 Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@294 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-03-02legacy pci layout: confirmance statementsmstsirkin
Change accepted on VIRTIO TC Meeting, 3 December 2013 Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@293 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-03-02legacy: make message framing normativemstsirkin
Change accepted on VIRTIO TC Meeting, 3 December 2013 TODO: we really should be more specific Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@292 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-03-02legacy: make note on legacy VQ endian-ness normativemstsirkin
Change accepted on VIRTIO TC Meeting, 3 December 2013 Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@291 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-03-02Legacy Interface: Device Configuration Spacemstsirkin
Change accepted on VIRTIO TC Meeting, 3 December 2013 legacy has no generation field. add SHOULD statement to document multi-byte field access rules. Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@290 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-03-02legacy: clarify general note on endian-nessmstsirkin
Change accepted on VIRTIO TC Meeting, 3 December 2013 this is a non normative section. we merely mention that details are given for each device. Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@289 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-03-02content: explain that legacy support is optionalmstsirkin
Change accepted on VIRTIO TC Meeting, 3 December 2013 Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@288 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652