From: "Steven L. Kinney" <steven.kin...@amd.com> These patches implement the AMD IOMMUv2.5 Performance Counter functionality via custom perf PMU and implement static counting for various IOMMU translations. The patches address three areas of functionality:
1) Add a PCI quirk for the enablement of IOMMUv2 EFR PC within a specific AMD family/model in which BIOS has not enabled. Based on code implemented by Andreas Herrmann at AMD Dresden. 2) Extend the AMD IOMMU initialization to include IOMMUv2 PC enablement and access to IOMMUv2 counter registers. For all AMD family/models that implement IOMMUv2.5 functionality. 3) Code the perf IOMMUv2 PMU to manage IOMMUv2 perf events, which call the function(s) extending the AMD IOMMU core driver. For all AMD family/models that implement IOMMUv2.5 functionality. The command-line, to invoke the iommuv2 PMU, is: perf stat -e iommuv2/config=[data],config1=[data]/{u,r} [command] For information regarding AMD IOMMU v2.5 PC configuration, see the public specification. Steven L. Kinney (3): AMD x86 quirks: Quirk for enabling IOMMUv2 PC feature AMD IOMMUv2 PC resource management hooks AMD IOMMUv2 PC perf PMU implementation arch/x86/kernel/cpu/Makefile | 1 + arch/x86/kernel/cpu/perf_event_amd_iommuv2.c | 429 ++++++++++++++++++++++++++ arch/x86/kernel/cpu/perf_event_amd_iommuv2.h | 42 +++ arch/x86/kernel/quirks.c | 17 + drivers/iommu/Kconfig | 10 + drivers/iommu/amd_iommu_init.c | 99 ++++++ drivers/iommu/amd_iommu_types.h | 12 + include/linux/pci_ids.h | 2 + 8 files changed, 612 insertions(+) create mode 100644 arch/x86/kernel/cpu/perf_event_amd_iommuv2.c create mode 100644 arch/x86/kernel/cpu/perf_event_amd_iommuv2.h -- 1.7.9.5 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/