diff options
-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 |