qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] [PATCH 1/3] linux-headers: Sync vfio.h


From: Gavin Shan
Subject: [Qemu-devel] [PATCH 1/3] linux-headers: Sync vfio.h
Date: Wed, 11 Mar 2015 17:39:30 +1100

The patch synchronizes vfio.h with the kernel to support EEH error
injection.

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

diff --git a/linux-headers/linux/vfio.h b/linux-headers/linux/vfio.h
index 95ba870..61ed233 100644
--- a/linux-headers/linux/vfio.h
+++ b/linux-headers/linux/vfio.h
@@ -468,12 +468,21 @@ struct vfio_iommu_spapr_tce_info {
  * - unfreeze IO/DMA for frozen PE;
  * - read PE state;
  * - reset PE;
- * - configure PE.
+ * - configure PE;
+ * - inject EEH error.
  */
+struct vfio_eeh_pe_err {
+       __u32 type;
+       __u32 func;
+       __u64 addr;
+       __u64 mask;
+};
+
 struct vfio_eeh_pe_op {
        __u32 argsz;
        __u32 flags;
        __u32 op;
+       __u8  data[];
 };
 
 #define VFIO_EEH_PE_DISABLE            0       /* Disable EEH functionality */
@@ -490,6 +499,29 @@ struct vfio_eeh_pe_op {
 #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_INJECT_ERR         9       /* Inject EEH error          */
+#define  VFIO_EEH_ERR_TYPE_32          0       /* 32-bits EEH error type    */
+#define  VFIO_EEH_ERR_TYPE_64          1       /* 64-bits EEH error type    */
+#define  VFIO_EEH_ERR_FUNC_LD_MEM_ADDR         0       /* Memory load  */
+#define  VFIO_EEH_ERR_FUNC_LD_MEM_DATA         1
+#define  VFIO_EEH_ERR_FUNC_LD_IO_ADDR          2       /* IO load      */
+#define  VFIO_EEH_ERR_FUNC_LD_IO_DATA          3
+#define  VFIO_EEH_ERR_FUNC_LD_CFG_ADDR         4       /* Config load  */
+#define  VFIO_EEH_ERR_FUNC_LD_CFG_DATA         5
+#define  VFIO_EEH_ERR_FUNC_ST_MEM_ADDR         6       /* Memory store */
+#define  VFIO_EEH_ERR_FUNC_ST_MEM_DATA         7
+#define  VFIO_EEH_ERR_FUNC_ST_IO_ADDR          8       /* IO store     */
+#define  VFIO_EEH_ERR_FUNC_ST_IO_DATA          9
+#define  VFIO_EEH_ERR_FUNC_ST_CFG_ADDR         10      /* Config store */
+#define  VFIO_EEH_ERR_FUNC_ST_CFG_DATA         11
+#define  VFIO_EEH_ERR_FUNC_DMA_RD_ADDR         12      /* DMA read     */
+#define  VFIO_EEH_ERR_FUNC_DMA_RD_DATA         13
+#define  VFIO_EEH_ERR_FUNC_DMA_RD_MASTER       14
+#define  VFIO_EEH_ERR_FUNC_DMA_RD_TARGET       15
+#define  VFIO_EEH_ERR_FUNC_DMA_WR_ADDR         16      /* DMA write    */
+#define  VFIO_EEH_ERR_FUNC_DMA_WR_DATA         17
+#define  VFIO_EEH_ERR_FUNC_DMA_WR_MASTER       18
+#define  VFIO_EEH_ERR_FUNC_DMA_WR_TARGET       19
 
 #define VFIO_EEH_PE_OP                 _IO(VFIO_TYPE, VFIO_BASE + 21)
 
-- 
1.8.3.2




reply via email to

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