History

Merge branch 'iommufd/arm-smmuv3-nested' of iommu/linux into iommufd for-next

Common SMMUv3 patches for the following patches adding nesting, shared branch with the iommu tree. * 'iommufd/arm-smmuv3-nested' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/iommu/linux: iommu/arm-smmu-v3: Expose the arm_smmu_attach interface iommu/arm-smmu-v3: Implement IOMMU_HWPT_ALLOC_NEST_PARENT iommu/arm-smmu-v3: Support IOMMU_GET_HW_INFO via struct arm_smmu_hw_info iommu/arm-smmu-v3: Report IOMMU_CAP_ENFORCE_CACHE_COHERENCY for CANWBS ACPI/IORT: Support CANWBS memory access flag ACPICA: IORT: Update for revision E.f vfio: Remove VFIO_TYPE1_NESTING_IOMMU ...

Jason Gunthorpe committed 2 years ago

Commit 4e6bd132 parents b047c06 f6681ab1549 files · +10856 −8549Browse files

Showing the changes to include/uapi (3 of 1549 files). Show all

Unified · Split

3 files
  1. include/uapi/linux/iommufd.h +35 −0
  2. include/uapi/linux/netfilter/nf_tables.h +1 −1
  3. include/uapi/linux/vfio.h +1 −1
include/uapi/linux/iommufd.h+35−0
@@ -513,15 +513,50 @@ struct iommu_hw_info_vtd { · 512 unmodified lines
513513 __aligned_u64 ecap_reg;
514514 };
515515
516+/**
517+ * struct iommu_hw_info_arm_smmuv3 - ARM SMMUv3 hardware information
518+ * (IOMMU_HW_INFO_TYPE_ARM_SMMUV3)
519+ *
520+ * @flags: Must be set to 0
521+ * @__reserved: Must be 0
522+ * @idr: Implemented features for ARM SMMU Non-secure programming interface
523+ * @iidr: Information about the implementation and implementer of ARM SMMU,
524+ * and architecture version supported
525+ * @aidr: ARM SMMU architecture version
526+ *
527+ * For the details of @idr, @iidr and @aidr, please refer to the chapters
528+ * from 6.3.1 to 6.3.6 in the SMMUv3 Spec.
529+ *
530+ * User space should read the underlying ARM SMMUv3 hardware information for
531+ * the list of supported features.
532+ *
533+ * Note that these values reflect the raw HW capability, without any insight if
534+ * any required kernel driver support is present. Bits may be set indicating the
535+ * HW has functionality that is lacking kernel software support, such as BTM. If
536+ * a VMM is using this information to construct emulated copies of these
537+ * registers it should only forward bits that it knows it can support.
538+ *
539+ * In future, presence of required kernel support will be indicated in flags.
540+ */
541+struct iommu_hw_info_arm_smmuv3 {
542+ __u32 flags;
543+ __u32 __reserved;
544+ __u32 idr[6];
545+ __u32 iidr;
546+ __u32 aidr;
547+};
548+
516549 /**
517550 * enum iommu_hw_info_type - IOMMU Hardware Info Types
518551 * @IOMMU_HW_INFO_TYPE_NONE: Used by the drivers that do not report hardware
519552 * info
520553 * @IOMMU_HW_INFO_TYPE_INTEL_VTD: Intel VT-d iommu info type
554+ * @IOMMU_HW_INFO_TYPE_ARM_SMMUV3: ARM SMMUv3 iommu info type
521555 */
522556 enum iommu_hw_info_type {
523557 IOMMU_HW_INFO_TYPE_NONE = 0,
524558 IOMMU_HW_INFO_TYPE_INTEL_VTD = 1,
559+ IOMMU_HW_INFO_TYPE_ARM_SMMUV3 = 2,
525560 };
526561
527562 /**
include/uapi/linux/netfilter/nf_tables.h+1−1
@@ -1694,7 +1694,7 @@ enum nft_flowtable_flags { · 1693 unmodified lines
16941694 *
16951695 * @NFTA_FLOWTABLE_TABLE: name of the table containing the expression (NLA_STRING)
16961696 * @NFTA_FLOWTABLE_NAME: name of this flow table (NLA_STRING)
1697− * @NFTA_FLOWTABLE_HOOK: netfilter hook configuration(NLA_U32)
1697+ * @NFTA_FLOWTABLE_HOOK: netfilter hook configuration (NLA_NESTED)
16981698 * @NFTA_FLOWTABLE_USE: number of references to this flow table (NLA_U32)
16991699 * @NFTA_FLOWTABLE_HANDLE: object handle (NLA_U64)
17001700 * @NFTA_FLOWTABLE_FLAGS: flags (NLA_U32)
include/uapi/linux/vfio.h+1−1
@@ -35,7 +35,7 @@ · 34 unmodified lines
3535 #define VFIO_EEH 5
3636
3737 /* Two-stage IOMMU */
38−#define VFIO_TYPE1_NESTING_IOMMU 6 /* Implies v2 */
38+#define __VFIO_RESERVED_TYPE1_NESTING_IOMMU 6 /* Implies v2 */
3939
4040 #define VFIO_SPAPR_TCE_v2_IOMMU 7
4141

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t