diff options
author | rusty <rusty@0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652> | 2014-02-10 10:42:17 +0000 |
---|---|---|
committer | rusty <rusty@0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652> | 2014-02-10 10:42:17 +0000 |
commit | fc645a199214a378e0934e07e7427e175bd475f3 (patch) | |
tree | cfcd52d08982feaa59f46a1fa541ee8c3b90b4a6 /introduction.tex | |
parent | b140ac440e6a7d6eca73d818d5a0b7de7c07efcd (diff) | |
download | virtio-spec-fc645a199214a378e0934e07e7427e175bd475f3.tar.gz |
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.tex | 40 |
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 |