qemu-ppc
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-ppc] [PATCH v8 2/4] headers: Update kernel header


From: Gavin Shan
Subject: [Qemu-ppc] [PATCH v8 2/4] headers: Update kernel header
Date: Thu, 5 Jun 2014 16:53:39 +1000

This updates kernel header (vfio.h) for EEH support on VFIO PCI
devices.

Signed-off-by: Gavin Shan <address@hidden>
---
 linux-headers/linux/vfio.h | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/linux-headers/linux/vfio.h b/linux-headers/linux/vfio.h
index f0aa97d..cf703d3 100644
--- a/linux-headers/linux/vfio.h
+++ b/linux-headers/linux/vfio.h
@@ -30,6 +30,9 @@
  */
 #define VFIO_DMA_CC_IOMMU              4
 
+/* Check if EEH is supported */
+#define VFIO_EEH                       5
+
 /*
  * The IOCTL interface is designed for extensibility by embedding the
  * structure length (argsz) and flags into structures passed between
@@ -490,6 +493,38 @@ struct vfio_iommu_spapr_tce_reset {
 };
 #define VFIO_IOMMU_SPAPR_TCE_RESET     _IO(VFIO_TYPE, VFIO_BASE + 20)
 
+/*
+ * EEH PE operation struct provides ways to:
+ * - enable/disable EEH functionality;
+ * - unfreeze IO/DMA for frozen PE;
+ * - read PE state;
+ * - reset PE;
+ * - configure PE.
+ */
+struct vfio_eeh_pe_op {
+       __u32 argsz;
+       __u32 flags;
+       __u32 op;
+};
+
+#define VFIO_EEH_PE_DISABLE            0       /* Disable EEH functionality */
+#define VFIO_EEH_PE_ENABLE             1       /* Enable EEH functionality  */
+#define VFIO_EEH_PE_UNFREEZE_IO                2       /* Enable IO for frozen 
PE   */
+#define VFIO_EEH_PE_UNFREEZE_DMA       3       /* Enable DMA for frozen PE  */
+#define VFIO_EEH_PE_GET_STATE          4       /* PE state retrieval        */
+#define VFIO_EEH_PE_RESET_DEACTIVATE   5       /* Deassert PE reset         */
+#define VFIO_EEH_PE_RESET_HOT          6       /* Assert hot reset          */
+#define VFIO_EEH_PE_RESET_FUNDAMENTAL  7       /* Assert fundamental reset  */
+#define VFIO_EEH_PE_CONFIGURE          8       /* PE configuration          */
+
+#define VFIO_EEH_PE_STATE_NORMAL       0       /* PE in functional state    */
+#define VFIO_EEH_PE_STATE_RESET                1       /* PE reset in progress 
     */
+#define VFIO_EEH_PE_STATE_STOPPED      2       /* Stopped DMA and IO        */
+#define VFIO_EEH_PE_STATE_STOPPED_DMA  4       /* Stopped DMA only          */
+#define VFIO_EEH_PE_STATE_UNAVAIL      5       /* State unavailable         */
+
+#define VFIO_EEH_PE_OP                 _IO(VFIO_TYPE, VFIO_BASE + 21)
+
 /* ***************************************************************** */
 
 #endif /* VFIO_H */
-- 
1.8.3.2




reply via email to

[Prev in Thread] Current Thread [Next in Thread]