summaryrefslogtreecommitdiff
path: root/virtio-v1.0-wd01-part1-specification.txt
AgeCommit message (Collapse)Author
2013-11-112.3.2 MMIO: Define reset requirementshornet
This patch addresses VIRTIO-47, adding explicit description of the device behaviour when being reset. As per meeting 2013-11-05 https://lists.oasis-open.org/archives/virtio/201311/msg00031.html Signed-off-by: Pawel Moll <pawel.moll@arm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@93 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2013-11-10virtio-pci: access device using configmstsirkin
VIRTIO-39. 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@92 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2013-11-10compatibility: extendable config space and pci cfgmstsirkin
We often specify specific layout of config space, in the past drivers took this to mean "there will be no other fields" and failed devices where config space was larger. To avoid such issues in the future, document that drivers should only check size is >= the required value. VIRTIO-48 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@91 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2013-11-10pci: use revision id 1 or higher for non transitional devicesmstsirkin
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@90 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
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