summaryrefslogtreecommitdiff
path: root/content.tex
AgeCommit message (Collapse)Author
2014-02-10We'll add more non-normative sections with hints forrusty
implementing registers such as PCI class, status and command registers. Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@219 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-02-10example code does not have to be optimal but itrusty
seems cleaner to disable interrupts after we recheck the ring empty state. Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@218 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-02-10patch feedback-7-orig.patchrusty
git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@217 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-02-10patch feedback-6.patchrusty
git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@216 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-02-10patch feedback-4.patchrusty
git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@214 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-02-10PCI Section Reworkrusty
1) Minor changes from must to MUST etc. 2) More references using \ref. 3) Move section on capabilities first, before we talk about the common config layout. The previous order made sense for legacy. 4) Make explicit subsections for each type of capability and move more information into them. 5) Make it clear that there must be one or more. 6) Include 'struct virtio_pci_cap cap;' in struct virtio_pci_cfg_cap to match virtio_pci_notify_cap. 7) Explicitly note there's no way to negotiate the queue size for a legacy device. 8) Fix old language on config change event: config is not in the pci configuration space. 9) Explicitly state what the driver should do to use virtio_pci_cfg_cap. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@213 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-02-10C struct specifications.rusty
Explicitly specify that our C struct specifications are without padding, and add some definitions for our integer data types. [ Rusty - added /* comments */ and removed redundant old le* explanation ] Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com> Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@212 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-02-07Cleanup and setup clarificationsrusty
1) Explicitly allow drivers to read config space during feature negotiation. 2) Add the concept of a "live" virtqueue, and explicitly disallow moving it backwards or changing descriptors. Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@207 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-02-07block: legacy SCSI command fix.rusty
When describing the historical layout requirements, it says "status field is a separate read-only buffer of size 1 byte, by itself." That's clearly wrong, as it says above "The final status byte is written by the device" Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@204 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-02-06whitespace: make all examples unindented, and avoid tabs.rusty
This makes the formatting far nicer. Applying now as it touches almost all examples and layouts, so we can rebase future changes on top of common ground. (Based on feedback from Thomas Huth for one example, and generalized). Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@203 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-01-313.2.1: Language tightening.rusty
1) Lots of "we", replace with "the driver". 2) Use MAY and MUST NOT for spurious notifications. 3) Don't refer to PCI configuration space for notification. Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@201 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-01-294.1.2.5: Legacy: PCI Device Layout: fix PCI header fields orderhornet
The order of the fields in the legacy PCI header seems to get messed up in the new spec, with the "Queue Address" moved behind "Queue Notify". According to the 0.9.5 version of the spec it should be: * Device Features 32 * Driver Features 32 * Queue Address 32 * Queue Size 16 * Queue Select 16 * Queue Notify 16 * Device Status 8 * ISR Status 8 Signed-off-by: Pawel Moll <pawel.moll@arm.com> -- 1.8.3.2 git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@198 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-01-29Feedback #3: Feedback from Pranavkumar Sawargaonkar ↵rusty
(VIRTIO_CONSOLE_F_EMERG_WRITE) Document: virtio-v1.0-csprd01 Number: 3 Date: Tue, 21 Jan 2014 15:09:54 +0530 Link to Mail: https://lists.oasis-open.org/archives/virtio-comment/201401/msg00037.html Commenter name: Pranavkumar Sawargaonkar <pranavkumar@linaro.org> Approved at meeting 2014-01-28: https://lists.oasis-open.org/archives/virtio/201401/msg00054.html Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@197 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-01-29Feedback #2: More feedback from Thomas Huthrusty
Document: virtio-v1.0-csprd01 Number: 2 Date: Fri, 10 Jan 2014 13:49:49 +0100 Link to Mail: https://lists.oasis-open.org/archives/virtio-comment/201401/msg00001.html Commenter name: Thomas Huth <thuth@linux.vnet.ibm.com> Approved at meeting 2014-01-28: https://lists.oasis-open.org/archives/virtio/201401/msg00054.html Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@196 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-01-29Feedback #1: fixes from Thomas Huthrusty
Document: virtio-v1.0-csprd01 Number: 1 Date: Fri, 10 Jan 2014 11:01:44 +0100 Link to Mail: https://lists.oasis-open.org/archives/virtio-comment/201401/msg00000.html Commenter name: Thomas Huth <thuth@linux.vnet.ibm.com> Approved at meeting: 2014-01-28 https://lists.oasis-open.org/archives/virtio/201401/msg00054.html Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@195 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-01-28mmio: Move QueueReady register from offset 0x03c to 0x044hornet
Legacy devices have QueueAlign register at 0x03c. To stay on the safe side and avoid any potential clashes (also to be able to abort any wrong writes), move it to previously unused offset 0x044. Signed-off-by: Pawel Moll <pawel.moll@arm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@194 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-01-23virtio-ccw: fix set_revision payload definitioncornelia.huck
The members of struct virtio_rev_info are big endian: use be16 types. Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@193 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-01-23Formatting: fix feature bits for console device.rusty
Make them a description list like every other device. Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@191 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-01-23Michael's patch adding MQ support added some u16s; they are u16 inrusty
legacy mode but should be le16 for modern devices. Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@190 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-01-17net/multiqueue: tighten wordingrusty
Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com> Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@185 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2014-01-03mmio: Obviously wrong notification register namehornet
The "4.2.3.3 Notifying The Device" section said "writing the index of the updated queue to the QueueNum". This is obviously wrong - should read "QueueNotify". Signed-off-by: Pawel Moll <pawel.moll@arm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@179 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2013-12-162.3.2 MMIO: Configuration space offset correctedhornet
The offset in the MMIO configuration space description (table 4.1) became wrong at some time (0x0fff). Fixed. Signed-off-by: Pawel Moll <pawel.moll@arm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@177 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2013-12-122.3.2 MMIO: Notifications & interrupts clarificationshornet
(Hopefully) clarified the way notifications are being passed between the device and the driver and about the meaning of the interrupt registers. Signed-off-by: Pawel Moll <pawel.moll@arm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@176 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2013-12-122.3.2 MMIO: Further clarificationshornet
Clarified driver behaviour for out-of-spec MagicValue, Version and DeviceID values. Signed-off-by: Pawel Moll <pawel.moll@arm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@174 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2013-12-12ccw: feature bit endiannesscornelia.huck
In contrast to the other values transmitted in ccw payload, feature bits are little endian. Fix it in the structure definition. Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@173 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2013-12-12ccw: clarify passing of subchannel idcornelia.huck
Make clear that the upper half of the register must be ignored, just like normal I/O instructions do. Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@172 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2013-12-12ccw: Tighten specification language.cornelia.huck
must -> MUST changes, removed inappropriate mays. Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@171 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2013-12-092.3.2 MMIO: LaTeXisationhornet
Converter the register layout descriptions into tables. Also hardened the specification language, using MUSTs and MUST NOTs. Signed-off-by: Pawel Moll <pawel.moll@arm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@170 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2013-12-08net: document VIRTIO_NET_F_MAC_ADDRmstsirkin
VIRTIO-50 commit f058954d131e3dc73058778ad23b241a235ae8e1 virtio-spec: set mac address by a new vq command Approved Dec 3, 2013 Reported-by: Francesco Fusco <ffusco@redhat.com> Signed-off-by: Amos Kong <akong@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@167 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2013-12-08net: add _F_MQ supportmstsirkin
VIRTIO-49 Includes git commits: 3c600996f641614d3720c94dd52155aaaba670fa virtio-spec: fix two typos commit 67023431c8796bc430ec0a79b15bab57e2e0f1f6 virtio-spec: virtio network device multiqueue support commit a02d91f8729b4a333d525015d22138a86ce9b644 net: add note that you can defer rx queue init until mq enable. Approved Dec 3, 2013 Reported-by: Francesco Fusco <ffusco@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@166 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2013-12-03Remove suggestion to use old virtualization list for number assignment.rusty
Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@154 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2013-12-034.1.2.5: Make table clearerrusty
As suggested by Cornelia Huck. Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@152 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2013-12-02tex: s/item:/itm:/mstsirkin
It is preferable to use standard prefixes for labels, in case we ever want to use fancyref. See http://en.wikibooks.org/wiki/LaTeX/Labels_and_Cross-referencing Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@150 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2013-12-02content.tex: fix html buildmstsirkin
_ should not be used in labels Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@149 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2013-12-02latexify document more.rusty
This change: - Turns formatted lists into real lists (itemize, etc). - Turns ascii tables into real tables. - Use \ldots for ... - Moves \footnote to immediately after what it refers to, otherwise we get awkward whitespace before the superscript. - List of stats for balloon contains values in () to match other lists. - Puts lstlisting around CCW code example - Cross references to numbered steps, rather than hardcoded (2) etc. No actual contents changed. Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@148 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2013-12-02Specify requirements more clearly.rusty
The spec language is mostly written with a view to driver authors, and contains assumptions, eg: The Device Status field is updated by the OS and driver... But the spec is for both device and driver authors. It should specify exactly what is to be done, and by whom, eg: The driver MUST update the Device Status field... 1) Change from passive to active (eg "foo must be reset" => "driver must reset foo"). 2) Upcase SHOULD, MUST etc. There are probably more that I missed. 3) Make the following requirements explicit: - The driver must not clear device status bits. - Make bad on looped descriptors explicit. - Driver must not set VRING_DESC_F_INDIRECT unless negotiated feature. - Available/used ring sections rewritten to be more explicit that driver must not set VRING_AVAIL_F_NO_INTERRUPT. - Following device initialization sequence is a MUST. - Driver must not continue initialization if it sets FAILED. - "memory barriers" are now a MUST, though the weasel-word "suitable" was added. - Driver MUST notify device. 4) Misc changes: - Use "device offers" / "driver accepts" language for feature negotiation. - config space always uses little-endian, remove 'generally'. - "descriptor chain" term used everywhere. - Extraneous "+" deleted. - Remove "Unless explicitly specified otherwise" from PCI spec endian sentence. - Refer to notify_off_multiplier in queue_notify_off discussion. Signed-off-by: Rusty Russell <rusty@au.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@147 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2013-12-02pci: fix config notify bit.rusty
The Linux code uses 0x2, so I assume second lowest bit is right... Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@146 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2013-12-02Terminology: Device and driver, not host and guest.rusty
We've mixed both together, whereas from a spec-reader point of view, "driver" and "device" is probably clearer. CCW part incorporated: Switch the parts of the virtio-ccw specification that did not already to device/driver instead of guest/host. For more general discussions, host/guest is kept (like when talking about guest<->host notifications in general). This should make things more consistent. Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com> Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@145 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2013-11-28content.tex: split virtio-ring outmstsirkin
Split virtio_ring.h out to a separate file. Required by OASIS (though not a strict requirement for non-normative definitions like this one). Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@130 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2013-11-25content.tex: Fix virtio-ccw cross reference.cornelia.huck
Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@123 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2013-11-25content.tex: manual legacy pci device layoutmstsirkin
rewrite legacy pci device layout using tabularx. it was too wide for verbatim to lay out reasonably. Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@121 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2013-11-25content.tex: manually fix malformed tablemstsirkin
Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@120 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2013-11-25content.tex: fix up cross-reference to S390mstsirkin
make it a hyper-link. Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@119 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2013-11-25content.tex: drop text moved to introduction.texmstsirkin
Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@118 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
2013-11-25content.tex: spec text converted to latexmstsirkin
This is simply virtio-v1.0-wd01-part1-specification.txt converted by txt2latex.pl Signed-off-by: Michael S. Tsirkin <mst@redhat.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@113 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652