Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Linux/drivers/iommu/arm/   (Open Source Betriebssystem Version 6.17.9©)  Datei vom 24.10.2025 mit Größe 4 kB image not shown  

Quelle  Kconfig   Sprache: unbekannt

 
Spracherkennung für: vermutete Sprache: Unknown {[0] [0] [0]} [Methode: Schwerpunktbildung, einfache Gewichte, sechs Dimensionen]

# SPDX-License-Identifier: GPL-2.0-only
# ARM IOMMU support
config ARM_SMMU
 tristate "ARM Ltd. System MMU (SMMU) Support"
 depends on ARM64 || ARM || COMPILE_TEST
 depends on !GENERIC_ATOMIC64 # for IOMMU_IO_PGTABLE_LPAE
 select IOMMU_API
 select IOMMU_IO_PGTABLE_LPAE
 select ARM_DMA_USE_IOMMU if ARM
 help
   Support for implementations of the ARM System MMU architecture
   versions 1 and 2.

   Say Y here if your SoC includes an IOMMU device implementing
   the ARM SMMU architecture.

if ARM_SMMU
config ARM_SMMU_LEGACY_DT_BINDINGS
 bool "Support the legacy \"mmu-masters\" devicetree bindings"
 depends on ARM_SMMU=y && OF
 help
   Support for the badly designed and deprecated "mmu-masters"
   devicetree bindings. This allows some DMA masters to attach
   to the SMMU but does not provide any support via the DMA API.
   If you're lucky, you might be able to get VFIO up and running.

   If you say Y here then you'll make me very sad. Instead, say N
   and move your firmware to the utopian future that was 2016.

config ARM_SMMU_DISABLE_BYPASS_BY_DEFAULT
 bool "Disable unmatched stream bypass by default" if EXPERT
 default y
 help
   If your firmware is broken and fails to describe StreamIDs which
   Linux should know about in order to manage the SMMU correctly and
   securely, and you don't want to boot with the 'arm-smmu.disable_bypass=0'
   command line parameter, then as a last resort you can turn it off
   by default here. But don't. This option may be removed at any time.

   Note that 'arm-smmu.disable_bypass=1' will still take precedence.

config ARM_SMMU_MMU_500_CPRE_ERRATA
 bool "Enable errata workaround for CPRE in SMMU reset path"
 default y
 help
   Say Y here (by default) to apply workaround to disable
   MMU-500's next-page prefetcher for sake of 4 known errata.

   Say N here only when it is sure that any errata related to
   prefetch enablement are not applicable on the platform.
   Refer silicon-errata.rst for info on errata IDs.

config ARM_SMMU_QCOM
 def_tristate y
 depends on ARCH_QCOM
 select QCOM_SCM
 help
   When running on a Qualcomm platform that has the custom variant
   of the ARM SMMU, this needs to be built into the SMMU driver.

config ARM_SMMU_QCOM_DEBUG
 bool "ARM SMMU QCOM implementation defined debug support"
 depends on ARM_SMMU_QCOM=y
 help
   Support for implementation specific debug features in ARM SMMU
   hardware found in QTI platforms. This include support for
   the Translation Buffer Units (TBU) that can be used to obtain
   additional information when debugging memory management issues
   like context faults.

   Say Y here to enable debug for issues such as context faults
   or TLB sync timeouts which requires implementation defined
   register dumps.
endif

config ARM_SMMU_V3
 tristate "ARM Ltd. System MMU Version 3 (SMMUv3) Support"
 depends on ARM64
 select IOMMU_API
 select IOMMU_IO_PGTABLE_LPAE
 select GENERIC_MSI_IRQ
 select IOMMUFD_DRIVER if IOMMUFD
 help
   Support for implementations of the ARM System MMU architecture
   version 3 providing translation support to a PCIe root complex.

   Say Y here if your system includes an IOMMU device implementing
   the ARM SMMUv3 architecture.

if ARM_SMMU_V3
config ARM_SMMU_V3_SVA
 bool "Shared Virtual Addressing support for the ARM SMMUv3"
 select IOMMU_SVA
 select IOMMU_IOPF
 select MMU_NOTIFIER
 help
   Support for sharing process address spaces with devices using the
   SMMUv3.

   Say Y here if your system supports SVA extensions such as PCIe PASID
   and PRI.

config ARM_SMMU_V3_IOMMUFD
 bool "Enable IOMMUFD features for ARM SMMUv3 (EXPERIMENTAL)"
 depends on IOMMUFD
 help
   Support for IOMMUFD features intended to support virtual machines
   with accelerated virtual IOMMUs.

   Say Y here if you are doing development and testing on this feature.

config ARM_SMMU_V3_KUNIT_TEST
 tristate "KUnit tests for arm-smmu-v3 driver"  if !KUNIT_ALL_TESTS
 depends on KUNIT
 depends on ARM_SMMU_V3_SVA
 default KUNIT_ALL_TESTS
 help
   Enable this option to unit-test arm-smmu-v3 driver functions.

   If unsure, say N.

config TEGRA241_CMDQV
 bool "NVIDIA Tegra241 CMDQ-V extension support for ARM SMMUv3"
 depends on ACPI
 help
   Support for NVIDIA CMDQ-Virtualization extension for ARM SMMUv3. The
   CMDQ-V extension is similar to v3.3 ECMDQ for multi command queues
   support, except with virtualization capabilities.

   Say Y here if your system is NVIDIA Tegra241 (Grace) or it has the same
   CMDQ-V extension.
endif

config QCOM_IOMMU
 # Note: iommu drivers cannot (yet?) be built as modules
 bool "Qualcomm IOMMU Support"
 depends on ARCH_QCOM || COMPILE_TEST
 depends on !GENERIC_ATOMIC64 # for IOMMU_IO_PGTABLE_LPAE
 select QCOM_SCM
 select IOMMU_API
 select IOMMU_IO_PGTABLE_LPAE
 select ARM_DMA_USE_IOMMU
 help
   Support for IOMMU on certain Qualcomm SoCs.

[ Dauer der Verarbeitung: 0.40 Sekunden  ]