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 ...
Showing the changes to include/uapi (3 of 1549 files). Show all
Unified · Split
| @@ -513,15 +513,50 @@ struct iommu_hw_info_vtd { · 512 unmodified lines | ||
| 513 | 513 | __aligned_u64 ecap_reg; |
| 514 | 514 | }; |
| 515 | 515 | |
| 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 | + | |
| 516 | 549 | /** |
| 517 | 550 | * enum iommu_hw_info_type - IOMMU Hardware Info Types |
| 518 | 551 | * @IOMMU_HW_INFO_TYPE_NONE: Used by the drivers that do not report hardware |
| 519 | 552 | * info |
| 520 | 553 | * @IOMMU_HW_INFO_TYPE_INTEL_VTD: Intel VT-d iommu info type |
| 554 | + * @IOMMU_HW_INFO_TYPE_ARM_SMMUV3: ARM SMMUv3 iommu info type | |
| 521 | 555 | */ |
| 522 | 556 | enum iommu_hw_info_type { |
| 523 | 557 | IOMMU_HW_INFO_TYPE_NONE = 0, |
| 524 | 558 | IOMMU_HW_INFO_TYPE_INTEL_VTD = 1, |
| 559 | + IOMMU_HW_INFO_TYPE_ARM_SMMUV3 = 2, | |
| 525 | 560 | }; |
| 526 | 561 | |
| 527 | 562 | /** |
| @@ -1694,7 +1694,7 @@ enum nft_flowtable_flags { · 1693 unmodified lines | ||
| 1694 | 1694 | * |
| 1695 | 1695 | * @NFTA_FLOWTABLE_TABLE: name of the table containing the expression (NLA_STRING) |
| 1696 | 1696 | * @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) | |
| 1698 | 1698 | * @NFTA_FLOWTABLE_USE: number of references to this flow table (NLA_U32) |
| 1699 | 1699 | * @NFTA_FLOWTABLE_HANDLE: object handle (NLA_U64) |
| 1700 | 1700 | * @NFTA_FLOWTABLE_FLAGS: flags (NLA_U32) |
| @@ -35,7 +35,7 @@ · 34 unmodified lines | ||
| 35 | 35 | #define VFIO_EEH 5 |
| 36 | 36 | |
| 37 | 37 | /* Two-stage IOMMU */ |
| 38 | −#define VFIO_TYPE1_NESTING_IOMMU 6 /* Implies v2 */ | |
| 38 | +#define __VFIO_RESERVED_TYPE1_NESTING_IOMMU 6 /* Implies v2 */ | |
| 39 | 39 | |
| 40 | 40 | #define VFIO_SPAPR_TCE_v2_IOMMU 7 |
| 41 | 41 | |