Add fault information for group-id and necessary flags for page
request faults that can be handled by page fault handler in
virtio-iommu driver.

Signed-off-by: Vivek Gautam <vivek.gau...@arm.com>
Cc: Joerg Roedel <j...@8bytes.org>
Cc: Will Deacon <will.dea...@arm.com>
Cc: Robin Murphy <robin.mur...@arm.com>
Cc: Jean-Philippe Brucker <jean-phili...@linaro.org>
Cc: Eric Auger <eric.au...@redhat.com>
Cc: Alex Williamson <alex.william...@redhat.com>
Cc: Kevin Tian <kevin.t...@intel.com>
Cc: Jacob Pan <jacob.jun....@linux.intel.com>
Cc: Liu Yi L <yi.l....@intel.com>
Cc: Lorenzo Pieralisi <lorenzo.pieral...@arm.com>
Cc: Shameerali Kolothum Thodi <shameerali.kolothum.th...@huawei.com>
---
 include/uapi/linux/virtio_iommu.h | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/include/uapi/linux/virtio_iommu.h 
b/include/uapi/linux/virtio_iommu.h
index f8bf927a0689..accc3318ce46 100644
--- a/include/uapi/linux/virtio_iommu.h
+++ b/include/uapi/linux/virtio_iommu.h
@@ -307,14 +307,27 @@ struct virtio_iommu_req_invalidate {
 #define VIRTIO_IOMMU_FAULT_F_DMA_UNRECOV       1
 #define VIRTIO_IOMMU_FAULT_F_PAGE_REQ          2
 
+#define VIRTIO_IOMMU_FAULT_PRQ_F_PASID_VALID           (1 << 0)
+#define VIRTIO_IOMMU_FAULT_PRQ_F_LAST_PAGE             (1 << 1)
+#define VIRTIO_IOMMU_FAULT_PRQ_F_PRIV_DATA             (1 << 2)
+#define VIRTIO_IOMMU_FAULT_PRQ_F_NEEDS_PASID           (1 << 3)
+
+#define VIRTIO_IOMMU_FAULT_UNREC_F_PASID_VALID         (1 << 0)
+#define VIRTIO_IOMMU_FAULT_UNREC_F_ADDR_VALID          (1 << 1)
+#define VIRTIO_IOMMU_FAULT_UNREC_F_FETCH_ADDR_VALID    (1 << 2)
+
 struct virtio_iommu_fault {
        __u8                                    reason;
        __u8                                    reserved[3];
        __le16                                  flt_type;
        __u8                                    reserved2[2];
+       /* flags is actually permission flags */
        __le32                                  flags;
+       /* flags for PASID and Page request handling info */
+       __le32                                  pr_evt_flags;
        __le32                                  endpoint;
        __le32                                  pasid;
+       __le32                                  grpid;
        __u8                                    reserved3[4];
        __le64                                  address;
        __u8                                    reserved4[8];
-- 
2.17.1

_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

Reply via email to