aboutsummaryrefslogtreecommitdiffstats
path: root/include/uapi/linux/vfio.h
diff options
context:
space:
mode:
authorGavin Shan <gwshan@linux.vnet.ibm.com>2015-03-26 01:42:09 -0400
committerMichael Ellerman <mpe@ellerman.id.au>2015-05-12 06:33:35 -0400
commit68cbbc3a9d1fc231810b2490bca73b3b444ef542 (patch)
treeaa46575bc541b0680021a47e80df098bcc16789b /include/uapi/linux/vfio.h
parentec33d36e5ab5d52d59a8f696f7efb682bfc58494 (diff)
drivers/vfio: Support EEH error injection
The patch adds one more EEH sub-command (VFIO_EEH_PE_INJECT_ERR) to inject the specified EEH error, which is represented by (struct vfio_eeh_pe_err), to the indicated PE for testing purpose. Signed-off-by: Gavin Shan <gwshan@linux.vnet.ibm.com> Reviewed-by: David Gibson <david@gibson.dropbear.id.au> Acked-by: Alex Williamson <alex.williamson@redhat.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Diffstat (limited to 'include/uapi/linux/vfio.h')
-rw-r--r--include/uapi/linux/vfio.h14
1 files changed, 13 insertions, 1 deletions
diff --git a/include/uapi/linux/vfio.h b/include/uapi/linux/vfio.h
index b57b750c222f..e4fa1995f613 100644
--- a/include/uapi/linux/vfio.h
+++ b/include/uapi/linux/vfio.h
@@ -470,12 +470,23 @@ struct vfio_iommu_spapr_tce_info {
470 * - unfreeze IO/DMA for frozen PE; 470 * - unfreeze IO/DMA for frozen PE;
471 * - read PE state; 471 * - read PE state;
472 * - reset PE; 472 * - reset PE;
473 * - configure PE. 473 * - configure PE;
474 * - inject EEH error.
474 */ 475 */
476struct vfio_eeh_pe_err {
477 __u32 type;
478 __u32 func;
479 __u64 addr;
480 __u64 mask;
481};
482
475struct vfio_eeh_pe_op { 483struct vfio_eeh_pe_op {
476 __u32 argsz; 484 __u32 argsz;
477 __u32 flags; 485 __u32 flags;
478 __u32 op; 486 __u32 op;
487 union {
488 struct vfio_eeh_pe_err err;
489 };
479}; 490};
480 491
481#define VFIO_EEH_PE_DISABLE 0 /* Disable EEH functionality */ 492#define VFIO_EEH_PE_DISABLE 0 /* Disable EEH functionality */
@@ -492,6 +503,7 @@ struct vfio_eeh_pe_op {
492#define VFIO_EEH_PE_RESET_HOT 6 /* Assert hot reset */ 503#define VFIO_EEH_PE_RESET_HOT 6 /* Assert hot reset */
493#define VFIO_EEH_PE_RESET_FUNDAMENTAL 7 /* Assert fundamental reset */ 504#define VFIO_EEH_PE_RESET_FUNDAMENTAL 7 /* Assert fundamental reset */
494#define VFIO_EEH_PE_CONFIGURE 8 /* PE configuration */ 505#define VFIO_EEH_PE_CONFIGURE 8 /* PE configuration */
506#define VFIO_EEH_PE_INJECT_ERR 9 /* Inject EEH error */
495 507
496#define VFIO_EEH_PE_OP _IO(VFIO_TYPE, VFIO_BASE + 21) 508#define VFIO_EEH_PE_OP _IO(VFIO_TYPE, VFIO_BASE + 21)
497 509