aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2020-05-04virtio-iommu: Remove invalid requirement about paddingHEADmst-nextmasterJean-Philippe Brucker1-2/+0
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>
2020-05-04Remove all mentioned of subversionAlex Bennée3-156/+1
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>
2020-05-04makeall.sh: add explicit shebang to scriptAlex Bennée1-0/+2
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
2020-03-01virtio-net/rss: maximal -> maximumMichael S. Tsirkin1-2/+2
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>
2020-02-27virtio-gpu: some edid clarificationsGerd Hoffmann1-4/+9
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>
2020-02-27virtio-gpu: add 3d command overviewGerd Hoffmann1-0/+35
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>
2020-01-28content: document speed, duplexMichael S. Tsirkin1-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>
2020-01-28virtio-rng: fix device/driver confusionMichael S. Tsirkin1-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>
2020-01-28content: Reserve device ID for video encoder and decoder deviceKeiichi Watanabe1-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>
2020-01-20Add virtio-iommu device specificationJean-Philippe Brucker3-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>
2020-01-20virtio-net: missing "." for feature descriptionsMichael S. Tsirkin1-2/+3
At end of each sentence, for consistency. Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2020-01-20virtio-net: receive-side scalingMichael S. Tsirkin1-33/+50
Typo/grammar fixes as suggested by Cornelia (and a couple noticed by myself). Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2020-01-20virtio-net: define support for receive-side scalingYuri Benditovich2-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>
2020-01-20README.md: document use of virtio-devMichael S. Tsirkin1-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>
2020-01-20virtio_pci_cap64: bar/BAR cleanupsMichael S. Tsirkin1-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>
2020-01-20content: add vendor specific cfg typeMichael S. Tsirkin1-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>
2019-11-27Revert "content: add vendor specific cfg type"Michael S. Tsirkin1-76/+0
This reverts commit 111d65c69c47090525eaa1ce43831e20657cbef3.
2019-11-27Reserve device id 28 for virtio RPMB deviceHuang Yang1-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
2019-11-27Add virtio rpmb device specificationHuang Yang4-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>
2019-11-24Revert "pci: strengthen requirement of the correct subsystem id"Michael S. Tsirkin1-1/+1
This reverts commit bc2cf84cc7b29349b6f7effdb955b83afaf298f7. Pushed by mistake.
2019-11-24Revert "content: document speed, duplex"Michael S. Tsirkin1-33/+0
This reverts commit 72a801b9a53a4aeca759458c50be67cc32914a71. Pushed by mistake.
2019-11-24Revert "virtio-rng: fix device/driver confusion"Michael S. Tsirkin1-1/+1
This reverts commit 3ea1af6afb4cccb9a12c59c27e9df74505e5289e. Pushed by mistake.
2019-11-24virtio-rng: fix device/driver confusionMichael S. Tsirkin1-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>
2019-11-24content: document speed, duplexMichael S. Tsirkin1-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>
2019-11-24pci: strengthen requirement of the correct subsystem idMichael S. Tsirkin1-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>
2019-11-24content: add vendor specific cfg typeMichael S. Tsirkin1-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>
2019-11-24virtio-net: add missing articles for new hdr_len featureCornelia Huck1-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>
2019-11-24virtio-net: Add support for correct hdr_len field.Vitaly Mireyno1-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
2019-11-24Reserve id for virtio-audio devicePaolo Bonzini1-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>
2019-11-24Fix typoStefan Fritsch1-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>
2019-11-24virtio-mmio: Rename remaining QueueAvail/Used referencesJan Kiszka1-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
2019-10-27README.md: document the minor cleanups standing ruleMichael S. Tsirkin1-0/+15
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2019-10-27Balloon: Fix Memory Statistics structure sizePhilipp Hahn1-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>
2019-10-27virtio-blk: typo: Capitalization in Device Initialization itemEugenio Pérez1-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>
2019-10-27README: fix Tex->TeXMichael S. Tsirkin1-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>
2019-10-27virtio_pci_common_cfg: fix field namePaolo Bonzini1-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>
2019-10-27ack! Console Device: Add a missing wordStefan Hajnoczi stefanha@redhat.com0-0/+0
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
2019-10-27Console Device: Add a missing wordJan Kiszka1-1/+1
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
2019-10-27block: Add multiqueueEugenio Pérez1-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>
2019-10-12Lift "Driver Notifications" to section levelJan Kiszka1-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>
2019-10-12Fix ^= in example codeJan Kiszka1-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>
2019-09-25README.md: clean up build instructionsMichael S. Tsirkin1-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>
2019-09-25README.md: Added building instructions.Yoni Bettan1-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>
2019-09-25Changed fonts to freely-available fonts when built locally.Yoni Bettan2-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>
2019-09-25virtio-fs: add DAX windowStefan Hajnoczi1-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
2019-09-25content: add virtio file system deviceStefan Hajnoczi3-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
2019-09-08content: explicitly document the VLAN filtering as best-effortTiwei Bie1-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
2019-09-08content: fix typo in feature bit nameTiwei Bie1-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>
2019-09-08shared memory: Typo fixDr. David Alan Gilbert1-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>
2019-09-08content: fix typoNikos Dragazis1-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>
2019-07-25shared memory: Define mmio registersDr. David Alan Gilbert1-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>
2019-07-25shared memory: Define PCI capabilityDr. David Alan Gilbert2-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>
2019-07-25pci: Define virtio_pci_cap64Dr. David Alan Gilbert1-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>
2019-07-25pci: Define id fieldDr. David Alan Gilbert1-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>
2019-07-25shared memory: Define shared memory regionsDr. David Alan Gilbert3-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>
2019-07-23README.md: document github useMichael S. Tsirkin1-0/+27
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2019-06-20content: reserve device ID for virtio-pmem devicesPankaj Gupta1-0/+2
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>
2019-06-20content: reserve virtio device ID for file system devicesStefan Hajnoczi1-0/+2
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>
2019-06-18README.md: describe preferred flow for commentsMichael S. Tsirkin1-2/+31
We prefer receiving comments as patches. Describe how to generate them. Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2019-04-08REVISION-DATE: approval date for 1.1-cs01Michael S. Tsirkin1-1/+1
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2019-04-03acknowledgements: use org names consistentlyMichael S. Tsirkin2-4/+4
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>
2019-04-03acknowledgements: add commenters from mailing listMichael S. Tsirkin1-0/+45
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>
2019-04-02acknowledgements: fix spill overMichael S. Tsirkin1-4/+2
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>
2019-03-27REVISION: update to wd02Michael S. Tsirkin1-1/+1
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2019-03-27acknowledgements: add members and non-membersMichael S. Tsirkin1-6/+60
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>
2019-03-25scripts: ability to diff with multiple versionsMichael S. Tsirkin6-6/+35
Useful for releases with non-material changes. Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2019-03-24gitattributes: make git diff easier to readMichael S. Tsirkin1-0/+1
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2019-03-24editorial: changelog: tweak formattingMichael S. Tsirkin1-16/+16
Drop space at beginning of cells. Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2019-03-24editorial: gitlog.pl: generate the changelogMichael S. Tsirkin1-0/+30
Incomplete: need to massage the changelog manually. But it's a start. Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2019-03-24editorial: add changelog since csprd01Michael S. Tsirkin1-1/+320
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2019-03-24editorial: add labelsMichael S. Tsirkin4-5/+4
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2019-03-21block: drop duplicate textMichael S. Tsirkin1-3/+1
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>
2019-03-21conformance: fix confusion about legacy interfaceMichael S. Tsirkin1-5/+1
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>
2019-03-21editorial: upgrade links to httpsMichael S. Tsirkin2-4/+4
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>
2019-03-21introduction: update link to IEEE 802Michael S. Tsirkin1-1/+1
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>
2019-03-21conformance: tweak to match OASIS requirementsMichael S. Tsirkin2-34/+38
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>
2019-03-21editorial: explain each structure before useMichael S. Tsirkin5-2/+19
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>
2019-03-21signal start and end of structures consistentlyMichael S. Tsirkin2-7/+6
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>
2019-03-21conformance: add links to crypto and input devicesMichael S. Tsirkin1-2/+2
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>
2019-03-21format: replace "- i.e." with ", i.e.,"Michael S. Tsirkin2-8/+8
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>
2019-03-08close issue 32Michael S. Tsirkin0-0/+0
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>
2019-03-07virtio-blk: clarify semantics of multi-segment discard/write zeroes commandsStefan Hajnoczi1-2/+21
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>
2019-03-07virtio-blk: avoid inconsistent "DISCARD" termStefan Hajnoczi1-1/+1
"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>
2019-03-07virtio-blk: describe write zeroes unmap semanticsStefan Hajnoczi1-1/+3
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>
2019-03-07virtio-blk: move virtio_blk_discard_write_zeroes definitionStefan Hajnoczi1-13/+16
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>
2019-03-07virtio-blk: document data[] size constraintsStefan Hajnoczi1-1/+13
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>
2019-02-27introduction: simplify the designation of legacyHalil Pasic1-2/+2
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>
2019-02-27ccw: be more precise about the semantic of revision 1Halil Pasic1-1/+1
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>
2019-01-11edit: drop more obsolete commands related to cs02Michael S. Tsirkin1-2/+0
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2019-01-11edit: address comments by Paul KnightMichael S. Tsirkin4-18/+33
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>
2019-01-11revision: update to 20 dec 2018Michael S. Tsirkin1-1/+1
note: previous commit (fixup example code) was missing in that revision. Will tag accordingly. Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2019-01-11packed-ring: fix used descriptor checking in example codeTiwei Bie1-3/+20
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
2019-01-11edit: diff: color added listings greenMichael S. Tsirkin1-5/+19
Note: does not apply to lstinputlisting . Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2019-01-11edit: drop groups from DIFnomarkupMichael S. Tsirkin1-2/+0
not needed anymore and just confuses latex Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2019-01-11edit: drop hyperlink coloring from diffMichael S. Tsirkin1-5/+4
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>
2019-01-11edit: use dark green for diffsMichael S. Tsirkin1-3/+6
plays better with nw color scheme Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2019-01-11edit: pick up a cleanup commit for diffMichael S. Tsirkin1-0/+1
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2019-01-11edit: minor diffpreable cleanupMichael S. Tsirkin1-4/+2
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2019-01-11edit: fixupdiff: fix more unresolved referencesMichael S. Tsirkin1-0/+2
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2019-01-11edit: drop obsolete commands related to cs02Michael S. Tsirkin2-8/+1
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2019-01-11edit: teach diff to re-add back missing labelsMichael S. Tsirkin1-0/+30
For now just rely on a manual list. Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2019-01-11edit: more fixup diff hacksMichael S. Tsirkin1-2/+13
Tweak latex diff output some more to fix up failures. Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2019-01-11edit: don't stop on empty cherry-picksMichael S. Tsirkin1-2/+2
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2019-01-11packed-ring: put normative on one lineMichael S. Tsirkin1-3/+1
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2018-12-12split-ring: document in-order operationMichael S. Tsirkin1-0/+28
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>
2018-12-12virtio-net: changing VIRTIO_NET_F_RSC_EXT from 38 to 61Yuri Benditovich1-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>
2018-12-12edit: update VERSIONMichael S. Tsirkin1-1/+1
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2018-12-12edit: drop cs04 changelogMichael S. Tsirkin2-133/+135
move to cl-cs04.tex Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2018-12-12Revert "edit: drop cs04 changelog"Michael S. Tsirkin1-1/+133
This reverts commit c036ac7b4b507a3bbb9c74a9a941bcb611c96b4b.
2018-12-12content: RSC extension support for virtio-netYuri Benditovich1-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>
2018-12-12packed-ring: fix queue size for pciMichael S. Tsirkin2-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>
2018-12-12VIRTIO_F_NOTIFICATION_DATA: extra data to devicesMichael S. Tsirkin3-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>
2018-12-12ACCESS_PLATFORM/ORDER_PLATFORMMichael S. Tsirkin1-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>
2018-12-12vsock: add vsock deviceStefan Hajnoczi3-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>
2018-11-30edit: drop cs04 changelogMichael S. Tsirkin1-133/+1
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2018-11-30edit: drop Pawel as an editorMichael S. Tsirkin1-1/+0
As he's not a TC member right now. Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2018-11-30edit: update REVISION and dateMichael S. Tsirkin2-2/+2
Set to wd01 for now. Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2018-11-30edit: update title links to previous versionMichael S. Tsirkin1-3/+3
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2018-11-30edit: update to new OASIS colorMichael S. Tsirkin3-15/+13
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2018-11-30editing: update to the new OASIS logoMichael S. Tsirkin1-0/+0
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2018-11-30queue_size: renamed "hypervisor" to "device"Daniel Marcovitch1-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>
2018-11-30packed-ring/split-ring/content: fixed misc typosDaniel Marcovitch3-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>
2018-11-30Add virtio input device specification.Gerd Hoffmann3-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
2018-11-30Add VIRTIO_GPU_F_EDID to virtio-gpu.Gerd Hoffmann1-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>
2018-11-30content: Declare virtio-net legacy feature bits 41-42Yuri Benditovich1-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>
2018-11-30content: document SR-IOV driver requirementsTiwei Bie1-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>
2018-10-19content: reserve virtio device ID for memory devicesDavid Hildenbrand1-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
2018-10-19content: enhance device requirements for feature bitsTiwei Bie1-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>
2018-10-19content: use a consistent wording for device statusTiwei Bie1-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>
2018-10-19crypto: fix label name typosMichael S. Tsirkin1-6/+6
fixes undefined reference errors
2018-10-19crypto: fix label nameMichael S. Tsirkin1-1/+1
fixes multiply defined label error
2018-10-19virtio-crypto: Add conformance clausesLongpeng(Mike)1-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>
2018-10-19virtio-crypto: Add virtio crypto device specificationLongpeng(Mike)1-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>
2018-10-19virtio-crypto: Add virtio crypto device specificationLongpeng(Mike)3-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>
2018-10-19notifications: update notifications terminology for devicesHalil Pasic1-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>
2018-10-19mmio: map common notifications terminology to MMIOHalil Pasic1-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>
2018-10-19pci: map common notifications terminology to PCIHalil Pasic2-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>
2018-10-19ccw: map common notifications terminology to ccwHalil Pasic1-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>
2018-10-19notifications: notifications as basic virtio facilityHalil Pasic1-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>
2018-10-19notifications: unify notifications wording in coreHalil Pasic5-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>
2018-09-07Add virtio gpu device specification.Gerd Hoffmann2-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
2018-09-07content: Introduce VIRTIO_NET_F_STANDBY featureSridhar Samudrala1-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>
2018-06-07content: support SR-IOVTiwei Bie1-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>
2018-05-23VIRTIO_F_IO_BARRIER: use I/O barriers in driverTiwei Bie1-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>
2018-05-23content: document hugetlb page allocation countsJonathan Helman1-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>
2018-05-23README: supply link to the authoritative sourceMichael S. Tsirkin1-1/+1
authoritative source is the tagged version. Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2018-05-23split-ring: Fix typo in used ring descriptionChristoffer Dall1-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>
2018-04-26Revert "VIRTIO_F_NOTIFICATION_DATA: extra data to devices"Michael S. Tsirkin3-113/+6
This reverts commit 396b1957817e0bd14697e28d9fe61bfc80f1350f. Was pushed by mistake. Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2018-04-16tex: enable build on systems without ellipsis.styMichael S. Tsirkin1-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>
2018-04-16tex: drop unused todonotesMichael S. Tsirkin2-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>
2018-03-27VIRTIO_F_NOTIFICATION_DATA: extra data to devicesMichael S. Tsirkin3-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>
2018-03-26packed-ring: rephrase "an example driver code"Stefan Hajnoczi1-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
2018-03-26packed-ring: fix "the descriptor flags +field+ is updated"Stefan Hajnoczi1-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
2018-03-26packed-ring: fix pluralsStefan Hajnoczi1-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
2018-03-26packed-ring: fix capitalization of namesStefan Hajnoczi1-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
2018-03-26packed-ring: fix 'contigious' typoStefan Hajnoczi1-2/+2
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
2018-03-26packed-ring: add missing commaStefan Hajnoczi1-1/+1
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
2018-03-26packed-ring: add missing articles to sentencesStefan Hajnoczi1-45/+45
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
2018-03-20virtio-net: Add missing flag define to structsameehj1-0/+1
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
2018-03-20content: document balloon memory statisticsTomáš Golembiovský1-0/+9
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
2018-03-20virtio-blk: add discard and write zeroes features to specificationChangpeng Liu1-3/+81
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
2018-03-20split-ring: in order featureMichael S. Tsirkin1-0/+18
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
2018-03-20packed-ring: add in order supportMichael S. Tsirkin1-0/+24
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
2018-03-20content: in-order buffer useMichael S. Tsirkin1-0/+15
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
2018-03-20packed virtqueues: more efficient virtqueue layoutMichael S. Tsirkin2-3/+715
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
2018-03-20split-ring: typo: aligmentMichael S. Tsirkin1-1/+1
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
2018-03-20split-ring: generalize textMichael S. Tsirkin3-6/+9
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
2018-03-20content: generalize rest of textMichael S. Tsirkin1-8/+6
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
2018-03-20content: generalize transport ring part namingMichael S. Tsirkin2-24/+43
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
2018-03-20content: len -> used length, used ring -> vqMichael S. Tsirkin1-19/+20
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
2018-03-20content: move virtqueue operation descriptionMichael S. Tsirkin3-171/+185
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
2018-03-20content: move ring text out to a separate fileMichael S. Tsirkin2-498/+499
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
2018-03-20content: move 1.0 queue format out to a separate sectionMichael S. Tsirkin1-1/+24
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
2018-03-20introduction: document bitfield notationMichael S. Tsirkin1-0/+41
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
2018-03-14github: PULL_REQUEST_TEMPLATE.mdMichael S. Tsirkin1-0/+10
Document that we don't accept pull requests at this point. Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2018-03-09virtio-scsi: fix typosPaolo Bonzini1-3/+3
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>
2018-03-09README.md: add hints for contributorsMichael S. Tsirkin1-4/+10
Add links to admin repo and mailing lists. Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2017-12-12content: reserve virtio device ID for IOMMUJean-Philippe Brucker1-0/+2
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>
2017-09-11net: relax buf size requirements for mrg buffersMichael S. Tsirkin1-1/+1
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>
2017-09-11net: clarify device rules for mergeable buffersMichael S. Tsirkin1-6/+14
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>
2017-09-08virtio-net: fix virtqueue numbering errorCornelia Huck1-3/+3
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>
2017-09-08title, acknowledgements: update my affiliationCornelia Huck2-2/+2
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
2017-09-08Merge https://github.com/oasis-tcs/virtio-spec into trunkMichael S. Tsirkin3-0/+66
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>
2017-09-07typo, caseRobin Cover1-1/+1
2017-09-07create boilerplate LICENSE textrobincover1-0/+7
2017-09-07Create CONTRIBUTING.mdrobincover1-0/+20
2017-09-07update README with noilerplateRobin Cover1-2/+39
2017-09-07Initial commitrobincover1-0/+2
2017-01-10context: Document VIRTIO_F_IOMMU_PLATFORM reserved feature bit (33)mstsirkin1-3/+20
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
2016-10-11git-svn: instructions for faster initmstsirkin1-0/+34
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
2016-10-11virtio-net: add Max MTU configuration fieldtrunkmstsirkin1-0/+37
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
2016-10-10content: Reserve virtio device ID for pstoremstsirkin1-0/+2
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
2016-10-10content: reserve virtio device ID for sdmmstsirkin1-0/+2
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
2016-10-10virtio: reserve device id for virtio cryptomstsirkin1-0/+2
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
2016-10-10vsock: reserve device IDmstsirkin1-0/+2
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
2016-10-10ccw: add CCW_CMD_READ_STATUSmstsirkin1-1/+17
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
2016-07-22Merge remote-tracking branch 'origin/v1.0'mstsirkin16-400/+614
git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/trunk@572 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2016-07-22REVISION: update for cs04v1.0mstsirkin2-2/+2
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
2016-02-16title: drop Rusty's email from chair/editor listmstsirkin1-2/+0
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
2016-02-16acknowledgements: acknowledge review by Kevin Lomstsirkin1-0/+1
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