diff options
author | Gavin Shan <gwshan@linux.vnet.ibm.com> | 2015-03-26 01:42:09 -0400 |
---|---|---|
committer | Michael Ellerman <mpe@ellerman.id.au> | 2015-05-12 06:33:35 -0400 |
commit | 68cbbc3a9d1fc231810b2490bca73b3b444ef542 (patch) | |
tree | aa46575bc541b0680021a47e80df098bcc16789b /include/uapi/linux/vfio.h | |
parent | ec33d36e5ab5d52d59a8f696f7efb682bfc58494 (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.h | 14 |
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 | */ |
476 | struct vfio_eeh_pe_err { | ||
477 | __u32 type; | ||
478 | __u32 func; | ||
479 | __u64 addr; | ||
480 | __u64 mask; | ||
481 | }; | ||
482 | |||
475 | struct vfio_eeh_pe_op { | 483 | struct 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 | ||