summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhornet <hornet@0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652>2013-12-12 18:05:18 +0000
committerhornet <hornet@0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652>2013-12-12 18:05:18 +0000
commit3801029f7ab50559eb0e7cfa4253142c46cd0085 (patch)
treef775426cfe39bd2b2254adc4e74b1a5850691287
parent6d98c367d70727ab558ceaa34cc92fbbb98e9065 (diff)
2.3.2 MMIO: Further clarifications
Clarified driver behaviour for out-of-spec MagicValue, Version and DeviceID values. Signed-off-by: Pawel Moll <pawel.moll@arm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@174 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
-rw-r--r--content.tex17
1 files changed, 13 insertions, 4 deletions
diff --git a/content.tex b/content.tex
index 01f87e4..709bbbf 100644
--- a/content.tex
+++ b/content.tex
@@ -1417,17 +1417,26 @@ All register values are organized as Little Endian.
\endfoot
\endlastfoot
\mmioreg{MagicValue}{Magic value}{0x000}{R}{%
- MUST be 0x74726976 (a Little Endian equivalent of the "virt" string).
+ Device MUST return value 0x74726976
+ (a Little Endian equivalent of the "virt" string).
+ Driver MUST ignore device returning other values,
+ although it MAY report an error.
}
\hline
\mmioreg{Version}{Device version number}{0x004}{R}{%
Devices compliant with this specification MUST return value 0x2.
+ Legacy device (see \ref{sec:Virtio Transport Options / Virtio Over MMIO / Legacy interface}~\nameref{sec:Virtio Transport Options / Virtio Over MMIO / Legacy interface}) MAY return value 0x1.
+ Driver MUST ignore device returning other values,
+ although it MAY report an error.
}
\hline
\mmioreg{DeviceID}{Virtio Subsystem Device ID}{0x008}{R}{%
See \ref{sec:Device Types}~\nameref{sec:Device Types} for possible values.
- Value zero (0x0) is invalid and devices returning this ID MUST be ignored
- by the driver.
+ Value zero (0x0) is invalid and driver MUST ignore such device
+ but MUST NOT report any error. This behaviour can be used to
+ define a system memory map with placeholder devices at static,
+ well known addresses, assigning functions to them depending
+ on user's needs.
}
\hline
\mmioreg{VendorID}{Virtio Subsystem Vendor ID}{0x00c}{R}{}
@@ -1675,7 +1684,7 @@ nor behaviour:
\endlastfoot
\mmioreg{MagicValue}{Magic value}{0x000}{R}{}
\hline
- \mmioreg{Version}{Device version number}{0x004}{R}{Legacy devices MUST return value 0x1.}
+ \mmioreg{Version}{Device version number}{0x004}{R}{Legacy device MUST return value 0x1.}
\hline
\mmioreg{DeviceID}{Virtio Subsystem Device ID}{0x008}{R}{}
\hline