aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* scripts: ability to diff with multiple versionsMichael S. Tsirkin2019-03-256-6/+35
| | | | | | Useful for releases with non-material changes. Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
* gitattributes: make git diff easier to readMichael S. Tsirkin2019-03-241-0/+1
| | | | Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
* editorial: changelog: tweak formattingMichael S. Tsirkin2019-03-241-16/+16
| | | | | | Drop space at beginning of cells. Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
* editorial: gitlog.pl: generate the changelogMichael S. Tsirkin2019-03-241-0/+30
| | | | | | | Incomplete: need to massage the changelog manually. But it's a start. Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
* editorial: add changelog since csprd01Michael S. Tsirkin2019-03-241-1/+320
| | | | Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
* editorial: add labelsMichael S. Tsirkin2019-03-244-5/+4
| | | | Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
* block: drop duplicate textMichael S. Tsirkin2019-03-211-3/+1
| | | | | | | | | | | | | | | | | | | | | | In version 1.1 draft 01 - Section 5.2.6.4 - second bullet: Duplicated text "errors, data_len, sense_len and residual MUST reside in a single, separate device-writable descriptor" appears +both in the beginning and at the end of the 2nd sentence. The original text: For SCSI commands there are additional constraints. errors, data_len, sense_len and residual MUST reside in a single, separate device-writable descriptor, sense MUST reside in a single separate device-writable descriptor of size 96 bytes, and errors, data_len, sense_len and residual MUST reside a single separate device-writable descriptor. I suggest to delete the 1st one, so in the end result, fields are described in same order as appear in struct virtio_scsi_pc_req. Fixes: https://github.com/oasis-tcs/virtio-spec/issues/39 Reported-by: Gil Savir <gil.savir@intel.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
* conformance: fix confusion about legacy interfaceMichael S. Tsirkin2019-03-211-5/+1
| | | | | | | | | | | | | | | | | | The text describing the legacy interface also obliquely refers to a non-transitional implementation. This seems to cause confusion and there's no good reason to do it here: this section is about legacy interface and transitional devices, it add not value at all. Just drop it. Note: the spec does not make it clear whether description of the legacy interface is normative or not, and in particular, this section is not linked to from any conformance targets. Resolving that is left for later. Fixes: https://issues.oasis-open.org/browse/VIRTIO-167 Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Reviewed-by: Cornelia Huck <cohuck@redhat.com> Acked-by: Halil Pasic <pasic@linux.ibm.com>
* editorial: upgrade links to httpsMichael S. Tsirkin2019-03-212-4/+4
| | | | | | | | | | | | | | Several links have been upgraded and now redirect to the https version. Upgrade our version accordingly. Note that some other links use the status 301 - moved permanently apparently in error (e.g. for a language specific redirect), not updating these. Fixes: https://issues.oasis-open.org/browse/VIRTIO-173 Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> Reviewed-by: Jens Freimann <jfreimann@redhat.com>
* introduction: update link to IEEE 802Michael S. Tsirkin2019-03-211-1/+1
| | | | | | | | | | Looks like all GETIEEE links got broken. Let's just point to their main page. Fixes: https://issues.oasis-open.org/browse/VIRTIO-175 Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> Reviewed-by: Jens Freimann <jfreimann@redhat.com>
* conformance: tweak to match OASIS requirementsMichael S. Tsirkin2019-03-212-34/+38
| | | | | | | | | | | Number clauses as required by OASIS. Also reference the transitional clause. Fixes: https://issues.oasis-open.org/browse/VIRTIO-168 Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> Reviewed-by: Cornelia Huck <cohuck@redhat.com>
* editorial: explain each structure before useMichael S. Tsirkin2019-03-215-2/+19
| | | | | | | | | | | Several structures are listed before they are introduced in some way. Add a sentence before each one so they don't appear prior to any prose. Fixes: https://issues.oasis-open.org/browse/VIRTIO-166 Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> Reviewed-by: Cornelia Huck <cohuck@redhat.com>
* signal start and end of structures consistentlyMichael S. Tsirkin2019-03-212-7/+6
| | | | | | | | | | | | | Make sure all structs have the format: struct X { ... }; Fixes: https://issues.oasis-open.org/browse/VIRTIO-170 Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> Reviewed-by: Cornelia Huck <cohuck@redhat.com>
* conformance: add links to crypto and input devicesMichael S. Tsirkin2019-03-211-2/+2
| | | | | | Fixes: https://issues.oasis-open.org/browse/VIRTIO-174 Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
* format: replace "- i.e." with ", i.e.,"Michael S. Tsirkin2019-03-212-8/+8
| | | | | | | | | This seems to be preferred by native speakers, and seems just as effective as a sentence device. Fixes: https://issues.oasis-open.org/browse/VIRTIO-171 Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
* close issue 32Michael S. Tsirkin2019-03-080-0/+0
| | | | | | | | | | | | Previous changes: 5f1e981 virtio-blk: avoid inconsistent "DISCARD" term caffe5c virtio-blk: describe write zeroes unmap semantics c5c0ce7 virtio-blk: move virtio_blk_discard_write_zeroes definition bef3ff7 virtio-blk: document data[] size constraints addressed the issue. Fixes: https://github.com/oasis-tcs/virtio-spec/issues/32 Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
* virtio-blk: clarify semantics of multi-segment discard/write zeroes commandsStefan Hajnoczi2019-03-071-2/+21
| | | | | | | | | Describe the failure case and maximum number of segments in a multi-segment discard/write zeroes command. Fixes: https://github.com/oasis-tcs/virtio-spec/issues/34 Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
* virtio-blk: avoid inconsistent "DISCARD" termStefan Hajnoczi2019-03-071-1/+1
| | | | | | | | | "discard" (lowercase) is used throughout the text. Remove a lone instance of "DISCARD" (uppercase). Suggested-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
* virtio-blk: describe write zeroes unmap semanticsStefan Hajnoczi2019-03-071-1/+3
| | | | | | | | | | Explain the meaning of the unmap flag. The details are already covered in the device normative section but mentioning it here makes the text easier to understand. Suggested-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
* virtio-blk: move virtio_blk_discard_write_zeroes definitionStefan Hajnoczi2019-03-071-13/+16
| | | | | | | | | | struct virtio_blk_discard_write_zeroes is defined alongside struct virtio_blk_req but only discussed later in the text. Move it to where it belongs. Suggested-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
* virtio-blk: document data[] size constraintsStefan Hajnoczi2019-03-071-1/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | The struct virtio_blk_req->data[] field is a multiple of 512 bytes long for read and write requests. Flush requests don't use data[] at all. The new discard and write zeroes requests being introduced in VIRTIO 1.1 put struct virtio_blk_discard_write_zeroes elements into data[], so it must be a multiple of the struct size. The uint8_t data[][512] pseudo-code makes it look like discard and write zeroes requests must pad to 512 bytes. This wastes memory since struct virtio_blk_discard_write_data is only 16 bytes long. Furthermore, all known implementations wishing to take advantage of this upcoming VIRTIO 1.1 feature do not use 512-byte padding (Linux virtio_blk.ko, QEMU virtio-blk device emulation, the SPDK virtio-blk driver, and the SPDK vhost-user-blk device backend). This patch documents the data[] size constraints clearly in the driver normative section. This is clearer than the current pseudo-code. Cc: Michael S. Tsirkin <mst@redhat.com> Cc: Changpeng Liu <changpeng.liu@intel.com> Cc: Stefano Garzarella <sgarzare@redhat.com> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
* introduction: simplify the designation of legacyHalil Pasic2019-02-271-2/+2
| | | | | | | | | | | | | | | | The sentence designating the documents defining what later became known as the legacy virtio interface had the most important piece of information placed in parenthesis. Let's reword this sentence so we avoid using an ambiguous designation based on a relative anchor (i.e. 'earlier drafts of this specification') and just use the absolute anchor (version 1.0). VIRTIO-164 Signed-off-by: Halil Pasic <pasic@linux.vnet.ibm.com> Reviewed-by: Cornelia Huck <cohuck@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
* ccw: be more precise about the semantic of revision 1Halil Pasic2019-02-271-1/+1
| | | | | | | | | | | | | | | | Revision 1 of the CCW transport is currently defined as virtio 1.0. This could become confusing when we bump the version of the virtio specification to 1.1, in a sense that it could be interpreted like one can not use any features not part of the 1.0 specification. So let us try to avoid confusion regarding the semantic of virtio-ccw revision 1. VIRTIO-163 Signed-off-by: Halil Pasic <pasic@linux.vnet.ibm.com> Reviewed-by: Cornelia Huck <cohuck@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
* edit: drop more obsolete commands related to cs02Michael S. Tsirkin2019-01-111-2/+0
| | | | Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
* edit: address comments by Paul KnightMichael S. Tsirkin2019-01-114-18/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Several changes will be needed to the documents prepared by the TC: - date should be set to "20 December 2018" in subtitle, page footers, and citation format - "Previous version" should just show "N/A" instead of URIs from v1.0-cs04 (this is a new Version) - use "https" instead of http for all URIs for this specification. (including citation format) - insert actual stage name - "csprd01" instead of "wd12122018" in all of the URIs - replace "Working Draft" with "Committee Specification Draft 01 / Public Review Draft 01" in subtitle and in Citation format text. - change the "title" attribute/tag in the HTML file to be "Virtual I/O Device (VIRTIO) Version 1.1" instead of "... Version 1.0" - add reference to VIRTIO v1.0 in the "Related work" section, similar to the 0.9.5 reference (replaces or supersedes) - (Virtual I/O Device (VIRTIO) Version 1.0. Edited by Rusty Russell, Michael S. Tsirkin, Cornelia Huck, and Pawel Moll. Latest version: http://docs.oasis-open.org/virtio/virtio/v1.0/ virtio-v1.0.html.) - copied from v1.0-cs04 citation format block, with specific stage removed - set the copyright year to be 2018. (in "Notices" and in page footers (PDF)) - in "Citation format" only list the currently identified Editors - Michael S. Tsirkin and Cornelia Huck (or add other names into "Editors" list near top) - change "Chairs" to "Chair" near top - add the new IPR Policy text in the Status section and as Section 1.1 in the body (details below) - add the note on machine-readable content as the fourth paragraph in Status section (details below) Paragraph 3 of Status section AND Section 1.1 of the specification body "1.1 IPR Policy": <visible text><hyperlink> This specification is provided under the <Non-Assertion><https:// www.oasis-open.org/policies-guidelines/ipr#Non-Assertion-Mode> Mode of the <OASIS IPR Policy><https://www.oasis-open.org/policies-guidelines/ipr>, the mode chosen when the Technical Committee was established. For information on whether any patents have been disclosed that may be essential to implementing this specification, and any offers of patent licensing terms, please refer to the Intellectual Property Rights section of the TC's web page (<https:// www.oasis-open.org/committees/virtio/ipr.php><https://www.oasis-open.org/ committees/virtio/ipr.php>). Paragraph 4 of Status section: Note that any machine-readable content (<Computer Language Definitions><https:/ /www.oasis-open.org/policies-guidelines/tc-process#wpComponentsCompLang>) declared Normative for this Work Product is provided in separate plain text files. In the event of a discrepancy between any such plain text file and display content in the Work Product's prose narrative document(s), the content in the separate plain text file prevails. Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
* revision: update to 20 dec 2018Michael S. Tsirkin2019-01-111-1/+1
| | | | | | | note: previous commit (fixup example code) was missing in that revision. Will tag accordingly. Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
* packed-ring: fix used descriptor checking in example codeTiwei Bie2019-01-111-3/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the driver is processing used descriptors in parallel with adding new available descriptors, the driver can't just check whether USED bit equals to the used wrap counter when checking whether a descriptor is a used descriptor, because the driver also needs to check whether the descriptor has been made available. Below is an example: Assuming ring size is 4, ring's initial state will be: +----+----+----+----+ | 00 | 00 | 00 | 00 | +----+----+----+----+ 00 means AVAIL=0 USED=0, 01 means AVAIL=0 USED=1 10 means AVAIL=1 USED=0, 11 means AVAIL=1 USED=1 After the driver made two descriptor chains available and each chain consists of two descriptors, the ring could be: +----+-----------+----+-----------+ | 10 | 10 (id=0) | 10 | 10 (id=1) | +----+-----------+----+-----------+ After the device processed all the available descriptors and made them used (e.g. in order), the ring could be: +-----------+----+-----------+----+ | 11 (id=0) | 10 | 11 (id=1) | 10 | +-----------+----+-----------+----+ After the driver processed all the used descriptors and made one descriptor (not chained, just one descriptor) available, the ring could be: +-----------+----+----+----+ | 01 (id=0) | 10 | 11 | 10 | +-----------+----+----+----+ After the device made that descriptor used, the ring will be: +-----------+----+----+----+ | 00 (id=0) | 10 | 11 | 10 | +-----------+----+----+----+ If the driver just checks whether USED bit equals to the used wrap counter when checking whether a descriptor is a used descriptor, after processing the first descriptor (whose AVAIL and USED bits are both 0), and advancing vq->next_used pointer, it will then also treat the next descriptor, i.e. the second descriptor (whose AVAIL and USED bits are 1 and 0 respectively) as a used descriptor which is wrong. Fixes: https://github.com/oasis-tcs/virtio-spec/issues/29 Signed-off-by: Tiwei Bie <tiwei.bie@intel.com> Reviewed-by: Cornelia Huck <cohuck@redhat.com> Approved-by: https://www.oasis-open.org/committees/ballot.php?id=3184
* edit: diff: color added listings greenMichael S. Tsirkin2019-01-111-5/+19
| | | | | | Note: does not apply to lstinputlisting . Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
* edit: drop groups from DIFnomarkupMichael S. Tsirkin2019-01-111-2/+0
| | | | | | not needed anymore and just confuses latex Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
* edit: drop hyperlink coloring from diffMichael S. Tsirkin2019-01-111-5/+4
| | | | | | | | Looks nice but creates lots of problems with coloring as packages begin to conflict. Drop it for now. Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
* edit: use dark green for diffsMichael S. Tsirkin2019-01-111-3/+6
| | | | | | plays better with nw color scheme Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
* edit: pick up a cleanup commit for diffMichael S. Tsirkin2019-01-111-0/+1
| | | | Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
* edit: minor diffpreable cleanupMichael S. Tsirkin2019-01-111-4/+2
| | | | Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
* edit: fixupdiff: fix more unresolved referencesMichael S. Tsirkin2019-01-111-0/+2
| | | | Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
* edit: drop obsolete commands related to cs02Michael S. Tsirkin2019-01-112-8/+1
| | | | Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
* edit: teach diff to re-add back missing labelsMichael S. Tsirkin2019-01-111-0/+30
| | | | | | For now just rely on a manual list. Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
* edit: more fixup diff hacksMichael S. Tsirkin2019-01-111-2/+13
| | | | | | Tweak latex diff output some more to fix up failures. Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
* edit: don't stop on empty cherry-picksMichael S. Tsirkin2019-01-111-2/+2
| | | | Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
* packed-ring: put normative on one lineMichael S. Tsirkin2019-01-111-3/+1
| | | | Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
* split-ring: document in-order operationMichael S. Tsirkin2018-12-121-0/+28
| | | | | | | | | | | | | | | The point of in-order for the device is to be able to skip writing out some used descriptors, but the documentation that we have was put in the packed ring section and written in a way specific to the packed ring. Writing it in a generic way is tricky, for now this patch just copies the text from the packed ring to the split ring section, with minor tweaks. Fixes: https://github.com/oasis-tcs/virtio-spec/issues/30 Suggested-by: Jason Wang <jasowang@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
* virtio-net: changing VIRTIO_NET_F_RSC_EXT from 38 to 61Yuri Benditovich2018-12-121-1/+1
| | | | | | | | Changing feature bit per TC request. Signed-off-by: Yuri Benditovich <yuri.benditovich@daynix.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Acked-by: Cornelia Huck <cohuck@redhat.com>
* edit: update VERSIONMichael S. Tsirkin2018-12-121-1/+1
| | | | Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
* edit: drop cs04 changelogMichael S. Tsirkin2018-12-122-133/+135
| | | | | | move to cl-cs04.tex Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
* Revert "edit: drop cs04 changelog"Michael S. Tsirkin2018-12-121-1/+133
| | | | This reverts commit c036ac7b4b507a3bbb9c74a9a941bcb611c96b4b.
* content: RSC extension support for virtio-netYuri Benditovich2018-12-121-9/+29
| | | | | | | | | | | | | Allocates feature bit for extended RSC (receive side coalescing) support. If the device supports this feature, it is able to process duplicated ACKs and report number of coalesced TCP segments amd number of received duplicated ACKs. Fixes: https://github.com/oasis-tcs/virtio-spec/issues/20 Signed-off-by: Yuri Benditovich <yuri.benditovich@daynix.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
* packed-ring: fix queue size for pciMichael S. Tsirkin2018-12-122-3/+10
| | | | | | | | | | | | | PCI is the only transport that has text enforcing a power of two size for VQs. There's no real reason for it to do it, so document that it does not apply with the packed rings. Accordingly, drop the text "unless enforced by a transport" from packed ring description. Fixes: https://github.com/oasis-tcs/virtio-spec/issues/28 Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
* VIRTIO_F_NOTIFICATION_DATA: extra data to devicesMichael S. Tsirkin2018-12-123-8/+124
| | | | | | | | | | | | Some devices benefit from ability to find out the number of available descriptors in the ring: for efficiency or as a debugging aid. To help with these optimizations, add a new feature: VIRTIO_F_NOTIFICATION_DATA. When negotiated, driver notifications to the device include this extra information. Fixes: https://github.com/oasis-tcs/virtio-spec/issues/26 Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
* ACCESS_PLATFORM/ORDER_PLATFORMMichael S. Tsirkin2018-12-121-22/+53
| | | | | | | | | | | | | | | | | | | | | | | | | This is an attempt to clarify the intent behind VIRTIO_F_IOMMU_PLATFORM and VIRTIO_F_IO_BARRIER which based on recent discussions appear to be hard to understand. - rename VIRTIO_F_IOMMU_PLATFORM to ACCESS_PLATFORM It is already the fact that the DMA API that Linux uses does more than just IOMMUs - it includes cache flushing, bounce buffers for limited addressing, etc. Update spec to match this reality. - rename VIRTIO_F_IO_BARRIER to VIRTIO_F_ORDER_PLATFORM this is after all what device is telling driver: its memory accesses are only ordered weakly, this is why a stronger barrier is required. - As no one yet implemented IO_BARRIER yet, add a recommendation to have a software fallback so that existing drivers aren't broken. Fixes: https://github.com/oasis-tcs/virtio-spec/issues/25 Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
* vsock: add vsock deviceStefan Hajnoczi2018-12-123-2/+299
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | The virtio vsock device is a zero-configuration socket communications device. It is designed as a guest<->host management channel suitable for communicating with guest agents. vsock is designed with the sockets API in mind and the driver is typically implemented as an address family (at the same level as AF_INET). Applications written for the sockets API can be ported with minimal changes (similar amount of effort as adding IPv6 support to an IPv4 application). Unlike the existing console device, which is also used for guest<->host communication, multiple clients can connect to a server at the same time over vsock. This limitation requires console-based users to arbitrate access through a single client. In vsock they can connect directly and do not have to synchronize with each other. Unlike network devices, no configuration is necessary because the device comes with its address in the configuration space. The vsock device was prototyped by Gerd Hoffmann and Asias He. I picked the code and design up from them. Fixes: https://github.com/oasis-tcs/virtio-spec/issues/27 Cc: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
* edit: drop cs04 changelogMichael S. Tsirkin2018-11-301-133/+1
| | | | Signed-off-by: Michael S. Tsirkin <mst@redhat.com>