aboutsummaryrefslogtreecommitdiffstats
path: root/content.tex
Commit message (Collapse)AuthorAgeFilesLines
...
* Feedback: PCI: Separate explanatory and normative text.rusty2014-02-261-152/+278
| | | | | | | | | | | | | Rather than treat selectors 0 and 1 as special, the wording for features is made more general (though still the same effect). I split the interrupt handler into a separate subsection: it was misleading because it didn't handle configuration interrupts until the next section. It's also non-normative. Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@270 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
* Feedback: Separate the rest of chapter 2 into normative vs explanatory.rusty2014-02-261-120/+164
| | | | | | | | | | | | The big change here is in introducing new subsections for interrupt and notification suppression, and moving all requirements into them. The example processing loop is also moved into a note, to show clearly that it's not normative. Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@269 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
* Feedback: Normative split for Basic Facilities of a Virtio Device / ↵rusty2014-02-261-3/+11
| | | | | | | | Virtqueues / Message Framing Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@268 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
* Feedback: Normative split in Basic Facilities of a Virtio Device / Virtqueuesrusty2014-02-261-3/+6
| | | | | | Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@267 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
* Feedback: split Basic Facilities feature bits and config space into normative.rusty2014-02-261-29/+45
| | | | | | | | Split text into descriptive and normative. Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@266 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
* Feedback: add normative marker.rusty2014-02-261-0/+2
| | | | | | | | | | | From http://docs.oasis-open.org/templates/TCHandbook/ConformanceGuidelines.html: Normative statements MUST be referenceable so that a statement may be referenced from another part of a specification, but more importantly so they can be referenced from Conformance Clauses. Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@265 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
* Feedback: 2.1 Device Status field: Separate description from normative.rusty2014-02-261-9/+12
| | | | | | | | Start with explanation, progress to normative requirements. Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@264 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
* Feedback: move legacy/transitional definitions into terminology.rusty2014-02-261-42/+8
| | | | | | Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@263 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
* Feedback: hoist the one legacy-related requirement out of legacy section.rusty2014-02-261-12/+14
| | | | | | | | This requirement applies to any system which *did* have legacy drivers. Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@262 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
* Feedback: move new device design section to Appendix.rusty2014-02-261-67/+0
| | | | | | | | It's non-normative. Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@259 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
* Feedback: Bug TAB-553 (VIRTIO-76)rusty2014-02-261-9/+0
| | | | | | | | | | Haven't marked them non-normative yet, but it makes sense to put the header in an appendix. Reported-by: Patrick Durusau <patrick@durusau.net> Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@258 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
* Feedback: TAB-555 Bad sub-sectioning (VIRTIO-80)rusty2014-02-261-4/+4
| | | | | | | Reported-by: Patrick Durusau <patrick@durusau.net> Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@257 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
* Feedback: TAB-557 Spelling errors, etc (VIRTIO-75)rusty2014-02-261-7/+7
| | | | | | | Reported-by: Patrick Durusau <patrick@durusau.net> Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@256 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
* PCI: better document driver and device requirementsrusty2014-02-261-1/+28
| | | | | | | | | | | | | | | | | | | | Feedback: 10) 4.1.3.1.2 Queue Vector Configuration Some of the information from section 8.4 needs to be moved to here, for example that the device may have an MSI-X table size other than 2048. Otherwise, this reads as though the MSI-X table must always have 2048 entries. 11) Please explicitly describe the device behavior when writing a vector value beyond the MSI-X table size. Address these comments. Cc: Arun Subbarao <asubbarao@lnxw.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@255 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
* feedback: minor wording cleanupsrusty2014-02-261-4/+1
| | | | | | | | | | | | | | | | | We already mention requirement for natural width accesses for non device specific configuration. Don't repeat this in legacy section. Further, mention virtio pci structure in preamble to help link sections together. Cc: Arun Subbarao <asubbarao@lnxw.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Conflicts: content.tex git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@254 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
* SCSI: fix up more fields.rusty2014-02-261-11/+11
| | | | | | | | Some missing \field{} markings, and a few redundant "the XXX field". Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@253 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
* SCSI: missing space.rusty2014-02-201-1/+1
| | | | | | Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@252 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
* Gratuitous Packet Sending: clarify wording.rusty2014-02-191-1/+1
| | | | | | | | The device can ask, not the driver. Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@251 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
* net: fix incorrect reference.rusty2014-02-191-1/+1
| | | | | | | | It pointed into the block section for some reason. Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@250 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
* ccw: padding annotationscornelia.huck2014-02-131-5/+9
| | | | | | | | | | | Remove __packed__ annotation from all ccw structures that don't need it, and make the length requirements explicit for those that do. This is the part of the patch to resolve VIRTIO-56 that had been missed. Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@249 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
* PCI: minor wording changemstsirkin2014-02-121-2/+6
| | | | | | | | | | | Since access width requirement is a confirmance clause, make it explicit that it applies to 4,2 and 1 byte fields. Also explain what happens to fields of other widths (such as the 6 byte MAC). Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@248 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
* content: more strict confirmance languagemstsirkin2014-02-121-34/+40
| | | | | | | | | | | Correct new language to explicitly use MAY/SHOULD/MUST in more places or simply drop the somewhat vague "can" where we are describing the only way to operate the device. Most of the changes are in the PCI section. Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@247 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
* VIRTIO-55: Add a reserved ID for GPU devicesrusty2014-02-121-0/+2
| | | | | | | | | | | | | As existing work on virtio-gpu is using device ID 16, reflect this in the spec. This closes out VIRTIO-55. As per minutes: https://lists.oasis-open.org/archives/virtio/201402/msg00121.html Signed-off-by: Paul Mundt <paul.mundt@huawei.com> Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@244 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
* ccw: Further use of RFC2119 language.rusty2014-02-121-3/+3
| | | | | | | | | | | | | Some more instances of MAY and SHOULD, as reported in TAB comments TAB-548 and TAB-550. As per minutes: https://lists.oasis-open.org/archives/virtio/201402/msg00121.html Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com> Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@242 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
* PCI: explicitly document ISR status fieldrusty2014-02-121-7/+24
| | | | | | | | | | | | | | | | | | | | Feedback on ISR status register: It would be helpful if this section provided the meaning of each bit in the register. ISR use is scattered all around the place. Add a section describing the format and semantics. [ Merged to combine with new ISR-specific section --RR ] As per minutes: https://lists.oasis-open.org/archives/virtio/201402/msg00121.html Cc: Arun Subbarao <asubbarao@lnxw.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@241 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
* PCI: consistent device/PCI configuration spacerusty2014-02-121-28/+29
| | | | | | | | | | | | | | | | | | | | | | | | Re section: 4.1.3.4 Notification of Device Configuration Changes Feedback: Please use "PCI configuration space" and "device configuration state" consistently, without abbreviation. For example, from the first sentence it looks like "device configuration state" can be changed, but the first bullet claims it's "configuration space". So, which one? Does "configuration space" mean "PCI configuration space" or is it a synonym for "device configuration state"? Because those are two different things; the driver needs to know what exactly to rescan. As per minutes: https://lists.oasis-open.org/archives/virtio/201402/msg00121.html Cc: Arun Subbarao <asubbarao@lnxw.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@240 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
* Feedback #8: Applied.rusty2014-02-121-18/+47
| | | | | | | | | | [ Includes fixup! removing MSI-X ] As per minutes: https://lists.oasis-open.org/archives/virtio/201402/msg00121.html Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@239 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
* Feedback #7: Appliedrusty2014-02-121-417/+417
| | | | | | | | | | | Some minor merging required. As per minutes: https://lists.oasis-open.org/archives/virtio/201402/msg00121.html Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@238 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
* Feedback #6: Appliedrusty2014-02-121-70/+107
| | | | | | | | | As per minutes: https://lists.oasis-open.org/archives/virtio/201402/msg00121.html Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@237 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
* Feedback #4: applied.rusty2014-02-121-2/+2
| | | | | | | | | As per minutes: https://lists.oasis-open.org/archives/virtio/201402/msg00121.html Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@235 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
* PCI: minor changes for previous patch.rusty2014-02-121-53/+40
| | | | | | Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@234 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
* PCI: rearrange it allrusty2014-02-121-2/+1
| | | | | | | | | | | | | | | | | | | | | This is the re-arrangement originally suggested by Rusty, except I made some fixes and also tweaked a couple of places where behaviour changes where suggested - if we want these, they should go in separately. Rearrange discovery section to make it clearer what goes on. Wording changes MUST/MAY/etc. Clarify cfg gateway use. No behavioural changes. [ Merged "fixup! PCI: rearrange it all" --RR ] As per minutes: https://lists.oasis-open.org/archives/virtio/201402/msg00121.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@233 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
* PCI: rearrange it allrusty2014-02-121-209/+260
| | | | | | | | | | | | | | | This is the re-arrangement originally suggested by Rusty, except I made some fixes and also tweaked a couple of places where behaviour changes where suggested - if we want these, they should go in separately. Rearrange discovery section to make it clearer what goes on. Wording changes MUST/MAY/etc. Clarify cfg gateway use. No behavioural changes. Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@232 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
* C struct specifications.rusty2014-02-121-3/+14
| | | | | | | | | | | | Explicitly specify that our C struct specifications are without padding, and add some definitions for our integer data types. [ Rusty - added /* comments */ and removed redundant old le* explanation ] Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com> Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@231 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
* REVERT LAST 15 JUNK COMMITS.rusty2014-02-101-738/+651
| | | | | | | | Back to r211. It's been a long day. Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@225 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
* patch feedback-8-9.patchrusty2014-02-101-2/+8
| | | | git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@224 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
* patch feedback-8-7.patchrusty2014-02-101-1/+7
| | | | git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@223 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
* patch feedback-8-6.patchrusty2014-02-101-1/+7
| | | | git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@222 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
* patch feedback-8-5.patchrusty2014-02-101-3/+3
| | | | git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@221 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
* feedback: s/virtio header/virtio common configuration/rusty2014-02-101-5/+5
| | | | | | | | | | | | | While most places now sat virtio common configuration structure, some places still use the term virtio header. Since it's not necessarily before the common configuration anymore, rename it to virtio common configuration structure for consistency. Cc: Arun Subbarao <asubbarao@lnxw.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@220 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
* We'll add more non-normative sections with hints forrusty2014-02-101-0/+11
| | | | | | | | | implementing registers such as PCI class, status and command registers. Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@219 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
* example code does not have to be optimal but itrusty2014-02-101-0/+2
| | | | | | | | | seems cleaner to disable interrupts after we recheck the ring empty state. Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@218 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
* patch feedback-7-orig.patchrusty2014-02-101-405/+405
| | | | git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@217 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
* patch feedback-6.patchrusty2014-02-101-70/+107
| | | | git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@216 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
* patch feedback-4.patchrusty2014-02-101-2/+2
| | | | git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@214 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
* PCI Section Reworkrusty2014-02-101-213/+221
| | | | | | | | | | | | | | | | | | | | | 1) Minor changes from must to MUST etc. 2) More references using \ref. 3) Move section on capabilities first, before we talk about the common config layout. The previous order made sense for legacy. 4) Make explicit subsections for each type of capability and move more information into them. 5) Make it clear that there must be one or more. 6) Include 'struct virtio_pci_cap cap;' in struct virtio_pci_cfg_cap to match virtio_pci_notify_cap. 7) Explicitly note there's no way to negotiate the queue size for a legacy device. 8) Fix old language on config change event: config is not in the pci configuration space. 9) Explicitly state what the driver should do to use virtio_pci_cfg_cap. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@213 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
* C struct specifications.rusty2014-02-101-3/+14
| | | | | | | | | | | | Explicitly specify that our C struct specifications are without padding, and add some definitions for our integer data types. [ Rusty - added /* comments */ and removed redundant old le* explanation ] Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com> Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@212 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
* Cleanup and setup clarificationsrusty2014-02-071-3/+20
| | | | | | | | | | | | 1) Explicitly allow drivers to read config space during feature negotiation. 2) Add the concept of a "live" virtqueue, and explicitly disallow moving it backwards or changing descriptors. Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@207 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
* block: legacy SCSI command fix.rusty2014-02-071-1/+1
| | | | | | | | | | | When describing the historical layout requirements, it says "status field is a separate read-only buffer of size 1 byte, by itself." That's clearly wrong, as it says above "The final status byte is written by the device" Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@204 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
* whitespace: make all examples unindented, and avoid tabs.rusty2014-02-061-481/+481
| | | | | | | | | | | | This makes the formatting far nicer. Applying now as it touches almost all examples and layouts, so we can rebase future changes on top of common ground. (Based on feedback from Thomas Huth for one example, and generalized). Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@203 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652