aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* virtio-net: changing VIRTIO_NET_F_RSC_EXT from 38 to 61Yuri Benditovich2018-12-121-1/+1
| | | | | | | | Changing feature bit per TC request. Signed-off-by: Yuri Benditovich <yuri.benditovich@daynix.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Acked-by: Cornelia Huck <cohuck@redhat.com>
* edit: update VERSIONMichael S. Tsirkin2018-12-121-1/+1
| | | | Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
* edit: drop cs04 changelogMichael S. Tsirkin2018-12-122-133/+135
| | | | | | move to cl-cs04.tex Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
* Revert "edit: drop cs04 changelog"Michael S. Tsirkin2018-12-121-1/+133
| | | | This reverts commit c036ac7b4b507a3bbb9c74a9a941bcb611c96b4b.
* content: RSC extension support for virtio-netYuri Benditovich2018-12-121-9/+29
| | | | | | | | | | | | | Allocates feature bit for extended RSC (receive side coalescing) support. If the device supports this feature, it is able to process duplicated ACKs and report number of coalesced TCP segments amd number of received duplicated ACKs. Fixes: https://github.com/oasis-tcs/virtio-spec/issues/20 Signed-off-by: Yuri Benditovich <yuri.benditovich@daynix.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
* packed-ring: fix queue size for pciMichael S. Tsirkin2018-12-122-3/+10
| | | | | | | | | | | | | PCI is the only transport that has text enforcing a power of two size for VQs. There's no real reason for it to do it, so document that it does not apply with the packed rings. Accordingly, drop the text "unless enforced by a transport" from packed ring description. Fixes: https://github.com/oasis-tcs/virtio-spec/issues/28 Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
* VIRTIO_F_NOTIFICATION_DATA: extra data to devicesMichael S. Tsirkin2018-12-123-8/+124
| | | | | | | | | | | | Some devices benefit from ability to find out the number of available descriptors in the ring: for efficiency or as a debugging aid. To help with these optimizations, add a new feature: VIRTIO_F_NOTIFICATION_DATA. When negotiated, driver notifications to the device include this extra information. Fixes: https://github.com/oasis-tcs/virtio-spec/issues/26 Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
* ACCESS_PLATFORM/ORDER_PLATFORMMichael S. Tsirkin2018-12-121-22/+53
| | | | | | | | | | | | | | | | | | | | | | | | | This is an attempt to clarify the intent behind VIRTIO_F_IOMMU_PLATFORM and VIRTIO_F_IO_BARRIER which based on recent discussions appear to be hard to understand. - rename VIRTIO_F_IOMMU_PLATFORM to ACCESS_PLATFORM It is already the fact that the DMA API that Linux uses does more than just IOMMUs - it includes cache flushing, bounce buffers for limited addressing, etc. Update spec to match this reality. - rename VIRTIO_F_IO_BARRIER to VIRTIO_F_ORDER_PLATFORM this is after all what device is telling driver: its memory accesses are only ordered weakly, this is why a stronger barrier is required. - As no one yet implemented IO_BARRIER yet, add a recommendation to have a software fallback so that existing drivers aren't broken. Fixes: https://github.com/oasis-tcs/virtio-spec/issues/25 Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
* vsock: add vsock deviceStefan Hajnoczi2018-12-123-2/+299
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | The virtio vsock device is a zero-configuration socket communications device. It is designed as a guest<->host management channel suitable for communicating with guest agents. vsock is designed with the sockets API in mind and the driver is typically implemented as an address family (at the same level as AF_INET). Applications written for the sockets API can be ported with minimal changes (similar amount of effort as adding IPv6 support to an IPv4 application). Unlike the existing console device, which is also used for guest<->host communication, multiple clients can connect to a server at the same time over vsock. This limitation requires console-based users to arbitrate access through a single client. In vsock they can connect directly and do not have to synchronize with each other. Unlike network devices, no configuration is necessary because the device comes with its address in the configuration space. The vsock device was prototyped by Gerd Hoffmann and Asias He. I picked the code and design up from them. Fixes: https://github.com/oasis-tcs/virtio-spec/issues/27 Cc: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
* edit: drop cs04 changelogMichael S. Tsirkin2018-11-301-133/+1
| | | | Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
* edit: drop Pawel as an editorMichael S. Tsirkin2018-11-301-1/+0
| | | | | | As he's not a TC member right now. Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
* edit: update REVISION and dateMichael S. Tsirkin2018-11-302-2/+2
| | | | | | Set to wd01 for now. Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
* edit: update title links to previous versionMichael S. Tsirkin2018-11-301-3/+3
| | | | Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
* edit: update to new OASIS colorMichael S. Tsirkin2018-11-303-15/+13
| | | | Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
* editing: update to the new OASIS logoMichael S. Tsirkin2018-11-301-0/+0
| | | | Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
* queue_size: renamed "hypervisor" to "device"Daniel Marcovitch2018-11-301-1/+1
| | | | | | | | | | 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>
* packed-ring/split-ring/content: fixed misc typosDaniel Marcovitch2018-11-303-4/+4
| | | | | | | | 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>
* Add virtio input device specification.Gerd Hoffmann2018-11-303-0/+213
| | | | | | | | | | 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
* Add VIRTIO_GPU_F_EDID to virtio-gpu.Gerd Hoffmann2018-11-301-0/+31
| | | | | | | | | | | | | 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>
* content: Declare virtio-net legacy feature bits 41-42Yuri Benditovich2018-11-301-5/+5
| | | | | | | | | | | | 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>
* content: document SR-IOV driver requirementsTiwei Bie2018-11-301-0/+15
| | | | | | | | | | | 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>
* content: reserve virtio device ID for memory devicesDavid Hildenbrand2018-10-191-0/+2
| | | | | | | | | | 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
* content: enhance device requirements for feature bitsTiwei Bie2018-10-191-0/+7
| | | | | | | | | 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>
* content: use a consistent wording for device statusTiwei Bie2018-10-191-9/+12
| | | | | | | | | | | | | | 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>
* crypto: fix label name typosMichael S. Tsirkin2018-10-191-6/+6
| | | | fixes undefined reference errors
* crypto: fix label nameMichael S. Tsirkin2018-10-191-1/+1
| | | | fixes multiply defined label error
* virtio-crypto: Add conformance clausesLongpeng(Mike)2018-10-191-0/+29
| | | | | | | | | | | 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>
* virtio-crypto: Add virtio crypto device specificationLongpeng(Mike)2018-10-191-0/+1
| | | | | | | | | | | | | | | 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>
* virtio-crypto: Add virtio crypto device specificationLongpeng(Mike)2018-10-193-0/+1538
| | | | | | | | | | | | | | | 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>
* notifications: update notifications terminology for devicesHalil Pasic2018-10-191-11/+11
| | | | | | | | | | | | | | 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>
* mmio: map common notifications terminology to MMIOHalil Pasic2018-10-191-12/+13
| | | | | | | | | | | | | | | 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>
* pci: map common notifications terminology to PCIHalil Pasic2018-10-192-7/+8
| | | | | | | | | | | | | | | 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>
* ccw: map common notifications terminology to ccwHalil Pasic2018-10-191-0/+42
| | | | | | | | | | | | | | | 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>
* notifications: notifications as basic virtio facilityHalil Pasic2018-10-191-0/+36
| | | | | | | | | | | | | | | | | 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>
* notifications: unify notifications wording in coreHalil Pasic2018-10-195-72/+96
| | | | | | | | | | | | | | | | | | | | 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>
* Add virtio gpu device specification.Gerd Hoffmann2018-09-072-0/+483
| | | | | | | | | | | | 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
* content: Introduce VIRTIO_NET_F_STANDBY featureSridhar Samudrala2018-09-071-0/+8
| | | | | | | | | | 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>
* content: support SR-IOVTiwei Bie2018-06-071-2/+9
| | | | | | | | | | | | 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>
* VIRTIO_F_IO_BARRIER: use I/O barriers in driverTiwei Bie2018-05-231-2/+18
| | | | | | | | | | | | | | | | | 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>
* content: document hugetlb page allocation countsJonathan Helman2018-05-231-0/+8
| | | | | | | | | | 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>
* README: supply link to the authoritative sourceMichael S. Tsirkin2018-05-231-1/+1
| | | | | | authoritative source is the tagged version. Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
* split-ring: Fix typo in used ring descriptionChristoffer Dall2018-05-231-1/+1
| | | | | | | | | | | | | 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>
* Revert "VIRTIO_F_NOTIFICATION_DATA: extra data to devices"Michael S. Tsirkin2018-04-263-113/+6
| | | | | | | | This reverts commit 396b1957817e0bd14697e28d9fe61bfc80f1350f. Was pushed by mistake. Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
* tex: enable build on systems without ellipsis.styMichael S. Tsirkin2018-04-161-1/+5
| | | | | | | | | 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>
* tex: drop unused todonotesMichael S. Tsirkin2018-04-162-2/+2
| | | | | | | | 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>
* VIRTIO_F_NOTIFICATION_DATA: extra data to devicesMichael S. Tsirkin2018-03-273-6/+113
| | | | | | | | | | | 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>
* packed-ring: rephrase "an example driver code"Stefan Hajnoczi2018-03-261-1/+1
| | | | | | | | | | 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
* packed-ring: fix "the descriptor flags +field+ is updated"Stefan Hajnoczi2018-03-261-2/+2
| | | | | | | | | | | 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
* packed-ring: fix pluralsStefan Hajnoczi2018-03-261-2/+2
| | | | | | | | | | | | | | | | 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
* packed-ring: fix capitalization of namesStefan Hajnoczi2018-03-261-2/+2
| | | | | | | | | | | | 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