summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhornet <hornet@0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652>2013-11-11 10:36:24 +0000
committerhornet <hornet@0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652>2013-11-11 10:36:24 +0000
commit1d7e7fb59c02e1fb3cddf66add4ccc7deca14e51 (patch)
tree95fbf08ac7c7659894eb45613eea74061a01ae5c
parent5f3f1afd5309f6bd40552ce21de0d83373f47393 (diff)
2.3.2 MMIO: Define reset requirements
This patch addresses VIRTIO-47, adding explicit description of the device behaviour when being reset. As per meeting 2013-11-05 https://lists.oasis-open.org/archives/virtio/201311/msg00031.html Signed-off-by: Pawel Moll <pawel.moll@arm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@93 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
-rw-r--r--virtio-v1.0-wd01-part1-specification.txt17
1 files changed, 15 insertions, 2 deletions
diff --git a/virtio-v1.0-wd01-part1-specification.txt b/virtio-v1.0-wd01-part1-specification.txt
index f5f552a..3be1bef 100644
--- a/virtio-v1.0-wd01-part1-specification.txt
+++ b/virtio-v1.0-wd01-part1-specification.txt
@@ -1525,8 +1525,10 @@ configuration space. The following list presents their layout:
flags.
Writing non-zero values to this register sets the status flags,
indicating the Guest progress. Writing zero (0x0) to this
- register triggers a device reset.
- Also see "2.2.1. Device Initialization".
+ register triggers a device reset, including clearing all
+ bits in the InterruptStatus register and ready bits in the
+ QueueReady register for all queues in the device.
+ See also p. 2.3.2.3.1. "Device Initialization".
* 0x080 | W | QueueDescLow
0x084 | W | QueueDescHigh
@@ -1590,6 +1592,9 @@ If both values are valid, it must read the DeviceID register
and if its value is zero (0x0) must abort initialization and
must not access any other register.
+Further initialization must follow the procedure described in
+p. 2.2.1. "Device Initialization".
+
2.3.2.3.2. Virtqueue Configuration
----------------------------------
@@ -1732,6 +1737,14 @@ nor behaviour:
* 0x064 | W | InterruptACK
* 0x070 | RW | Status
+ Device status.
+ Reading from this register returns the current device status
+ flags.
+ Writing non-zero values to this register sets the status flags,
+ indicating the Guest progress. Writing zero (0x0) to this
+ register triggers a device reset. This should include
+ setting QueuePFN to zero (0x0) for all queues in the device.
+ Also see "2.2.1. Device Initialization".
* 0x100+ | RW | Config