mirror of
https://github.com/torvalds/linux.git
synced 2026-05-23 06:31:58 +02:00
The RISC-V format is a fairly simple 5 level page table not unlike the x86 one. It has optional support for a single contiguous page size of 64k (16 x 4k). The specification describes a 32-bit format, the general code can support it via a #define but the iommu side implementation has been left off until a user comes. Tested-by: Vincent Chen <vincent.chen@sifive.com> Acked-by: Paul Walmsley <pjw@kernel.org> # arch/riscv Reviewed-by: Tomasz Jeznach <tjeznach@rivosinc.com> Tested-by: Tomasz Jeznach <tjeznach@rivosinc.com> Signed-off-by: Jason Gunthorpe <jgg@nvidia.com> Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
31 lines
889 B
Makefile
31 lines
889 B
Makefile
# SPDX-License-Identifier: GPL-2.0
|
|
|
|
iommu_pt_fmt-$(CONFIG_IOMMU_PT_AMDV1) += amdv1
|
|
iommu_pt_fmt-$(CONFIG_IOMMUFD_TEST) += mock
|
|
|
|
iommu_pt_fmt-$(CONFIG_IOMMU_PT_VTDSS) += vtdss
|
|
|
|
iommu_pt_fmt-$(CONFIG_IOMMU_PT_RISCV64) += riscv64
|
|
|
|
iommu_pt_fmt-$(CONFIG_IOMMU_PT_X86_64) += x86_64
|
|
|
|
IOMMU_PT_KUNIT_TEST :=
|
|
define create_format
|
|
obj-$(2) += iommu_$(1).o
|
|
iommu_pt_kunit_test-y += kunit_iommu_$(1).o
|
|
CFLAGS_kunit_iommu_$(1).o += -DGENERIC_PT_KUNIT=1
|
|
IOMMU_PT_KUNIT_TEST := iommu_pt_kunit_test.o
|
|
|
|
endef
|
|
|
|
$(eval $(foreach fmt,$(iommu_pt_fmt-y),$(call create_format,$(fmt),y)))
|
|
$(eval $(foreach fmt,$(iommu_pt_fmt-m),$(call create_format,$(fmt),m)))
|
|
|
|
# The kunit objects are constructed by compiling the main source
|
|
# with -DGENERIC_PT_KUNIT
|
|
$(obj)/kunit_iommu_%.o: $(src)/iommu_%.c FORCE
|
|
$(call rule_mkdir)
|
|
$(call if_changed_dep,cc_o_c)
|
|
|
|
obj-$(CONFIG_IOMMU_PT_KUNIT_TEST) += $(IOMMU_PT_KUNIT_TEST)
|