aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/virtio_pci.h
diff options
context:
space:
mode:
authorAnthony Liguori <aliguori@us.ibm.com>2007-11-12 21:30:26 -0600
committerRusty Russell <rusty@rustcorp.com.au>2008-02-04 23:50:11 +1100
commit3343660d8c62c6b00b2f15324ef3fcb6be207bfa (patch)
tree06d86446da65fc1814edad944e43aeb62f092422 /include/linux/virtio_pci.h
parentvirtio_blk: implement naming for vda-vdz,vdaa-vdzz,vdaaa-vdzzz (diff)
downloadlinux-dev-3343660d8c62c6b00b2f15324ef3fcb6be207bfa.tar.xz
linux-dev-3343660d8c62c6b00b2f15324ef3fcb6be207bfa.zip
virtio: PCI device
This is a PCI device that implements a transport for virtio. It allows virtio devices to be used by QEMU based VMMs like KVM or Xen. Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Diffstat (limited to 'include/linux/virtio_pci.h')
-rw-r--r--include/linux/virtio_pci.h55
1 files changed, 55 insertions, 0 deletions
diff --git a/include/linux/virtio_pci.h b/include/linux/virtio_pci.h
new file mode 100644
index 000000000000..860eb37bfa07
--- /dev/null
+++ b/include/linux/virtio_pci.h
@@ -0,0 +1,55 @@
+/*
+ * Virtio PCI driver
+ *
+ * This module allows virtio devices to be used over a virtual PCI device.
+ * This can be used with QEMU based VMMs like KVM or Xen.
+ *
+ * Copyright IBM Corp. 2007
+ *
+ * Authors:
+ * Anthony Liguori <aliguori@us.ibm.com>
+ *
+ * This work is licensed under the terms of the GNU GPL, version 2 or later.
+ * See the COPYING file in the top-level directory.
+ *
+ */
+
+#ifndef _LINUX_VIRTIO_PCI_H
+#define _LINUX_VIRTIO_PCI_H
+
+#include <linux/virtio_config.h>
+
+/* A 32-bit r/o bitmask of the features supported by the host */
+#define VIRTIO_PCI_HOST_FEATURES 0
+
+/* A 32-bit r/w bitmask of features activated by the guest */
+#define VIRTIO_PCI_GUEST_FEATURES 4
+
+/* A 32-bit r/w PFN for the currently selected queue */
+#define VIRTIO_PCI_QUEUE_PFN 8
+
+/* A 16-bit r/o queue size for the currently selected queue */
+#define VIRTIO_PCI_QUEUE_NUM 12
+
+/* A 16-bit r/w queue selector */
+#define VIRTIO_PCI_QUEUE_SEL 14
+
+/* A 16-bit r/w queue notifier */
+#define VIRTIO_PCI_QUEUE_NOTIFY 16
+
+/* An 8-bit device status register. */
+#define VIRTIO_PCI_STATUS 18
+
+/* An 8-bit r/o interrupt status register. Reading the value will return the
+ * current contents of the ISR and will also clear it. This is effectively
+ * a read-and-acknowledge. */
+#define VIRTIO_PCI_ISR 19
+
+/* The bit of the ISR which indicates a device configuration change. */
+#define VIRTIO_PCI_ISR_CONFIG 0x2
+
+/* The remaining space is defined by each driver as the per-driver
+ * configuration space */
+#define VIRTIO_PCI_CONFIG 20
+
+#endif