summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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
2013-09-252.4.2.3: Remove VIRTIO_BLK_F_BARRIER.rusty
As per VIRTIO-19, 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@39 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2013-09-25Relegate the VIRTIO_BLK_F_SCSI feature to legacyrusty
As per issue virtio-18, 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@38 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2013-09-252.4.1.3: Remove VIRTIO_NET_F_GSOrusty
As per VIRTIO-17, 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@37 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2013-09-25Remove VIRTIO_F_NOTIFY_ON_EMPTYrusty
As per http://tools.oasis-open.org/issues/browse/VIRTIO-13 (Includes le8 -> u8 fix) 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@36 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2013-09-25Any layout is allowed (deprecate VIRTIO_F_ANY_LAYOUT)rusty
As per issue virtio-10, 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@35 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2013-09-18transitional: minor clarificationmstsirkin
It's useful to have a common term that includes transitional drivers running on legacy devices and legacy drivers running on transitional devices. The wording "using legacy interface" seems to describe this well, let's make this explicit. Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@34 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2013-09-112.5 Reserve device ID 0 (zero) as invalidrusty
See minutes: https://lists.oasis-open.org/archives/virtio/201309/msg00041.html Signed-off-by: Pawel Moll <pawel.moll@arm.com> Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@33 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2013-09-11VIRTIO_F_VERSION_1: indentifying legacy devices.rusty
Most of this text is taken directly from Michael Tsirkin's proposal, separated from the PCI-specific parts, and given an explicit feature name. See minutes: https://lists.oasis-open.org/archives/virtio/201309/msg00041.html Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@32 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2013-09-042.4.2.2 Define all MMIO registers as little endianrusty
Port of draft commit 88f37f9ec178b664213b77211fec03687b87958b. Signed-off-by: Pawel Moll <pawel.moll@arm.com> Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@31 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2013-09-032.5.6.6.3: add configuration change eventrusty
This adds an event for changes to LUN parameters, for example capacity. These are reported in virtio-blk via configuration changes, and we want a similar functionality in virtio-scsi too. There is no list of supported parameter changes, instead we just refer to the list of sense codes in the SCSI specification. This event will usually be serviced in one of three ways: 1) call an OS service to revalidate the disk, either always or only for some specific sense codes; 2) somehow pass the sense directly to the upper-level driver; 3) inject a TEST UNIT READY command into the upper-level device, so that the OS will see the unit attention code and react. Of course a mix of the three is also possible, depending on how the driver writer prefers to have his layering violations served. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> See: https://lists.oasis-open.org/archives/virtio-comment/201308/msg00032.html Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@30 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652