Age | Commit message (Collapse) | Author |
|
This is the re-arrangement originally suggested by Rusty,
except I made some fixes and also tweaked a couple of places
where behaviour changes where suggested - if we want these,
they should go in separately.
Rearrange discovery section to make it clearer what goes on.
Wording changes MUST/MAY/etc. Clarify cfg gateway use. No
behavioural changes.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@232 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
|
|
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@231 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
|
|
Back to r211. It's been a long day.
Signed-off-by: Rusty Russell <rusty@au1.ibm.com>
git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@225 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
|
|
git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@224 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
|
|
git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@223 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
|
|
git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@222 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
|
|
git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@221 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
|
|
While most places now sat virtio common configuration
structure, some places still use the term virtio header.
Since it's not necessarily before the
common configuration anymore, rename it
to virtio common configuration structure for consistency.
Cc: Arun Subbarao <asubbarao@lnxw.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@220 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
|
|
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
|
|
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
|
|
git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@217 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
|
|
git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@216 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
|
|
git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@214 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
(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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
(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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
_ 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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|