aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* virtio-snd: add virtio sound device specificationsound-v7Anton Yakovlev2020-03-164-3/+762
| | | | | | | | | This patch proposes virtio specification for a new virtio sound device, that may be useful in case when having audio is required but a device passthrough or emulation is not an option. Signed-off-by: Anton Yakovlev <anton.yakovlev@opensynergy.com> Message-Id: <20200311140432.433238-1-Anton.Yakovlev@opensynergy.com>
* content: document speed, duplexHEADmasterMichael S. Tsirkin2020-01-281-1/+37
| | | | | | | | 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>
* virtio-rng: fix device/driver confusionMichael S. Tsirkin2020-01-281-1/+1
| | | | | | | | | | | 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>
* content: Reserve device ID for video encoder and decoder deviceKeiichi Watanabe2020-01-281-0/+4
| | | | | | | | 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>
* Add virtio-iommu device specificationJean-Philippe Brucker2020-01-203-2/+865
| | | | | | | | | | | 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>
* virtio-net: missing "." for feature descriptionsMichael S. Tsirkin2020-01-201-2/+3
| | | | | | At end of each sentence, for consistency. Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
* virtio-net: receive-side scalingMichael S. Tsirkin2020-01-201-33/+50
| | | | | | | Typo/grammar fixes as suggested by Cornelia (and a couple noticed by myself). Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
* virtio-net: define support for receive-side scalingYuri Benditovich2020-01-202-23/+213
| | | | | | | | 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>
* README.md: document use of virtio-devMichael S. Tsirkin2020-01-201-0/+11
| | | | | | | | 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>
* virtio_pci_cap64: bar/BAR cleanupsMichael S. Tsirkin2020-01-201-4/+4
| | | | | | | | | | | | | | 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>
* content: add vendor specific cfg typeMichael S. Tsirkin2020-01-201-0/+76
| | | | | | | | | | | 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>
* Revert "content: add vendor specific cfg type"Michael S. Tsirkin2019-11-271-76/+0
| | | | This reverts commit 111d65c69c47090525eaa1ce43831e20657cbef3.
* Reserve device id 28 for virtio RPMB deviceHuang Yang2019-11-271-0/+2
| | | | | | | 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 device specificationHuang Yang2019-11-274-1/+315
| | | | | | | | | | | 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>
* Revert "pci: strengthen requirement of the correct subsystem id"Michael S. Tsirkin2019-11-241-1/+1
| | | | | This reverts commit bc2cf84cc7b29349b6f7effdb955b83afaf298f7. Pushed by mistake.
* Revert "content: document speed, duplex"Michael S. Tsirkin2019-11-241-33/+0
| | | | | This reverts commit 72a801b9a53a4aeca759458c50be67cc32914a71. Pushed by mistake.
* Revert "virtio-rng: fix device/driver confusion"Michael S. Tsirkin2019-11-241-1/+1
| | | | | This reverts commit 3ea1af6afb4cccb9a12c59c27e9df74505e5289e. Pushed by mistake.
* virtio-rng: fix device/driver confusionMichael S. Tsirkin2019-11-241-1/+1
| | | | | | | | | | 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>
* content: document speed, duplexMichael S. Tsirkin2019-11-241-0/+33
| | | | | | | Document as used by Linux. Fixes: https://github.com/oasis-tcs/virtio-spec/issues/59 Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
* pci: strengthen requirement of the correct subsystem idMichael S. Tsirkin2019-11-241-1/+1
| | | | | | | | | | | | | 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>
* content: add vendor specific cfg typeMichael S. Tsirkin2019-11-241-0/+76
| | | | | | | | | | | 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>
* virtio-net: add missing articles for new hdr_len featureCornelia Huck2019-11-241-3/+3
| | | | | | | | 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>
* virtio-net: Add support for correct hdr_len field.Vitaly Mireyno2019-11-241-10/+46
| | | | | | | | 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
* Reserve id for virtio-audio devicePaolo Bonzini2019-11-241-0/+2
| | | | | | | | | | 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>
* Fix typoStefan Fritsch2019-11-241-1/+1
| | | | | | | | 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>
* virtio-mmio: Rename remaining QueueAvail/Used referencesJan Kiszka2019-11-241-5/+5
| | | | | | | | | 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
* README.md: document the minor cleanups standing ruleMichael S. Tsirkin2019-10-271-0/+15
| | | | Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
* Balloon: Fix Memory Statistics structure sizePhilipp Hahn2019-10-271-1/+1
| | | | | | | | | | | | | | | | | | | | 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>
* virtio-blk: typo: Capitalization in Device Initialization itemEugenio Pérez2019-10-271-1/+1
| | | | | | | 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>
* README: fix Tex->TeXMichael S. Tsirkin2019-10-271-2/+2
| | | | | | | 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>
* virtio_pci_common_cfg: fix field namePaolo Bonzini2019-10-271-1/+1
| | | | | | | | | 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>
* ack! Console Device: Add a missing wordStefan Hajnoczi stefanha@redhat.com2019-10-270-0/+0
| | | | Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
* Console Device: Add a missing wordJan Kiszka2019-10-271-1/+1
| | | | Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
* block: Add multiqueueEugenio Pérez2019-10-271-4/+19
| | | | | | | | | | | | 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>
* Lift "Driver Notifications" to section levelJan Kiszka2019-10-121-1/+1
| | | | | | | | | | 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>
* Fix ^= in example codeJan Kiszka2019-10-121-2/+2
| | | | | | | 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>
* README.md: clean up build instructionsMichael S. Tsirkin2019-09-251-19/+37
| | | | | | | | 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>
* README.md: Added building instructions.Yoni Bettan2019-09-251-0/+28
| | | | | | | 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>
* Changed fonts to freely-available fonts when built locally.Yoni Bettan2019-09-252-8/+8
| | | | | | | | | | | | | | | | | '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>
* virtio-fs: add DAX windowStefan Hajnoczi2019-09-251-0/+66
| | | | | | | | | | 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
* content: add virtio file system deviceStefan Hajnoczi2019-09-253-0/+229
| | | | | | | | | | | | | | | | | | 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
* content: explicitly document the VLAN filtering as best-effortTiwei Bie2019-09-081-0/+5
| | | | | | | | | | | | | 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
* content: fix typo in feature bit nameTiwei Bie2019-09-081-1/+1
| | | | | | | 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>
* shared memory: Typo fixDr. David Alan Gilbert2019-09-081-2/+2
| | | | | | | | | 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>
* content: fix typoNikos Dragazis2019-09-081-1/+1
| | | | | | Signed-off-by: Nikos Dragazis <ndragazis@arrikto.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Reviewed-by: Cornelia Huck <cohuck@redhat.com>
* shared memory: Define mmio registersDr. David Alan Gilbert2019-07-251-0/+30
| | | | | | | | | | | 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>
* shared memory: Define PCI capabilityDr. David Alan Gilbert2019-07-252-0/+23
| | | | | | | | | 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>
* pci: Define virtio_pci_cap64Dr. David Alan Gilbert2019-07-251-0/+17
| | | | | | | | | | | | 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>
* pci: Define id fieldDr. David Alan Gilbert2019-07-251-2/+10
| | | | | | | | | | 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>
* shared memory: Define shared memory regionsDr. David Alan Gilbert2019-07-253-0/+45
| | | | | | | | | | 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>