| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
Useful for releases with non-material changes.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
|
|
| |
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
|
|
|
|
| |
Drop space at beginning of cells.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
|
|
|
|
|
| |
Incomplete: need to massage the changelog manually.
But it's a start.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
|
|
| |
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
|
|
| |
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
| |
"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>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
| |
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
note: previous commit (fixup example code)
was missing in that revision. Will tag accordingly.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
Note: does not apply to lstinputlisting .
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
|
|
|
|
| |
not needed anymore and just confuses latex
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
| |
plays better with nw color scheme
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
|
|
| |
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
|
|
| |
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
|
|
| |
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
|
|
| |
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
|
|
|
|
| |
For now just rely on a manual list.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
|
|
|
|
| |
Tweak latex diff output some more to fix up failures.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
|
|
| |
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
|
|
| |
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
| |
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
|
|
|
|
| |
move to cl-cs04.tex
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
|
|
| |
This reverts commit c036ac7b4b507a3bbb9c74a9a941bcb611c96b4b.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
| |
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|