| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|