summaryrefslogtreecommitdiff
path: root/virtio-v1.0-wd01-part1-specification.txt
AgeCommit message (Collapse)Author
2013-11-10pci: a note on non-transitional devicesmstsirkin
Add a note documenting handling legacy drivers for non transitional devices. VIRTIO-34 Accepted Nov 5, 2013 https://lists.oasis-open.org/archives/virtio/201311/msg00031.html Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@89 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2013-11-072.2.2.1: remove advice on notification for empty buffers.rusty
A driver can notify whenever it wants, but it should only make a difference to buggy devices. As per meeting 2013-11-05: http://markmail.org/message/3cjjeakzkfzcqk5c Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@88 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2013-11-072.2.1: Remove advice that reset is not req'd on startup.rusty
It's always good practice to reset a device. As per minutes of meeting 2013-11-05: http://markmail.org/message/3cjjeakzkfzcqk5c Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@87 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2013-11-05virtio-ccw: introduce revisionscornelia.huck
Provide a new ccw that allows devices and drivers to operate on selected revision levels. VIRTIO-42 Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@86 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2013-11-04typo fix: 8-bite->8-bitmstsirkin
Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@85 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2013-11-04ccw: Improve indicator wording.cornelia.huck
Be clearer about traditional vs. adapter interrupts and virtqueue vs. configuration indicators. Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@84 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2013-11-04ccw: Remove reference to old s390-virtio transport.cornelia.huck
Historical notes for a mechanism that was never officially specced do not add anything to the standard. Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@83 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2013-11-04ccw: Tweak the comments on endianess.cornelia.huck
...just to make obvious that we're talking about the transmitted data. Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@82 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2013-10-31CCW: Make it very clear that CCW channel commands are big-endian.rusty
Noone is likely to get confused, but let's be explicit since the rest of the spec is little-endian. Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@81 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2013-10-31Remove __ annotations on pci.rusty
We use le32 etc elsewhere, make it consistent. Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@80 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2013-10-31Thorough endianness notes for legacy.rusty
This is noted at the beginning of the spec, but let's make it explicit everywhere le32 etc is used. Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@79 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2013-10-31Use le types in all non-legacy places.rusty
Emphasize that legacy endian was different, but change all the basic types to use le32 etc as a constant reminder. Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@78 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2013-10-312.4.2.3.1 Legacy Interface: Feature bitsrusty
A previous patch put the device config layout in the middle of the legacy feature bits. Fix up now. Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@77 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2013-10-31virtqueue endian-nessrusty
make all ring structures LE resolves VIRTIO-9 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@76 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2013-10-31configuration space endian-nessrusty
make it all LE and require natural width accesses resolves VIRTIO-9 Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Rusty Russell <rusty@au1.ibm.com> (rebase) git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@75 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2013-10-31Configuration (read) atomicity.rusty
Aka issue VIRTIO-35. This is solved per transport: 1) PCI: use the 8 bit reserved field. Assume that if you really change that fast, you'll do it lazily on config space read. 2) MMIO (already solved by v2 update) 3) CCW: no transport changes. They always read/write the entire thing. This just shows that Cornelia is smarter than I am. Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@74 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2013-10-30virtio-ccw: clarify some channel I/O conceptscornelia.huck
Add the documents where channel I/O is generally described to the normative references and add some further words on command rejects and length checks. Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@73 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2013-10-30virtio-ccw: add adapter interrupt supportcornelia.huck
Specify a new channel command to set up two-stage indicators as needed for adapter interrupts and describe how adapter interrupts are used for notifications. VIRTIO-43 Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@72 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2013-10-30Revert "virtio-ccw: introduce revisions"rusty
This reverts commit 663e7294691c6f76488d26c82a81f0d6d1e27593. Accidental commit; minutes say we defer. Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@71 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2013-10-30virtio-ccw: split descriptor/available/used rings (alternate)rusty
Extend vq_info_block so that the addresses for descriptor table, available ring and used ring may be transmitted independently. VIRTIO-23 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@70 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2013-10-30virtio-ccw: introduce revisionsrusty
Provide a new ccw that allows devices and drivers to operate on selected revision levels. VIRTIO-42 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@69 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2013-10-292.3.2 MMIO: Add config space version registerhornet
... to allow synchronisation between the guest and the host. Based on Rusty's original patch, see VIRTIO-35. Signed-off-by: Pawel Moll <pawel.moll@arm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@68 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2013-10-292.3.2 MMIO: Upgrade registers layout to version 2hornet
This patch addresses VIRTIO-44: * Clarifies MagicValue content * Bumps up the Version value to 2 * Removes paged-based addressing and replaces it with 64 bit addresses * Replaces implicit queue organisation (based on alignment size) with explicit desc/avail/used addreses (based on original MST's patch, see VIRTIO-41) * Introduces explicit protocol for queue enabling (based on original MST's idea) and disabling * Defines driver's reaction to an invalid device ID (0x0). Signed-off-by: Pawel Moll <pawel.moll@arm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@67 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2013-10-152.3.2 MMIO: Reformatting the text, cont.hornet
Further indentation clean-up and non-ASCII characters hunt. Signed-off-by: Pawel Moll <pawel.moll@arm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@66 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2013-10-15virtio-ccw: clarify sense id operationcornelia.huck
Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@65 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2013-10-14VIRTIO-15: Simplify indirect descriptors.rusty
You get a single table, no multiple tables (no driver does this, but devices are supposed to support it anyway) As per issue virtio-15 Approved at meeting 2013-10-08: https://lists.oasis-open.org/archives/virtio/201310/msg00087.html Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@64 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2013-10-142.5.2.3: document topology fieldsrusty
From: Paolo Bonzini <pbonzini@redhat.com> This completes the changes from yesterday. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Approved at 2013-10-08 meeting: https://lists.oasis-open.org/archives/virtio/201310/msg00087.html See:https://lists.oasis-open.org/archives/virtio-comment/201308/msg00030.html Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@63 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2013-10-14virtio_blk: deprecate flush.rusty
This is partially a port of Paolo Bonzini <pbonzini@redhat.com>'s WCE spec changes, but puts them in the legacy section. It reserves the writeback field for compatibility. Flush is now required. Approved at 2013-10-08 meeting: https://lists.oasis-open.org/archives/virtio/201310/msg00087.html See: https://lists.oasis-open.org/archives/virtio-comment/201308/msg00078.html Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@62 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2013-10-142.5.2.3: Add block topology.rusty
From: Paolo Bonzini <pbonzini@redhat.com> Current QEMU and Linux drivers can export queue parameters via the virtio-blk configuration space. Document this, since the next patch will have to add another configuration field after these. Approved at 2013-10-08 Meeting: https://lists.oasis-open.org/archives/virtio/201310/msg00087.html See: https://lists.oasis-open.org/archives/virtio-comment/201308/msg00028.html Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Rusty Russell <rusty@au1.ibm.com> Conflicts: virtio-v1.0-wd01-part1-specification.txt git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@61 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2013-10-10initialization: add extra device status handshakemstsirkin
2.2.1: FEATURES_OK. Based on MST's ideas, but a bit simpler. Resolves issue: VIRTIO-30. Approved OASIS meeting 2013-10-08. Signed-off-by: Rusty Russell <rusty@au1.ibm.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@60 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2013-10-092.1.2.1 Legacy Interface: Fixed typohornet
s/accomodates/accommodates Signed-off-by: Pawel Moll <pawel.moll@arm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@59 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2013-10-092.1.2. Feature Bits: Fixed typohornet
s/resered/reserved Signed-off-by: Pawel Moll <pawel.moll@arm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@58 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2013-10-092.3.2 MMIO: Reformatting the texthornet
* cleaned up indentation * replaced all non-ASCII characters with equivalents * fixed paragraphs numbering Signed-off-by: Pawel Moll <pawel.moll@arm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@57 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2013-10-04Remove comment about > 24 feature bits.rusty
We have that on every transport now. Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@56 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2013-10-04net: revert accidental u16->le16 config change.rusty
Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@55 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2013-10-04net & block: Make Device configuration layout a separate section.rusty
Formatting conversion error: other devices are OK. Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@54 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2013-10-042.3.1.2.5: emphasize that PCI device-specific config byte-accessible legacy onlyrusty
This clarification taken from a larger patch by MST: http://markmail.org/search/?q=subject%3A%22[PATCH]%20configuration%20space%20endian-ness%22+list%3A%22org.oasis-open.lists.virtio%22#query:subject%3A%22[PATCH]%20configuration%20space%20endian-ness%22%20list%3A%22org.oasis-open.lists.virtio%22+page:1+mid:6k3im4t3csdukbzm+state:results Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@53 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2013-10-04Copy linear layout to CCW, MMIO sections.rusty
Revision r49 "virtqueue: flexible layout, size, alignment" moved the linear assumption into the legacy section. We also need it in the per-transport sections until (if?) those two transports go non-linear. Just copied the paragraph, with variable names changed to match the particular transport field nomenclature. Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@52 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2013-10-042.1: Add ccw to forward references.rusty
Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@51 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2013-10-04Legacy Interfaces: A Note on Virtqueue Layout: Remove dup paragraph.rusty
Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@50 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2013-09-30virtqueue: flexible layout, size, alignmentmstsirkin
Transports can now lay out available/used/descriptor regions in a flexible way. This is useful for embedded systems to save memory, and for large systems to reduce the need for physically-contigious memory. However, this does not add a way to actually program this in any of the transports, so it's not useful by itself, separate follow-up patches will add a way to program this for transports. Resolves issue: VIRTIO-23 Approved OASIS meeting 2013-09-24. Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@49 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2013-09-30pci: remove requirement for revision ID to be 0mstsirkin
While spec previously required revision to be 0 exactly it turned out not to be an efficient means to disable legacy drivers - we had to resort to changing device ID instead. So let's free up this field making it available for device makers for hardware versioning. Resolves VIRTIO-22 Approved OASIS meeting 2013-09-24. Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@48 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2013-09-30pci: new layout: move footnotemstsirkin
Legacy footnotes belong directly within text. Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@47 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2013-09-30pci: new layout: driver must not write to bits>63mstsirkin
Since we never offer feature bits >63, driver must not ack them. Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@46 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2013-09-30pci: new configuration layoutmstsirkin
- split data path, common config and device specific config - support for new VQ layout Resolves issue VIRTIO-21 Approved OASIS meeting 2013-09-24. Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@45 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2013-09-25virtio-ccw: document GPR4/GPR2 cookie valuesrusty
virtio-ccw on kvm can use a cookie value passed to guest to optimize channel/VQ lookups. Document this. VIRTIO-29, approved OASIS meeting 2013-09-24. Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@44 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2013-09-252.3.3.2 virtio-ccw clarifications.rusty
Ported from draft commit 67843fe9745e96c10e148f00ba0aa64397c64f06. Issue VIRTIO-29, approved OASIS meeting 2013-09-24. Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@43 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2013-09-252.3.3 virtio-ccw: Add secondary indicators.rusty
Ported from draft commit e945661b40bcfd29efc35dfa73465bcc960bd20b. Issue VIRTIO-29, approved OASIS meeting 2013-09-24. Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@42 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2013-09-252.3.3 Add virtio-ccw spec.rusty
Ported from draft commit cdbad68fd1ccb8b99b3853836e2b38e0bf74361b. Issue VIRTIO-29, approved OASIS meeting 2013-09-24. Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@41 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2013-09-252.4.2.5: Remove ioprio field.rusty
Leave a reserved field in there for alignment. See: https://tools.oasis-open.org/issues/browse/VIRTIO-20 Approved OASIS meeting 2013-09-24. Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@40 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652