summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-03-26packed-ring: add missing articles to sentencesStefan Hajnoczi
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 structsameehj
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ý
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 Liu
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. Tsirkin
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. Tsirkin
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. Tsirkin
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. Tsirkin
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. Tsirkin
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. Tsirkin
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. Tsirkin
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. Tsirkin
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. Tsirkin
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. Tsirkin
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. Tsirkin
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. Tsirkin
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. Tsirkin
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. Tsirkin
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 Bonzini
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. Tsirkin
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 Brucker
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. Tsirkin
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. Tsirkin
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 Huck
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 Huck
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
2017-09-08Merge https://github.com/oasis-tcs/virtio-spec into trunkMichael S. Tsirkin
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 Cover
2017-09-07create boilerplate LICENSE textrobincover
2017-09-07Create CONTRIBUTING.mdrobincover
2017-09-07update README with noilerplateRobin Cover
2017-09-07Initial commitrobincover
2017-01-10context: Document VIRTIO_F_IOMMU_PLATFORM reserved feature bit (33)mstsirkin
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 initmstsirkin
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 fieldmstsirkin
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 pstoremstsirkin
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 sdmmstsirkin
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 cryptomstsirkin
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 IDmstsirkin
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_STATUSmstsirkin
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'mstsirkin
git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/trunk@572 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2016-07-22REVISION: update for cs04mstsirkin
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 listmstsirkin
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 Lomstsirkin
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
2016-02-16acknowledgements: update affiliation for Thomas Huthmstsirkin
Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/branches/v1.0@567 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2016-02-16makediff: suppress diff for chater namesmstsirkin
Temporary hack since we have nameref pointing to a chapter name, and that conflicts with latexdiff. Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/branches/v1.0@566 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2016-02-16cl: list changes since CSPRD05mstsirkin
Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/branches/v1.0@565 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2016-02-16makediff: cherry pick file name changemstsirkin
Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/branches/v1.0@563 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2016-02-16fixupdiff: actually apply the DIFadd/DIFdel hackmstsirkin
looks like recent changes made it inactive: must change $line, not $_. Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/branches/v1.0@562 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2016-02-16virtio header: fix diff generationmstsirkin
add old cross reference as well as an chapter parameter to avoid latexdiff errors when chapter is renamed. Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/branches/v1.0@561 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2016-02-16fixupdiff: update for latest perlmstsirkin
Escape {} in regexes to avoid warnings in latest perl. Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/branches/v1.0@560 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652