summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2015-10-21pci: clarify configuration access capability rulesmstsirkin
The point of the configuration access capability is to enable access to other capabilities. The intent never was to allow writes to a random place within device BARs. Limiting drivers simplifies devices - and devices can always add another capability if drivers ever want to access some other range. This resolves VIRTIO-145. Cc: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Accepted by electronic ballot: https://www.oasis-open.org/apps/org/workgroup/virtio/ballot.php?id=2865 git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/branches/v1.0@547 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2015-10-21virtio-blk: restore VIRTIO_BLK_F_FLUSH and VIRTIO_BLK_F_CONFIG_WCEmstsirkin
VIRTIO_BLK_F_CONFIG_WCE is important in order to achieve good performance (up to 2x, though more realistically +30-40%) in latency-bound workloads. However, it was removed by mistake together with VIRTIO_BLK_F_FLUSH. In addition, even removing VIRTIO_BLK_F_FLUSH was probably not a great idea, because it simplifies simple drivers (e.g. firmware) that are okay with a writethrough cache but still need data to persist after power loss. What really should have been removed is just the possibility that devices not propose VIRTIO_BLK_F_FLUSH, but even that only deserves a "SHOULD" in the new world of conformance statements. Restore these, with the following changes: * clarify and use conformance statements in order to define writeback and writethrough caching according to what is commonly done by high-end storage. * clarify (with conformance statements) the influence of the VIRTIO_BLK_F_FLUSH feature on caching and how to proceed if only one of VIRTIO_BLK_F_FLUSH and VIRTIO_BLK_F_CONFIG_WCE is negotiated. * strengthen the requirement for persisting writes to MUST after a VIRTIO_BLK_T_FLUSH request (and in other cases too involving the new features). The suggested behavior upon feature negotiation is okay for the Linux implementation of virtio1, even after the implementation is modified to support the two new features. This fixes VIRTIO-144. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Accepted by electronic ballot: https://www.oasis-open.org/apps/org/workgroup/virtio/ballot.php?id=2864 Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/branches/v1.0@546 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2015-10-21Revert: makediff: cleanup using begingroup/endgroupmstsirkin
This reverts commit commit ef519a86f046d1be22f82f32d845653a850c21dd Author: mstsirkin <mstsirkin@0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652> Date: Thu Jun 26 16:50:13 2014 +0000 makediff: cleanup using begingroup/endgroup This seemed like a good idea originally: replace perl hacks with tex hacks. However adding \begingroup and \endgroup within macros used by latex-diff breaks its assumption that these are low level tex and can be used in arbitrary situations, e.g. cross the boundaries of environments, use mis-matching begin and end instructions (DIFaddbegin with DIFaddendFL), etc. Let's go back to the original work-around: commit b665b3165b454b98c782617e37a128b53b56c89c Author: mstsirkin <mstsirkin@0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652> Date: Thu Jun 26 12:34:38 2014 +0000 work around xetex bug Too many \color directives produce corrupted output and this warning: WARNING ** Color stack overflow. Just ignore. Use script to reduce # of these directives. Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/branches/v1.0@545 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2015-10-11cl: list changes 540-542mstsirkin
all of them non-material Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/branches/v1.0@544 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2015-10-11cl: clear it out for cs03mstsirkin
Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/branches/v1.0@543 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2015-10-11virtio-blk: flush: Fix driver vs. device typomstsirkin
This is a simple non-material change. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/branches/v1.0@542 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2015-10-11virtio-blk: fix typo in legacy framing requirements sectionmstsirkin
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/branches/v1.0@541 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2015-10-11virtqueues: fix trivial typomstsirkin
Signed-off-by: Greg Kurz <gkurz@linux.vnet.ibm.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/branches/v1.0@540 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2015-08-02admin: set date and revision for cs03mstsirkin
Approved Aug 2: https://www.oasis-open.org/apps/org/workgroup/virtio/ballot.php?id=2843 Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/branches/v1.0@537 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2015-05-21title: update previous version linkmstsirkin
Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/branches/v1.0@536 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2015-05-21fixupdiff: better diff for lstlistingmstsirkin
Actually strike out deleted text. Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/branches/v1.0@535 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2015-05-21fixupdiff.pl: more work-arounds for latexdiffmstsirkin
work around more latexdiff issues: - force FL style within headers - fix beginFL ending with end and vice versa across begin/end of enum or itemize Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/branches/v1.0@534 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2015-05-21makediff: mark enumerate/itemize as floatsmstsirkin
Helps detect begin/end crossing these environments and fix up automatically. Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/branches/v1.0@533 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2015-05-21content: replace \\note with note environmentmstsirkin
\\note just before start of subsection seems to confuse latex, resulting in incorrect text alignment. Replace with \begin{note} \end{note}. Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/branches/v1.0@532 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2015-05-21cl-os: VIRTIO-123, VIRTIO-124, VIRTIO-126, VIRTIO-143mstsirkin
Document resolutions to VIRTIO-123, VIRTIO-124, VIRTIO-126 and VIRTIO-143. Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/branches/v1.0@531 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2015-05-21conformance: link in new conformance statementsmstsirkin
Link new conformance statements added by commit network device: document VIRTIO_NET_F_CTRL_RX_EXTRA Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/branches/v1.0@530 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2015-05-18network device: document VIRTIO_NET_F_CTRL_RX_EXTRAmstsirkin
VIRTIO-124 Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/branches/v1.0@529 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2015-05-18network device: xmit/receive cleanupmstsirkin
Fix up multiple issues in xmit/receive sections: - drop MAY/MUST/SHOULD outside normative statements - spell out conformance requirements for both drivers and devices, for xmit and receive paths - document the missing VIRTIO_NET_HDR_F_DATA_VALID - document handling of unrecognized flag bits so we can extend flags in the future, similar to VIRTIO_NET_HDR_F_DATA_VALID VIRTIO-123 Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/branches/v1.0@528 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2015-05-18balloon: document deflate on oommstsirkin
Document the new option, and also clarify behaviour without it. In particular, I noticed that actual field is not the actual number of pages in the balloon as driver might do inflate followed by deflate. Also, device isn't always driven by interrupts, driver can inflate/deflate in response to e.g. memory compaction. VIRTIO-126 Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/branches/v1.0@527 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2015-05-18balloon: transitional device supportmstsirkin
Virtio 1.0 cs02 doesn't include a modern balloon device. At some point we'll likely define an incompatible interface with a different ID and different semantics. But for now, it's not a big effort to support a transitional balloon device: this has the advantage of supporting existing drivers, transparently, as well as transports that don't allow mixing virtio 0 and virtio 1 devices. And balloon is an easy device to test, so it's also useful for people to test virtio core handling of transitional devices. Three issues with legacy hypervisors have been identified: 1. Actual value is actually used, and is necessary for management to work. Luckily 4 byte config space writes are now atomic. When using old guests, hypervisors can detect access to the last byte. When using old hypervisors, drivers can use atomic 4-byte accesses. 2. Hypervisors actually didn't ignore the stats from the first buffer supplied. This means the values there would be incorrect until hypervisor resends the request. Add a note suggesting hypervisors ignore the 1st buffer. 3. QEMU simply over-writes stats from each buffer it gets. Thus if driver supplies a different subset of stats on each request, stale values will be there. Require drivers to supply the same subset on each request. This also gives us a simple way to figure out which stats are supported. VIRTIO-143 Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/branches/v1.0@526 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2015-04-29cl: document VIRTIO-134, VIRTIO-140, VIRTIO-141, VIRTIO-142mstsirkin
document changes made by commits r520 to r523 inclusive Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/branches/v1.0@525 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2015-04-29conformance: add missing linksmstsirkin
previous commit "used ring: specify legacy behaviour for len field" to resolve VIRTIO-141 added new sections with normative statements for legacy balloon and scsi devices. Link them from the conformance section. Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/branches/v1.0@524 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2015-04-29entropy device: typo fixmstsirkin
The driver MUST examine the length written by the driver makes no sense. length is written by the device. VIRTIO-142 Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/branches/v1.0@523 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2015-04-29used ring: specify legacy behaviour for len fieldmstsirkin
many hypervisors implemented len field incorrectly. Document existing bugs in the legacy sections. VIRTIO-141 Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Cc: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/branches/v1.0@522 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2015-04-29VIRTIO-134: Spell out details of indirect elements in chainsmstsirkin
1) It's implied that a chain terminates with an indirect descriptor (since VIRTIO-15) but we didn't spell out that a device MUST NOT continue it. 2) We allow [direct]->[direct]->[indirect], and qemu and bhyve both accept it. Make it clear that this is valid, thus devices MUST handle it. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/branches/v1.0@521 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2015-04-29give explicit guidance on the use of 64 bit fieldsmstsirkin
Just saying 64 bit fields may not be atomic is true, but less helpful than it might be. Add explicit guidance about what the consequences of non-atomicity are. VIRTIO-140 Signed-off-by: James Bottomley <JBottomley@Odin.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/branches/v1.0@520 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2015-04-22cl: fix name for MSTmstsirkin
Should be Michael S. Tsirkin, not Michael Tsirkin. Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/branches/v1.0@519 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2015-04-22cl: document r517mstsirkin
Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/branches/v1.0@518 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2015-04-22acknowledgements: contributors+minor fixupmstsirkin
acknowledge feedback by Jason Wang, add Richard Sohn who joined the TC, sort acknowledged reviewers alphabetically. Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/branches/v1.0@517 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2015-04-22cl: document r509mstsirkin
wording tweak in balloon. Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/branches/v1.0@516 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2015-04-22cl: list r506 and VIRTIO-138mstsirkin
Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/branches/v1.0@515 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2015-04-22cl: document r508: VIRTIO-139mstsirkin
Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/branches/v1.0@514 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2015-04-22cl: document VIRTIO-137mstsirkin
Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/branches/v1.0@513 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2015-04-22diffpreamble: redefine colors in nomarkup sectionmstsirkin
Changelog appears within DIFaddbegin/DIFaddend, suppress marking it as added text, that's confusing. Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/branches/v1.0@512 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2015-04-22makediff: cherry pick disabling markup on clmstsirkin
Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/branches/v1.0@511 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2015-04-22conformance: add VIRTIO-137 to statementsmstsirkin
Add links to new conformance statements added to resolve VIRTIO-137 (describing used ring entry len usage). Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/branches/v1.0@510 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2015-04-22balloon: MUST -> has tomstsirkin
MUST shouldn't be used outside normative statements, that's confusing. Replace with "has to". Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/branches/v1.0@509 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2015-04-22pci: missing documentation for dealing with 64 bit config fieldsmstsirkin
pci spec says what width access to use for 32, 16 and 8 bit fields, but does not explicitly say what to do for 32 bit fields. As we have text that says driver must treat 64 bit accesses as non-atomic, this seems to imply driver should always do two 32 bit wide accesses. Let's make this an explicit requirement, and require devices to support this. VIRTIO-139 Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/branches/v1.0@508 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2015-04-22mark diff for non-transitional with legacymstsirkin
latexdiff doesn't handle changing labels well, causes latex unresolved reference errors. opencode and mark up diff manually. Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/branches/v1.0@507 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2015-04-22multiple errors: Non-transitional With Legacymstsirkin
virtio 1.0 has two sections titled "Non-transitional Device With Legacy Driver" the first says devices SHOULD fail, the second says devices MUST fail. Clearly a mistake. Other issues: devices don't really fail - they cause drivers to fail. second section seems to be in the wrong place, and also have a section followed by subsection with no explanatory text in between, which is ugly. Finally, this text was originally ritten to handle buggy windows drivers gracefully, but later we changed device IDs so it's not really required there. Might be handy for some other buggy legacy drivers, though no such drivers are known. To fix, drop the duplicate section variant, add some explanatory text, clarify what does "same ID" mean here, and clarify that the work-around is only needed if a buggy driver is known to bind to a transitional device. VIRTIO-138 Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/branches/v1.0@506 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2015-04-22makediff: mark note as floatenvmstsirkin
Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/branches/v1.0@505 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2015-04-22VIRTIO-137: used ring: define the meaning and requirements of the len field.mstsirkin
We said what it was for, and noted why. We didn't place any requirements on it, nor clearly spell out the implications of its use. This clarification comes particularly from noticing that QEMU didn't set len correctly, and philosophising over the correct value when an error has occurred. (Wording precision feedback from Michael and Cornelia - Thanks!) Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/branches/v1.0@504 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2015-03-25cl: tweak revisionsmstsirkin
Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/branches/v1.0@503 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2015-03-25cl: add virtio-133mstsirkin
Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/branches/v1.0@502 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2015-03-25cl: list virtio-130mstsirkin
Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/branches/v1.0@501 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2015-03-25cl: add more changelog textmstsirkin
Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/branches/v1.0@500 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2015-03-25cl: tweak changelog slightlymstsirkin
Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/branches/v1.0@499 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2015-03-25makediff: cherry-pick header removalmstsirkin
makes changelog diff slightly prettier. Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/branches/v1.0@498 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2015-03-25cl: add cross-references to changes since cs02mstsirkin
Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/branches/v1.0@497 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2015-03-25makediff: cherry pick cl changesmstsirkin
Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/branches/v1.0@496 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652