diff options
author | rusty <rusty@0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652> | 2014-05-12 01:57:08 +0000 |
---|---|---|
committer | rusty <rusty@0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652> | 2014-05-12 01:57:08 +0000 |
commit | 21f3413a639a8412dfe037b371e9aa0ea9d027d0 (patch) | |
tree | fa90e4980d143055de406702487b679c4697457a | |
parent | d14253c013c0f86c94a68e748234fe162892f5e6 (diff) |
VIRTIO-103: PCI: require read-after-write on device_status reset.
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
-rw-r--r-- | content.tex | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/content.tex b/content.tex index 2a7a513..7b99650 100644 --- a/content.tex +++ b/content.tex @@ -1258,7 +1258,8 @@ and if that flag is set when the driver reads from the device-specific configuration, increment \field{config_generation} and clear the flag. \end{note} -The device MUST reset when 0 is written to \field{device_status}. +The device MUST reset when 0 is written to \field{device_status}, and +present a 0 in \field{device_status} once that is done. The device MUST present a 0 in \field{queue_enable} on reset. @@ -1274,6 +1275,9 @@ The driver MUST NOT write a value which is not a power of 2 to \field{queue_size The driver MUST configure the other virtqueue fields before enabling the virtqueue with \field{queue_enable}. +After writing 0 to \field{device_status}, the driver MUST wait for a read of +\field{device_status} to return 0 before reinitializing the device. + \subsubsection{Notification structure layout}\label{sec:Virtio Transport Options / Virtio Over PCI Bus / PCI Device Layout / Notification capability} The notification location is found using the VIRTIO_PCI_CAP_NOTIFY_CFG |