diff options
author | hornet <hornet@0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652> | 2013-11-11 10:36:24 +0000 |
---|---|---|
committer | hornet <hornet@0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652> | 2013-11-11 10:36:24 +0000 |
commit | 1d7e7fb59c02e1fb3cddf66add4ccc7deca14e51 (patch) | |
tree | 95fbf08ac7c7659894eb45613eea74061a01ae5c | |
parent | 5f3f1afd5309f6bd40552ce21de0d83373f47393 (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.txt | 17 |
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 |