From: David Woodhouse <[email protected]> The sample provider and the NVMe DMA selftest have no x86 specifics. Drop the X86_64 gate on the sample's Kconfig (arm64 also has KVM_GUEST_MEMFD; the SEV RMP reset is already guarded by CONFIG_AMD_MEM_ENCRYPT) and move the NVMe DMA selftest from TEST_GEN_PROGS_x86 to TEST_GEN_PROGS_COMMON so it also builds on architectures with an IOMMU (arm64 SMMU-v3, ...).
The test itself does not need to change: it uses KVM_CREATE_VM(0) as a client for the sample provider's SETUP ioctl and then exercises the iommufd + dma-buf + provider revoke path with direct NVMe MMIO, none of which is x86-specific. On arm64 it validates the same flow through the ARM SMMU. Signed-off-by: David Woodhouse (Kiro) <[email protected]> --- samples/Kconfig | 2 +- tools/testing/selftests/kvm/Makefile.kvm | 2 +- .../selftests/kvm/{x86 => }/gmem_provider_nvme_dma_test.c | 0 3 files changed, 2 insertions(+), 2 deletions(-) rename tools/testing/selftests/kvm/{x86 => }/gmem_provider_nvme_dma_test.c (100%) diff --git a/samples/Kconfig b/samples/Kconfig index 3482659638b5..d26a03dea072 100644 --- a/samples/Kconfig +++ b/samples/Kconfig @@ -328,7 +328,7 @@ source "samples/damon/Kconfig" config SAMPLE_KVM_GMEM_PROVIDER tristate "Build sample guest_memfd provider -- loadable module only" - depends on KVM_GUEST_MEMFD && X86_64 && m + depends on KVM_GUEST_MEMFD && (X86_64 || ARM64) && m help This builds a sample external guest_memfd provider module with two backing modes. Loaded with addr=/len= it backs guest memory with a diff --git a/tools/testing/selftests/kvm/Makefile.kvm b/tools/testing/selftests/kvm/Makefile.kvm index 7f46843e7428..12004a487c32 100644 --- a/tools/testing/selftests/kvm/Makefile.kvm +++ b/tools/testing/selftests/kvm/Makefile.kvm @@ -58,6 +58,7 @@ TEST_PROGS_x86 += x86/nx_huge_pages_test.sh # Compiled test targets valid on all architectures with libkvm support TEST_GEN_PROGS_COMMON = demand_paging_test TEST_GEN_PROGS_COMMON += dirty_log_test +TEST_GEN_PROGS_COMMON += gmem_provider_nvme_dma_test TEST_GEN_PROGS_COMMON += guest_print_test TEST_GEN_PROGS_COMMON += irqfd_test TEST_GEN_PROGS_COMMON += kvm_binary_stats_test @@ -82,7 +83,6 @@ TEST_GEN_PROGS_x86 += x86/gmem_provider_hugepage_test TEST_GEN_PROGS_x86 += x86/gmem_provider_revoke_test TEST_GEN_PROGS_x86 += x86/gmem_provider_iommufd_test TEST_GEN_PROGS_x86 += x86/gmem_provider_vfio_test -TEST_GEN_PROGS_x86 += x86/gmem_provider_nvme_dma_test TEST_GEN_PROGS_x86 += x86/hwcr_msr_test TEST_GEN_PROGS_x86 += x86/hyperv_clock TEST_GEN_PROGS_x86 += x86/hyperv_cpuid diff --git a/tools/testing/selftests/kvm/x86/gmem_provider_nvme_dma_test.c b/tools/testing/selftests/kvm/gmem_provider_nvme_dma_test.c similarity index 100% rename from tools/testing/selftests/kvm/x86/gmem_provider_nvme_dma_test.c rename to tools/testing/selftests/kvm/gmem_provider_nvme_dma_test.c -- 2.54.0
