summaryrefslogtreecommitdiff
path: root/introduction.tex
diff options
context:
space:
mode:
authorrusty <rusty@0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652>2014-02-10 10:42:17 +0000
committerrusty <rusty@0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652>2014-02-10 10:42:17 +0000
commitfc645a199214a378e0934e07e7427e175bd475f3 (patch)
treecfcd52d08982feaa59f46a1fa541ee8c3b90b4a6 /introduction.tex
parentb140ac440e6a7d6eca73d818d5a0b7de7c07efcd (diff)
REVERT LAST 15 JUNK COMMITS.
Back to r211. It's been a long day. Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@225 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
Diffstat (limited to 'introduction.tex')
-rw-r--r--introduction.tex40
1 files changed, 3 insertions, 37 deletions
diff --git a/introduction.tex b/introduction.tex
index 745fabf..5d57f78 100644
--- a/introduction.tex
+++ b/introduction.tex
@@ -13,15 +13,14 @@ inter-guest communication) requires copying.
}
Efficient: Virtio devices consist of rings of descriptors
- for both input and output, which are neatly laid out to avoid cache
+ for input and output, which are neatly separated to avoid cache
effects from both driver and device writing to the same cache
lines.
Standard: Virtio makes no assumptions about the environment in which
- it operates, beyond supporting the bus to which device is attached.
- In this specification, virtio
+ it operates, beyond supporting the bus attaching the device. Virtio
devices are implemented over PCI and other buses, and earlier drafts
- have been implemented on other buses not included here.
+ been implemented on other buses not included in this spec.
\footnote{The Linux implementation further separates the PCI virtio code
from the specific virtio drivers: these drivers are shared with
the non-PCI implementations (currently lguest and S/390).
@@ -43,40 +42,7 @@ The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "S
\phantomsection\label{intro:rfc2119}\textbf{[RFC2119]} & S. Bradner, Key words for use in RFCs to Indicate Requirement Levels, \newline\url{http://www.ietf.org/rfc/rfc2119.txt}, March 1997\\
\phantomsection\label{intro:S390 PoP}\textbf{[S390 PoP]} & z/Architecture Principles of Operation, \newline IBM Publication SA22-7832\\
\phantomsection\label{intro:S390 Common I/O}\textbf{[S390 Common I/O]} & ESA/390 Common I/O-Device and Self-Description, \newline IBM Publication SA22-7204\\
- \phantomsection\label{intro:PCI}\textbf{[PCI]} &
- Conventional PCI Specifications,
- \newline\url{http://www.pcisig.com/specifications/conventional/},
- PCI-SIG\\
- \phantomsection\label{intro:PCI-X}\textbf{[PCI-X]} &
- PCI-X Specifications,
- \newline\url{http://www.pcisig.com/specifications/pcix_20/},
- PCI-SIG\\
- \phantomsection\label{intro:PCI-X}\textbf{[PCIe]} &
- PCI Express Specifications
- \newline\url{http://www.pcisig.com/specifications/pciexpress/},
- PCI-SIG\\
\end{longtable}
-\section{Structure Specifications}
-
-Many device and driver in-memory structure layouts are documented using
-the C struct syntax. All structures are assumed to be without additional
-padding. To stress this, cases where common C compilers are known to insert
-extra padding within structures are tagged using the GNU C
-__attribute__((packed)) syntax.
-
-For the integer data types used in the structure definitions, the following
-conventions are used:
-
-\begin{description}
-\item[u8, u16, u32, u64] An unsigned integer of the specified length in bits.
-
-\item[le16, le32, le64] An unsigned integer of the specified length in bits,
-in little-endian byte order.
-
-\item[be16, be32, be64] An unsigned integer of the specified length in bits,
-in big-endian byte order.
-\end{description}
-
\newpage