Age | Commit message (Collapse) | Author |
|
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
|
|
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
|
|
4.1.5.1.2.1 is incorrectly labelled as a driver requirement; it's
self-evidently referring to the device.
VIRTIO-133
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@488 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
|
|
ISR status capability diagram has the "Device Configuration
Interrupt " as bit 0, and the "Queue Interrupt" as bit 1. This is
the wrong way around: it disagrees with the legacy
implementations, as well as the spec elsewhere.
All current guests correctly follow the text, fix
up the diagram to match.
VIRTIO-130
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@487 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
|
|
Section 2.4.8 The Virtqueue Used Ring
lists the idx field, but never documents it.
VIRTIO-136.
Reported-by: Jason Wang <jasowang@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@486 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
|
|
This reverts commit d0ea186fe547a0e7ae4baeb623cf764a3f1ace65.
git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/branches/v1.0@481 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
|
|
"Basic channel commands" seems to be not as clear as it could,
so let's spell out which channel commands we refer to.
VIRTIO-118
Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Approved unanimously:
https://www.oasis-open.org/apps/org/workgroup/virtio/ballot.php?id=2763
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/branches/v1.0@480 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
|
|
We want to be able to fail setting a status on the device (e.g.
FEATURES_OK if the device can't work with the features negotiated).
The easiest way to do that is to allow the device to fail the
WRITE_STATUS command by posting a command reject.
VIRTIO-116
Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Approved unanimously:
https://www.oasis-open.org/apps/org/workgroup/virtio/ballot.php?id=2762
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/branches/v1.0@479 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
|
|
Generalize "Legacy Interfaces: A Note on Virtqueue Layout" to allow
for different alignment requirements. Have pci and ccw refer to that
section for legacy devices. Remove the double definition of virtqueue
alignment (which referred to legacy, but was not tagged as such) from
the ccw section.
VIRTIO-129
Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Approved unanimously:
https://www.oasis-open.org/apps/org/workgroup/virtio/ballot.php?id=2756
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/branches/v1.0@478 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/branches/v1.0@459 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
|
|
This is here merely as a work-around for latex-diff producing
broken cross-references when labels are re-named.
Not needed on trunk.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/branches/v1.0@454 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
|
|
\ldots does not work within lstlisting, the result is
\ldots verbatim in the PDF output.
To fix, make $ an escape character, and escape the sequence:
$\ldots$
VIRTIO-115
Cc: Thomas Huth <thuth@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@452 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
|
|
This reverts commit 9327a1c9966ec9752aaafa420c7bf2b345cdc9fe.
git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/branches/v1.0@451 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
|
|
Some legacy devices will support two-stage queue indicators and therefore
won't reject CCW_CMD_SET_IND_ADAPTER. Note this.
VIRTIO-127
Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Reviewed-by: Michael S. Tsirkin <mst@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@450 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
|
|
The specification for the configuration layout for block devices
should be its own subsection as for all other devices and not be
hidden beneath "Feature bits".
The normative sections for device operation should appear under
the device operation section.
VIRTIO-125
Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Reviewed-by: Michael S. Tsirkin <mst@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@449 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
|
|
General ring description lists size for
used ring elements as 4, it must be 8.
VIRTIO-120
Cc: "Dr. David Alan Gilbert" <dgilbert@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@448 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
|
|
\ldots does not work within lstlisting, the result is
\ldots verbatim in the PDF output.
To fix, replace with a literal ...
VIRTIO-115
Cc: Thomas Huth <thuth@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@447 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
|
|
Those changes do not add nor remove any features and constitutes
only error correction and editorial changes.
* Extra clarifications for QueueReady and ConfigGeneration
* Added alignment requirement section, to formalise
hidden assumptions about register accesses
Signed-off-by: Pawel Moll <pawel.moll@arm.com>
git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@417 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
|
|
This patch makes clear that the legacy section is non-normative,
removing all MUSTs.
Those changes do not add nor remove any features and constitues
only error correction and editorial changes.
Signed-off-by: Pawel Moll <pawel.moll@arm.com>
git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@416 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
|
|
Those changes do not add nor remove any features and constitutes
only error correction and editorial changes.
* Typos and language mistakes in 4.2, 4.2.1, 4.2.2 and 4.2.2.2.
* Extra clarifications for InterruptACK.
Signed-off-by: Pawel Moll <pawel.moll@arm.com>
git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@415 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
|
|
Legacy devices are "they" not "it".
VIRTIO-113
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@414 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
|
|
Paragraph with general description of feature negotiation
for legacy devices mixed present and past tense.
As rest of legacy sections all use past tense,
fix the only instance of the present tense:
s/do/did/ for consistency.
It might be argued that legacy devices still have these
properties so present tense is more appropriate, on the
other hand, using the past tense helps stress the fact
that current spec does not attempt to fully describe the legacy
device/driver behaviour: this text is only here to serve as
motivation for the transitional device/driver requirements.
VIRTIO-112
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@413 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
|
|
Fix minor typos as reported in ARM's feedback.
Signed-off-by: Pawel Moll <pawel.moll@arm.com>
git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@412 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
|
|
This reverts commit 8a3d1521930d9dacca4972d591ff720d614e37e8.
Was not in CSD03, will re-apply immediately after updating
REVISION.
git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@409 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
|
|
Fix minor typos as reported in ARM's feedback.
Signed-off-by: Pawel Moll <pawel.moll@arm.com>
git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@406 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
|
|
Make table look better. Drop spaces that make
latexdiff stumble.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@386 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
|
|
Patch sent to list (and applied by Rusty in
commit fffcbe327c69e510239fff5627034aa2ab4b2d84
pci: switch from subsystem id to device id
) did not actually implement what commit log said
it implements.
The result is wrong for transitional devices:
Adding 0xfff works for for net+block only;
for transitional pci devices there is no fixed scheme:
~/projects/qemu/include # grep VIRTIO_ID hw/virtio/*.h
hw/virtio/virtio-balloon.h:#define VIRTIO_ID_BALLOON 5
hw/virtio/virtio-blk.h:#define VIRTIO_ID_BLOCK 2
hw/virtio/virtio-net.h:#define VIRTIO_ID_NET 1
hw/virtio/virtio-rng.h:#define VIRTIO_ID_RNG 4
hw/virtio/virtio-scsi.h:#define VIRTIO_ID_SCSI 8
hw/virtio/virtio-serial.h:#define VIRTIO_ID_CONSOLE 3
~/projects/qemu/include # grep VIRTIO hw/pci/*.h
hw/pci/pci.h:#define PCI_DEVICE_ID_VIRTIO_NET 0x1000
hw/pci/pci.h:#define PCI_DEVICE_ID_VIRTIO_BLOCK 0x1001
hw/pci/pci.h:#define PCI_DEVICE_ID_VIRTIO_BALLOON 0x1002
hw/pci/pci.h:#define PCI_DEVICE_ID_VIRTIO_CONSOLE 0x1003
hw/pci/pci.h:#define PCI_DEVICE_ID_VIRTIO_SCSI 0x1004
hw/pci/pci.h:#define PCI_DEVICE_ID_VIRTIO_RNG 0x1005
hw/pci/pci.h:#define PCI_DEVICE_ID_VIRTIO_9P 0x1009
I am guessing TC went by commit log when it approved the change,
so fixing it up directly.
Cc: Andrew Thornton <andrewth@google.com>
Cc: Rusty Russell <rusty@ozlabs.org>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@385 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
|
|
This completes the review of virtio-scsi based on observations
from Google.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@384 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
|
|
Subsystem device ID only exists for PCI.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@383 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
|
|
nr_ports does not exist in the spec.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Rusty Russell <rusty@au1.ibm.com>
git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@382 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
|
|
The REPORT LUNS well-known logical unit is useful because it lets you
retrieve information about all targets with a single command. It
also provides an easy way to send a no-op request.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@381 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
|
|
Put the indicator before punctuation, and terminate the footnote with
a period.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@380 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
|
|
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@379 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
|
|
pi_bytesin is in the device-readable section. Document lack of residual
field. Use le32 instead of u32.
This matches the new patch series that Nicholas sent for vhost-scsi.
Cc: <nab@daterainc.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@378 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
|
|
I chose the one which used the full nomenclature.
Signed-off-by: Rusty Russell <rusty@au1.ibm.com>
git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@377 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
|
|
Switch virtio pci to use standard device id instead of using the
subsystem id.
Unfortunately, there's no system to the way KVM allocated
device IDs to virtio devices, we'll just have to
specify these using a table, and use a new range for
future devices. For existing devices this results in
two possible IDs that all drivers will need to match.
Unfortunate, but the cost is small.
As a nice side effect, this allows us to make non-transitional
devices use IDs 0x40 and up, this reduces even further the
chance that a non transitional device will match legacy drivers.
And, it's probably a good idea to allow drivers to match
specific subsystem IDs if they
want to, so relax requirement for drivers to match all
subsystem/vendor ID configurations, but allow them to do so.
To avoid confusion, say "PCI Device ID" and
"PCI Subsystem ID" everywhere, prefix "PCI"
for other standard registers, for consistency.
VIRTIO-102
Note: issue reporter suggested 0x10XX where XX is the virtio
device ID. This would conflict with legacy devices, which seem
to have used 7 IDs in the range 0x1000 to 0x103f without any
system. Let's use a new range 0x1040 to 0x107f for
non-transitional devices, and add a table documenting the
transitional IDs used by in practice.
(Approved at 2014-06-04 meeting:
https://lists.oasis-open.org/archives/virtio/201406/msg00013.html )
Cc: Andrew Thornton <andrewth@google.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Rusty Russell <rusty@au1.ibm.com>
git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@376 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
|
|
config changes are slow path anyway, so we
can as well set ISR bit to help drivers detect changes.
This allows sharing config interrupts which is what
issue reporter seems to ask for.
VIRTIO-104
(Approved at 2014-06-04 meeting:
https://lists.oasis-open.org/archives/virtio/201406/msg00013.html )
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Rusty Russell <rusty@au1.ibm.com>
git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@375 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
|
|
If device sets NEEDS_RESET before DRIVER_OK, it
can't send notifications to driver.
Make this clear.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@374 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
|
|
Error introduced in 59cd205cea "VIRTIO-98: Add DEVICE_NEEDS_RESET":
seems that underscores in labels are verboten:
[133] [134] (./virtio-v1.0-csprd02.aux
! Missing \endcsname inserted.
<to be read again>
\unhbox
l.45 ...ts: Device Status Field}}{subsection.1}{}}
Signed-off-by: Rusty Russell <rusty@au1.ibm.com>
git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@373 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
|
|
As prompted by Rusty, add a few more MUST/SHOULD items for both devices
and drivers. Clarify semantics of max_channel/max_id/max_lun, task_attr
and task management functions.
(As per minutes of meeting 2014-05-20:
https://lists.oasis-open.org/archives/virtio/201405/msg00034.html )
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Rusty Russell <rusty@au1.ibm.com>
git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@372 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
|
|
This is a new feature that was suggested by Nicholas Bellinger, who
also provided a prototype implementation for vhost-scsi.
(As per minutes of meeting 2014-05-20:
https://lists.oasis-open.org/archives/virtio/201405/msg00034.html )
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Rusty Russell <rusty@au1.ibm.com>
git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@371 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
|
|
Assign device id to virtio input
As passed at meeting 2014-05-06:
https://lists.oasis-open.org/archives/virtio/201405/msg00016.html
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Rusty Russell <rusty@au1.ibm.com>
git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@370 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
|
|
As passed at meeting 2014-05-06:
https://lists.oasis-open.org/archives/virtio/201405/msg00016.html
Signed-off-by: Rusty Russell <rusty@au1.ibm.com>
git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@369 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
|
|
As passed at meeting 2014-05-06:
https://lists.oasis-open.org/archives/virtio/201405/msg00016.html
Signed-off-by: Rusty Russell <rusty@au1.ibm.com>
git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@368 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
|
|
As passed at meeting 2014-05-06:
https://lists.oasis-open.org/archives/virtio/201405/msg00016.html
Signed-off-by: Rusty Russell <rusty@au1.ibm.com>
git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@367 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
|
|
As passed at meeting 2014-05-06:
https://lists.oasis-open.org/archives/virtio/201405/msg00016.html
Signed-off-by: Rusty Russell <rusty@au1.ibm.com>
git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@366 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
|
|
As passed at meeting 2014-05-06:
https://lists.oasis-open.org/archives/virtio/201405/msg00016.html
Signed-off-by: Rusty Russell <rusty@au1.ibm.com>
git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@365 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
|
|
As passed at meeting 2014-05-06:
https://lists.oasis-open.org/archives/virtio/201405/msg00016.html
Signed-off-by: Rusty Russell <rusty@au1.ibm.com>
git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@364 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
|
|
As passed at meeting 2014-05-06:
https://lists.oasis-open.org/archives/virtio/201405/msg00016.html
Reported-by: Thomas Huth <thuth@linux.vnet.ibm.com>
Signed-off-by: Rusty Russell <rusty@au1.ibm.com>
git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@363 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
|
|
For the network device, we had two device normative sections both called
"setting up receive buffers", neither of which was referenced in the
conformance section.
Let's rename the second one to "processing of packets" which seems to
better match the actual contents and reference both of them from the
conformance statement for network devices.
Resolves VIRTIO-97.
Agreed on the 2014/05/06 TC meeting.
Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@362 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
|