Age | Commit message (Collapse) | Author | Files | Lines |
|
This reference to 'padding' is a leftover from a previous draft of the
virtio-iommu device. The field doesn't exist anymore, remove the
requirement.
Signed-off-by: Jean-Philippe Brucker <jean-philippe@linaro.org>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
The repo hasn't been hosted in subversion for a while so the documents
are no longer relevant to working with the repo. Also remove the
unused code in the makezip.sh tool.
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Approved-by: https://www.oasis-open.org/committees/ballot.php?id=3184
|
|
Maximal can mean "local as opposed to a global maximum". Rest of the
spec says maximum everywhere. Let's be consistent.
Cc: Yuri Benditovich <yuri.benditovich@daynix.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
Add some notes about fetching the EDID information.
Fixes: https://github.com/oasis-tcs/virtio-spec/issues/64
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
Add 3d commands to the command enumeration.
Add a section with a very short overview.
Fixes: https://github.com/oasis-tcs/virtio-spec/issues/65
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
Document as used by Linux.
Fixes: https://github.com/oasis-tcs/virtio-spec/issues/59
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
|
|
The point of rng is to give data to driver so of course
all buffers are driver readable. What shouldn't be there
is device readable buffers - this matches our terminology
elsewhere too (read/write-ability is from POV of device).
Fixes: https://github.com/oasis-tcs/virtio-spec/issues/55
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Pankaj Gupta <pagupta@redhat.com>
|
|
Reserve device ID 30 for video encoder device and 31 for video decoder device.
Signed-off-by: Keiichi Watanabe <keiichiw@chromium.org>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Acked-by: Gerd Hoffmann <kraxel@redhat.com>
|
|
The IOMMU device allows a guest to manage DMA mappings for physical,
emulated and paravirtualized endpoints. Add device description for the
virtio-iommu device and driver. Introduce PROBE, ATTACH, DETACH, MAP and
UNMAP requests, as well as translation error reporting.
Fixes: https://github.com/oasis-tcs/virtio-spec/issues/37
Signed-off-by: Jean-Philippe Brucker <jean-philippe.brucker@arm.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
At end of each sentence, for consistency.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
Typo/grammar fixes as suggested by Cornelia (and a couple
noticed by myself).
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
Fixes: https://github.com/oasis-tcs/virtio-spec/issues/48
Added support for RSS receive steering mode.
Signed-off-by: Yuri Benditovich <yuri.benditovich@daynix.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
People still seem to be confused which list is for what.
Add a bit more text.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
|
|
When we mean PCI register we should say BAR.
When we mean a virtio config register we should say \field{cap.bar}.
Finally, offset_hi/length_hi are not within the cap structure.
Tweak wording slightly: "A,B,C" are fields, there's no need
to say that.
Reported-by: Christophe de Dinechin <cdupontd@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
|
|
Vendors might want to add their own capability in the PCI capability
list. However, Virtio already uses the vendor specific capability ID
(0x09) for its own purposes.
Provide a structure for vendor specific extensions.
Fixes: https://github.com/oasis-tcs/virtio-spec/issues/62
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
This reverts commit 111d65c69c47090525eaa1ce43831e20657cbef3.
|
|
Signed-off-by: Huang Yang <yang.huang@intel.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Fixes: https://github.com/oasis-tcs/virtio-spec/issues/58
|
|
Add virtio RPMB (Replay Protected Memory Block) device documentation to
spec.
Signed-off-by: Yang Huang <yang.huang@intel.com>
Reviewed-by: Bing Zhu <bing.zhu@intel.com>
Reviewed-by: Tomas Winkler <tomas.winkler@intel.com>
Fixes: https://github.com/oasis-tcs/virtio-spec/issues/53
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
This reverts commit bc2cf84cc7b29349b6f7effdb955b83afaf298f7.
Pushed by mistake.
|
|
This reverts commit 72a801b9a53a4aeca759458c50be67cc32914a71.
Pushed by mistake.
|
|
This reverts commit 3ea1af6afb4cccb9a12c59c27e9df74505e5289e.
Pushed by mistake.
|
|
The point of rng is to give data to driver so of course
all buffers are driver readable. What shouldn't be there
is device readable buffers - this matches our terminology
elsewhere too (read/write-ability is from POV of device).
Fixes: https://github.com/oasis-tcs/virtio-spec/issues/55
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
Document as used by Linux.
Fixes: https://github.com/oasis-tcs/virtio-spec/issues/59
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
If a hardware implementation of virtio does not have
the correct subsystem id, then drivers can't report
ir properly, or detect and work around bugs.
Change the requirement from MAY to SHOULD.
We can't make it a MUST since we did not require this
historically.
Fixes: https://github.com/oasis-tcs/virtio-spec/issues/61
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
Vendors might want to add their own capability in the PCI capability
list. However, Virtio already uses the vendor specific capability ID
(0x09) for its own purposes.
Provide a structure for vendor specific extensions.
Fixes: https://github.com/oasis-tcs/virtio-spec/issues/62
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
And tweak a sentence slightly.
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
|
|
Includes device implementation note for using hdr_len
Signed-off-by: Vitaly Mireyno <vmireyno@marvell.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Fixes: https://github.com/oasis-tcs/virtio-spec/issues/57
|
|
Project ACRN has a virtio-audio device. Unfortunately, the id they are using is
already reserved in the virtio specification, but it is nevertheless useful to
have one.
Fixes: https://github.com/oasis-tcs/virtio-spec/issues/42
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
It's balloon, not ballon.
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Stefan Fritsch <sf@sfritsch.de>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
These have been changed in ae98c6bc21bc. Convert the rest.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Fixes: https://github.com/oasis-tcs/virtio-spec/issues/52
|
|
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
5.5.6.3 Memory Statistics: 6 -> 10 byte
> Within the buffer, statistics are an array of 6-byte entries.
^
> Each statistic consists of a 16 bit tag and a 64 bit value.
...
> struct virtio_balloon_stat {
...
> le16 tag;
> le64 val;
> } __attribute__((packed));
If my calculation is right that is a (16 + 64) = 80 bits which is a
10-byte sized entry - not 6-byte.
Fixes: https://github.com/oasis-tcs/virtio-spec/issues/45
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
Signed-off-by: Eugenio Pérez <eperezma@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Fixes: https://github.com/oasis-tcs/virtio-spec/issues/51
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
|
|
Also let's not include the link as that's not the best place
to get it (TeX-Live is).
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
The field is named config_msix_vector in the rest of the document,
use the same name in the struct.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Fixes: https://github.com/oasis-tcs/virtio-spec/issues/41
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
|
|
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
|
|
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
|
|
The spec miss that field. Add the field, some description around.
I've followed the network device's multiqueue mentions, and copied /
adapted when needed.
Fixes: https://github.com/oasis-tcs/virtio-spec/issues/50
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Eugenio Pérez <eperezma@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
Currently, it slips under the Packed Virtqueues section while it is not
specific to this format.
At this chance, capitalize "Notifications".
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
Trying to escaping ^ here only leaves the backslash in the output.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
Switch to <DL> from manual formatting with <BR> and <P>.
Clarify wording a bit.
Add hints on what to do in case of missing fonts.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
Signed-off-by: Yoni Bettan <ybettan@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Eduardo Habkost <ehabkost@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
|
|
'Arial' and 'Courier New' fonts are not installed in TeX Live by default
therefore when building the spec document using 'makeall.sh' on a Linux machine,
that usually have Tex Live installed, we get fonts error for those fonts.
This patch is checking if those fonts exist on the machine inside the
tex document and if not change them to freely-available fonts:
Arial -> Liberation Sans
Courier New -> Liberation Mono
Signed-off-by: Yoni Bettan <ybettan@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Eduardo Habkost <ehabkost@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
|
|
Describe how shared memory region ID 0 is the DAX window and how
FUSE_SETUPMAPPING maps file ranges into the window.
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Fixes: https://github.com/oasis-tcs/virtio-spec/issues/49
|
|
The virtio file system device transports Linux FUSE requests between a
FUSE daemon running on the host and the FUSE driver inside the guest.
The actual FUSE request definitions are not duplicated in the virtio
specification, similar to how virtio-scsi does not document SCSI
command details. FUSE request definitions are available here:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/include/uapi/linux/fuse.h
This patch documents the core virtio file system device, which is
functional but lacks the DAX feature introduced in the next patch.
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Fixes: https://github.com/oasis-tcs/virtio-spec/issues/49
|
|
Similar to the MAC address based filtering, the VLAN filtering
is also best-effort in implementations, but it's not quite clear
in the spec. So document this behaviour explicitly to reflect
the way implementations behave.
Signed-off-by: Tiwei Bie <tiwei.bie@intel.com>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Fixes: https://github.com/oasis-tcs/virtio-spec/issues/47
|
|
Signed-off-by: Tiwei Bie <tiwei.bie@intel.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Fixes: https://github.com/oasis-tcs/virtio-spec/issues/46
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
|
|
Fix double hex in SHM*High defs.
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
|
|
Signed-off-by: Nikos Dragazis <ndragazis@arrikto.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
|
|
Define an MMIO interface to discover and map shared
memory regions.
Fixes: https://github.com/oasis-tcs/virtio-spec/issues/40
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
Define the PCI capability used for enumerating shared memory regions.
Fixes: https://github.com/oasis-tcs/virtio-spec/issues/40
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
|
|
Define 'virtio_pci_cap64' to allow capabilities to describe
memory regions larger than, or with an offset larger than 4GiB.
This will be used by the shared memory region capability.
Fixes: https://github.com/oasis-tcs/virtio-spec/issues/40
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
For the virtio-fs device we require multiple large shared memory
regions. Differentiate these by an 'id' field in the base capability.
Fixes: https://github.com/oasis-tcs/virtio-spec/issues/40
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
Define the requirements and idea behind shared memory regions.
Fixes: https://github.com/oasis-tcs/virtio-spec/issues/40
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.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>
|
|
We need a device ID for virtio-pmem devices. As 25 is requested by
audio device and 26 is requested by virtio-fs, so requesting
next available(27). Also, updated the previously requested github
issue[1] for voting.
Fixes: https://github.com/oasis-tcs/virtio-spec/issues/38
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Signed-off-by: Pankaj Gupta <pagupta@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
Reserve device ID 26 for virtio-fs devices.
Fixes: https://github.com/oasis-tcs/virtio-spec/issues/31
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
We prefer receiving comments as patches.
Describe how to generate them.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
OASIS: same as other companies, just list the name, not the role.
M2Mi: use the short version of the name.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
Not all commenters sent an orderly "Reviewed-by" tag. Some just
contributed to the discussion on the mailing list.
Add their names and affiliation from the mailing list archives.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
Use a subsection instead of a title page, otherwise
list of acknowledged people spills over to the next page.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
Add all current members as participants.
Add all participant names collected from list, jira and github.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
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>
|
|
As he's not a TC member right now.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
Set to wd01 for now.
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>
|
|
fixed to be consistent with the device/driver terminology in other surrounding descriptions
Signed-off-by: Daniel Marcovitch <danielm@mellanox.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Fixes: https://github.com/oasis-tcs/virtio-spec/issues/24
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
Signed-off-by: Daniel Marcovitch <danielm@mellanox.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Fixes: https://github.com/oasis-tcs/virtio-spec/issues/24
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
Support has been added to the linux kernel version 4.1
and to qemu version 2.4.
Signed-off-by: Ladi Prosek <lprosek@redhat.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Fixes: https://github.com/oasis-tcs/virtio-spec/issues/23
|
|
The feature allows the guest request an EDID blob (describing monitor
capabilities) for a given scanout (aka virtual monitor connector).
It brings a new command message, which has just a scanout field (beside
the standard virtio-gpu header) and a response message which carries the
EDID data.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Fixes: https://github.com/oasis-tcs/virtio-spec/issues/22
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
These bits are in use by current Windows production driver
for virtio-net. If virtio-net device uses one of them
the driver will not function. Reserving these bits for
virtio-net device until current production driver reaches EOL.
Fixes: https://github.com/oasis-tcs/virtio-spec/issues/21
Signed-off-by: Yuri Benditovich <yuri.benditovich@daynix.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
Document the driver requirements for the VIRTIO_F_SR_IOV
feature bit.
Suggested-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Tiwei Bie <tiwei.bie@intel.com>
Fixes: https://github.com/oasis-tcs/virtio-spec/issues/13
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
|
|
Reserve device ID 24 for virtio-mem devices.
Signed-off-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Acked-by: Cornelia Huck <cohuck@redhat.com>
Fixes: https://github.com/oasis-tcs/virtio-spec/issues/9
|
|
Suggested-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Tiwei Bie <tiwei.bie@intel.com>
Fixes: https://github.com/oasis-tcs/virtio-spec/issues/14
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
|
|
There is a part called "device status field" in a
Virtio device. Currently, both of \field{status}
and \field{device status} are used to refer to it,
which is a bit confusing. This patch changes spec
to use \field{device status} consistently.
Suggested-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Tiwei Bie <tiwei.bie@intel.com>
Fixes: https://github.com/oasis-tcs/virtio-spec/issues/15
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
fixes undefined reference errors
|
|
fixes multiply defined label error
|
|
Add the conformance targets and clauses for
virtio-crypto device.
Fixes: https://github.com/oasis-tcs/virtio-spec/issues/19
Signed-off-by: Gonglei <arei.gonglei@huawei.com>
Signed-off-by: Zhoujian <jianjay.zhou@huawei.com>
Signed-off-by: Longpeng(Mike) <longpeng2@huawei.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
The virtio crypto device is a virtual crypto device (ie. hardware
crypto accelerator card). Currently, the virtio crypto device provides
the following crypto services: CIPHER, MAC, HASH, and AEAD.
In this patch, CIPHER, MAC, HASH, AEAD services are introduced.
VIRTIO-153
Signed-off-by: Gonglei <arei.gonglei@huawei.com>
Signed-off-by: Zhoujian <jianjay.zhou@huawei.com>
Signed-off-by: Longpeng(Mike) <longpeng2@huawei.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
The virtio crypto device is a virtual crypto device (ie. hardware
crypto accelerator card). Currently, the virtio crypto device provides
the following crypto services: CIPHER, MAC, HASH, and AEAD.
In this patch, CIPHER, MAC, HASH, AEAD services are introduced.
VIRTIO-153
Signed-off-by: Gonglei <arei.gonglei@huawei.com>
Signed-off-by: Zhoujian <jianjay.zhou@huawei.com>
Signed-off-by: Longpeng(Mike) <longpeng2@huawei.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
The specifications of some virtio device types are still using the old
terminology for used buffer notifications and configuration change
notifications calling these interrupts.
Let us fix that.
Fixes: https://github.com/oasis-tcs/virtio-spec/issues/16
Signed-off-by: Halil Pasic <pasic@linux.ibm.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
The various notifications are introduced and specified in the common
(i.e. transport agnostic) portion of this specification. How
notifications are realised for a given transport is something each
transport has to specify.
Let's make the relationship between the virtio over MIIO terms and the
common terms more obvious.
Signed-off-by: Halil Pasic <pasic@linux.ibm.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
|
|
The various notifications are introduced and specified in the common
(i.e. transport agnostic) portion of this specification. How
notifications are realised for a given transport is something each
transport has to specify.
Let's make the relationship between the PCI terms and the common
terms more obvious.
Signed-off-by: Halil Pasic <pasic@linux.ibm.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
|
|
The various notifications are introduced and specified in the common
(i.e. transport agnostic) portion of this specification. How
notifications are realised for a given transport is something each
transport has to specify.
Let's make the relationship between the virtio-ccw terms and the common
terms more obvious.
Signed-off-by: Halil Pasic <pasic@linux.ibm.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
Let's introduce notifications as basic virtio facility early on. This
shall not only increase the cohesion between core and transport
description by having a well-defined place where notifications are
introduced, but also give us the opportunity to explain some
discrepancies.
Namely notifications sent by the device to the driver were often called
interrupts prior to v1.1. Getting completely rid of that terminology is
however not viable in case of some names.
Signed-off-by: Halil Pasic <pasic@linux.ibm.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
|
|
Let us unify the wording when talking about notifications. This change
establishes the terms available buffer notification for what was usually
simply called notification or virtqueue notification in v1.0 and used
buffer notification for what was usually called interrupt.
The term configuration change notification in kept where called so and
consolidated where it's called configuration change interrupt or
similar.
The changes done here are limited to the core part, and don't
conceptually involve neither the transports nor the devices (references
are updated though). Future changes should address these parts.
Signed-off-by: Halil Pasic <pasic@linux.ibm.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
|
|
Support for 2d mode (3d/virgl mode is not covered by this patch) has
been added to the linux kernel version 4.2 and to qemu version 2.4.
Cc: Laszlo Ersek <lersek@redhat.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Acked-by: Laszlo Ersek <lersek@redhat.com>
Tested-by: Laszlo Ersek <lersek@redhat.com>
Fixes: https://github.com/oasis-tcs/virtio-spec/issues/17
|
|
VIRTIO_NET_F_STANDBY feature enables hypervisor to indicate virtio_net
device to act as a standby for another device with the same MAC address.
Signed-off-by: Sridhar Samudrala <sridhar.samudrala@intel.com>
Acked-by: Cornelia Huck <cohuck@redhat.com>
Fixes: https://github.com/oasis-tcs/virtio-spec/issues/18
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
Allocate a feature bit for virtio devices which support SR-IOV.
Note: at proposer's request, driver requirements have been
omitted - a reworked version is now being discussed.
Suggested-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Tiwei Bie <tiwei.bie@intel.com>
Fixes: https://github.com/oasis-tcs/virtio-spec/issues/11
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Acked-by: Cornelia Huck <cohuck@redhat.com>
|
|
There will be hardware virtio devices in the future, which
require drivers to use the barriers suitable for I/O devices,
compared with software virtio devices which just require
drivers to use the barriers suitable for CPU cores.
To fix the ordering issue for hardware virtio devices, add
a new feature: VIRTIO_F_IO_BARRIER. When negotiated, driver
will use the barriers suitable for I/O devices.
Fixes: https://github.com/oasis-tcs/virtio-spec/issues/10
Signed-off-by: Tiwei Bie <tiwei.bie@intel.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
|
|
The Linux kernel exports the number of successful and failed
hugetlb page allocations via the virtio balloon driver. These
two counts need to be documented in this specification.
Fixes: https://github.com/oasis-tcs/virtio-spec/issues/8
Signed-off-by: Jonathan Helman <jonathan.helman@oracle.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
authoritative source is the tagged version.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
Only the device updates the used ring.
This looks like a typo as a result of copy-paste from the description of
the Available Ring.
Fixes: https://github.com/oasis-tcs/virtio-spec/issues/12
Signed-off-by: Christoffer Dall <christoffer.dall@arm.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
|
|
This reverts commit 396b1957817e0bd14697e28d9fe61bfc80f1350f.
Was pushed by mistake.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
Unfortunately some systems (e.g. RHEL7.5 and derivatives) lack
the ellipsis package. As it's function is merely cosmetic,
support these systems by loading the package conditionally.
Tested-by: Mihai Carabas <mihai.carabas@oracle.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
We don't really use todonotes, this dependency can be dropped. We do
need to import xcolor which was previously pulled in by todonotes.
Tested-by: Mihai Carabas <mihai.carabas@oracle.com>
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.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
Either "an example of driver code" or "a driver code example" would
work.
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Fixes: https://github.com/oasis-tcs/virtio-spec/issues/7
Approved-by: https://www.oasis-open.org/committees/ballot.php?id=3184
|
|
Either it needs to be "the descriptors flags are update" (since "flags"
is plural) or "the descriptor flags field is updated". Since "flags" is
a name of a specific field, I chose the latter solution.
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Fixes: https://github.com/oasis-tcs/virtio-spec/issues/7
Approved-by: https://www.oasis-open.org/committees/ballot.php?id=3184
|
|
There are two instances where plural needs to be used instead of
singular:
1. "descriptor(s)" is used later in the text, so use it consistently
instead of starting with "descriptor" and switching later.
2. "What follows is the requirements" ->
"What follows are the requirements"
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Fixes: https://github.com/oasis-tcs/virtio-spec/issues/7
Approved-by: https://www.oasis-open.org/committees/ballot.php?id=3184
|
|
Names are capitalized, like the Element Length field. General terms
like descriptor are not capitalized.
This patch fixes two instances where this is inconsistent.
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Fixes: https://github.com/oasis-tcs/virtio-spec/issues/7
Approved-by: https://www.oasis-open.org/committees/ballot.php?id=3184
|
|
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Fixes: https://github.com/oasis-tcs/virtio-spec/issues/7
Approved-by: https://www.oasis-open.org/committees/ballot.php?id=3184
|
|
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Fixes: https://github.com/oasis-tcs/virtio-spec/issues/7
Approved-by: https://www.oasis-open.org/committees/ballot.php?id=3184
|
|
There are several sentence structures used throughout the text where an
article is missing. For example:
... allocated by driver.
or
Driver then notifies the device.
Standards documents normally use complete sentences so this patch adds
the missing articles required before the noun ("driver"):
... allocated by the driver.
or
The driver then notifies the device.
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Fixes: https://github.com/oasis-tcs/virtio-spec/issues/7
Approved-by: https://www.oasis-open.org/committees/ballot.php?id=3184
|
|
The flag VIRTIO_NET_HDR_F_DATA_VALID is aleady mentioned in the virtio-net
spec however it is not defined in the struct. This flag is already defined
and used in virtio-net device in Qemu as well as some of it's drivers.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Fixes: https://github.com/oasis-tcs/virtio-spec/issues/6
Approved-by: https://www.oasis-open.org/apps/org/workgroup/virtio/ballot.php?id=3182
|
|
Linux kernel provides some balloon memory statistics that were not
included in the specs. Include them to avoid any ID clashes in the
future.
Signed-off-by: Tomáš Golembiovský <tgolembi@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Fixes: https://github.com/oasis-tcs/virtio-spec/issues/4
Approved-by: https://www.oasis-open.org/apps/org/workgroup/virtio/ballot.php?id=3180
|
|
Existing virtio-blk protocol doesn't have DISCARD/WRITE ZEROES support,
this will impact the performance when using SSD backend over file systems.
Here is the proposal to extend existing virtio-blk protocol to support
DISCARD/WRITE ZEROES commands.
Basic idea here is using 16 Bytes payload to support 1 descriptor, users
can put several segments together with 1 DISCARD/WRITE ZEROES command.
struct virtio_blk_discard_write_zeroes {
le64 sector;
le32 num_sectors;
struct {
le32 unmap:1;
le32 reserved:31;
} flags;
};
For the purpose to support such feature, we need to introduce 2 new feature
flags: VIRTIO_BLK_F_DISCARD/VIRTIO_BLK_F_WRITE_ZEROES, and 2 new command
types: VIRTIO_BLK_T_DISCARD/VIRTIO_BLK_T_WRITE_ZEROES. Also we introduce
several new parameters in the configuration space of virtio-blk:
max_discard_sectors/max_discard_seg/max_write_zeroes_sectors.
These parameters will tell the OS what's the granularity when
issuing such commands.
If both DISCARD and WRITE ZEROES are supported, unmap flag bit maybe used
for WRITE ZEROES command with DISCARD bit enabled.
Signed-off-by: Changpeng Liu <changpeng.liu@intel.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Approved-by: https://www.oasis-open.org/apps/org/workgroup/virtio/ballot.php?id=3181
Fixes: https://github.com/oasis-tcs/virtio-spec/issues/5
|
|
For a split ring, require that drivers use descriptors in order too.
This allows devices to skip reading the available ring.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Approved-by: https://www.oasis-open.org/apps/org/workgroup/virtio/ballot.php?id=3177
Fixes: https://github.com/oasis-tcs/virtio-spec/issues/3
|
|
Support in-order requests for packed rings.
This allows selective write-out of used descriptors.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Approved-by: https://www.oasis-open.org/apps/org/workgroup/virtio/ballot.php?id=3177
Fixes: https://github.com/oasis-tcs/virtio-spec/issues/3
|
|
Using descriptors in-order is sometimes beneficial. Add an option for
that - per-format detail allowing more optimizations will be added by
follow-up patches.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Approved-by: https://www.oasis-open.org/apps/org/workgroup/virtio/ballot.php?id=3177
Fixes: https://github.com/oasis-tcs/virtio-spec/issues/3
|
|
Performance analysis of this is in my kvm forum 2016 presentation. The
idea is to have a r/w descriptor in a ring structure, replacing the used
and available ring, index and descriptor buffer.
This is also easier for devices to implement than the 1.0 layout.
Several more enhancements will be necessary to actually make this
efficient for devices to use.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Acked-by: Cornelia Huck <cohuck@redhat.com>
Approved-by: https://www.oasis-open.org/apps/org/workgroup/virtio/ballot.php?id=3177
Fixes: https://github.com/oasis-tcs/virtio-spec/issues/3
|
|
Approved-by: https://www.oasis-open.org/apps/org/workgroup/virtio/ballot.php?id=3177
Fixes: https://github.com/oasis-tcs/virtio-spec/issues/3
|
|
Update generic text to talk about available/used buffers, not rings.
Move some split-ring specific text to the correct section.
Update conformance section with link to the new conformance clause.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Approved-by: https://www.oasis-open.org/apps/org/workgroup/virtio/ballot.php?id=3177
Fixes: https://github.com/oasis-tcs/virtio-spec/issues/3
|
|
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Approved-by: https://www.oasis-open.org/apps/org/workgroup/virtio/ballot.php?id=3177
Fixes: https://github.com/oasis-tcs/virtio-spec/issues/3
|
|
Replace descriptor table/available ring/used ring
with descriptor area/driver area/device area
in all transports.
Document what's in which area.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Approved-by: https://www.oasis-open.org/apps/org/workgroup/virtio/ballot.php?id=3177
Fixes: https://github.com/oasis-tcs/virtio-spec/issues/3
|
|
Document buffer used len and use that terminology everywhere in the
generic section.
Further, drop the 'used ring' terminology and just say virtqueue.
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Approved-by: https://www.oasis-open.org/apps/org/workgroup/virtio/ballot.php?id=3177
Fixes: https://github.com/oasis-tcs/virtio-spec/issues/3
|
|
virtqueue operation description is specific to the virtqueue
format. Move it out to split-ring.tex and update all
references.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Approved-by: https://www.oasis-open.org/apps/org/workgroup/virtio/ballot.php?id=3177
Fixes: https://github.com/oasis-tcs/virtio-spec/issues/3
|
|
Will be easier to manage this way.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Approved-by: https://www.oasis-open.org/apps/org/workgroup/virtio/ballot.php?id=3177
Fixes: https://github.com/oasis-tcs/virtio-spec/issues/3
|
|
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Approved-by: https://www.oasis-open.org/apps/org/workgroup/virtio/ballot.php?id=3177
Fixes: https://github.com/oasis-tcs/virtio-spec/issues/3
|
|
Bitfields are a useful and familiar way to specify sub-byte structure
layout. The only issue is that bitfield order isn't portable across
architectures. Document that we list bitfields from least to
most significant one, and warn about portability issues.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Approved-by: https://www.oasis-open.org/apps/org/workgroup/virtio/ballot.php?id=3177
Fixes: https://github.com/oasis-tcs/virtio-spec/issues/3
|
|
Document that we don't accept pull requests at this point.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
Fixes: VIRTIO-155
Approved-by: https://www.oasis-open.org/apps/org/workgroup/virtio/ballot.php?id=3118
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
Add links to admin repo and mailing lists.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
Reserve device ID 23 for virtio-iommu devices.
Resolved VIRTIO-162
Approved https://www.oasis-open.org/apps/org/workgroup/virtio/ballot.php?id=3155
Signed-off-by: Jean-Philippe Brucker <jean-philippe.brucker@arm.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
|
|
VIRTIO-84 added a requirement that each buffer is > header size but
there's no reason to require that for merge-able buffers since data can
be placed in follow-up buffers.
The current wording seems confusing enough that it seems likely
no one relies on this.
VIRTIO-159
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Message-Id: <1490654778-11857-1-git-send-email-mst@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
|
|
The idea behind mergeable buffers was to simply use them in a way
similar to a chain of descriptors. Unfortunately the current text does
not say so - apparently nothing says device can't spread a packet over
as many buffers as it likes - but this didn't prevent drivers from
relying on buffers being used as a chain of descriptors, completely -
and blindly accessing it without checking the length at least for the
packet header.
Let's just make the spec match this reality - if devices ever want more
flexibility, we can add a feature bit.
Further, correct all misuses of a "descriptor" to "buffer" as that
is the entity that is being merged.
VIRTIO-160
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Message-Id: <1490655576-12173-1-git-send-email-mst@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
|
|
receiveq(n) is at position 2(n-1), not 2n. Same error for transmitq(n)
and controlq.
VIRTIO-161
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Halil Pasic <pasic@linux.vnet.ibm.com>
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
|
|
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
|
|
This merges in the OASIS boilerplate files in preparation to
moving virtio spec development to git, as approved at:
https://www.oasis-open.org/apps/org/workgroup/virtio/ballot.php?id=3120
Files added:
CONTRIBUTING.md
LICENSE.md
README.md
TODO: tweak boilerplate files as appropriate/needed.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
On most virtio systems, physical addresses are provided from the driver
to the device and subsequently used to access memory directly. However,
some systems feature an IOMMU that complicates things slightly:
- The IOMMU might require configuration for DMA to work at all. Once
configured, the driver must pass bus addresses to the device, which
are then translated by the IOMMU into physical addresses in memory.
- The IOMMU might be bypassed by virtio DMA. In this case, physical
addresses must still be provided to the device by the driver, even
though an IOMMU appears to be present.
This has been solved by the addition of a new reserved feature bit,
VIRTIO_F_IOMMU_PLATFORM, to describe the two cases above. Legacy systems
will not negotiate the feature, and therefore continue to operate
directly on physical addresses.
VIRTIO-154
Cc: Michael S. Tsirkin <mst@redhat.com>
Cc: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/trunk@587 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
|
|
initial svn clone takes ages. A faster way is to copy history
from a git mirror. Document this.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/trunk@586 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
|
|
It is helpful for a host to indicate it's MTU to be set on guest NICs
other than the assumed 1500 byte value. This helps in situations where
the host network is using Jumbo Frames, or aiding in PMTU discovery by
configuring a homogenous network. It is also helpful for sizing receive
buffers correctly.
The change adds a new field to configuration area of network
devices. It will be used to pass a maximum MTU from the device to
the driver. This will be used by the driver as a maximum value for
packet sizes during transmission, without segmentation offloading.
In addition, in order to support backward and forward compatibility,
we introduce a new feature bit called VIRTIO_NET_F_MTU.
VIRTIO-152
Signed-off-by: Aaron Conole <aconole@redhat.com>
Cc: Victor Kaplansky <victork@redhat.com>
Reviewed-by: Hannes Reiencke <hare@suse.de>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Acked-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Acked-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/trunk@585 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
|
|
This patch just reserve next available device ID for pstore device
type. The device specification for pstore will come later.
VIRTIO-150
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Message-Id: <1468941217-12904-1-git-send-email-namhyung@gmail.com>
Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/trunk@583 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
|
|
VIRTIO-149
Signed-off-by: Christian Pinto <c.pinto@virtualopensystems.com>
Signed-off-by: Baptiste Reynal <b.reynal@virtualopensystems.com>
Message-Id: <1467111824-11548-2-git-send-email-c.pinto@virtualopensystems.com>
Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/trunk@582 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
|
|
Reserve a device ID for virtio crypto device to
avoid collisions with other new virtio devices.
Because 19 had been reserved for virtio socket
device, I'd like to reserve 20 for crypto device.
VIRTIO-148
Suggested-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Gonglei <arei.gonglei@huawei.com>
Message-Id: <1460685060-5904-1-git-send-email-arei.gonglei@huawei.com>
Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/trunk@581 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
|
|
Add a device ID for the Socket device. The draft specification is
currently under review but it helps to reserve the ID to avoid
collisions with other new virtio devices.
VIRTIO-147
Suggested-by: Ian Campbell <ian.campbell@docker.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-Id: <1458729661-7514-1-git-send-email-stefanha@redhat.com>
Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/trunk@580 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
|
|
ccw currently allows the driver to update the status via the
CCW_CMD_WRITE_STATUS command; however, it does not allow the driver to
retrieve the current status at the device, which is needed to properly
support DEVICE_NEEDS_RESET.
Therefore, provide a new command CCW_CMD_READ_STATUS allowing the driver
to retrieve the device status. Provide this command when revision 2 has
been negotiated.
VIRTIO-117
Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Message-Id: <1445243513-2263-2-git-send-email-cornelia.huck@de.ibm.com>
git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/trunk@579 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
|
|
git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/trunk@572 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
|
|
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/branches/v1.0@570 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
|
|
I kept Rusty's name in the acknowledgements section,
but listing him as Chair/Editor does not help since
the email listed bounces.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/branches/v1.0@569 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
|
|
Cc: Kevin Lo <kevlo@kevlo.org>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/branches/v1.0@568 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
|