From: Jan Kiszka <[email protected]>

There is no IOMMU support for 32-bit arm, and it's likely to now show up
there anymore. Make the iommu binding module arch-specific so that we
can add calls to the arm64 variant without affecting arm.

Signed-off-by: Jan Kiszka <[email protected]>
---

This will go before the PVU series, and the latter will be adjusted to 
work against arm64 where needed.

 hypervisor/arch/arm-common/Kbuild             | 2 +-
 hypervisor/arch/arm/Kbuild                    | 2 +-
 hypervisor/arch/{arm-common => arm}/iommu.c   | 8 +-------
 hypervisor/arch/arm64/Kbuild                  | 3 ++-
 hypervisor/arch/{arm-common => arm64}/iommu.c | 0
 5 files changed, 5 insertions(+), 10 deletions(-)
 copy hypervisor/arch/{arm-common => arm}/iommu.c (76%)
 rename hypervisor/arch/{arm-common => arm64}/iommu.c (100%)

diff --git a/hypervisor/arch/arm-common/Kbuild 
b/hypervisor/arch/arm-common/Kbuild
index 6f57ef02..78b9e512 100644
--- a/hypervisor/arch/arm-common/Kbuild
+++ b/hypervisor/arch/arm-common/Kbuild
@@ -17,6 +17,6 @@ ccflags-$(CONFIG_JAILHOUSE_GCOV) += -fprofile-arcs 
-ftest-coverage
 objs-y += dbg-write.o lib.o psci.o control.o paging.o mmu_cell.o setup.o
 objs-y += irqchip.o pci.o ivshmem.o uart-pl011.o uart-xuartps.o uart-mvebu.o
 objs-y += uart-hscif.o uart-scifa.o uart-imx.o
-objs-y += gic-v2.o gic-v3.o smccc.o iommu.o
+objs-y += gic-v2.o gic-v3.o smccc.o
 
 common-objs-y = $(addprefix ../arm-common/,$(objs-y))
diff --git a/hypervisor/arch/arm/Kbuild b/hypervisor/arch/arm/Kbuild
index e1bec1b7..2afc09c0 100644
--- a/hypervisor/arch/arm/Kbuild
+++ b/hypervisor/arch/arm/Kbuild
@@ -19,7 +19,7 @@ always := lib.a
 
 lib-y := $(common-objs-y)
 lib-y += entry.o setup.o control.o traps.o mmio.o lib.o
-lib-y += mmu_hyp.o caches.o
+lib-y += mmu_hyp.o caches.o iommu.o
 
 # in here we switch of the MMU and stuff, cant profile such code
 # NOTE
diff --git a/hypervisor/arch/arm-common/iommu.c b/hypervisor/arch/arm/iommu.c
similarity index 76%
copy from hypervisor/arch/arm-common/iommu.c
copy to hypervisor/arch/arm/iommu.c
index b3100d03..2c02c812 100644
--- a/hypervisor/arch/arm-common/iommu.c
+++ b/hypervisor/arch/arm/iommu.c
@@ -10,17 +10,11 @@
  * the COPYING file in the top-level directory.
  */
 
-#include <jailhouse/control.h>
 #include <asm/iommu.h>
 
 unsigned int iommu_count_units(void)
 {
-       unsigned int units = 0;
-
-       while (units < JAILHOUSE_MAX_IOMMU_UNITS &&
-              system_config->platform_info.arm.iommu_units[units].base)
-               units++;
-       return units;
+       return 0;
 }
 
 int iommu_map_memory_region(struct cell *cell,
diff --git a/hypervisor/arch/arm64/Kbuild b/hypervisor/arch/arm64/Kbuild
index 323b78b6..aa018ae7 100644
--- a/hypervisor/arch/arm64/Kbuild
+++ b/hypervisor/arch/arm64/Kbuild
@@ -20,4 +20,5 @@ always := lib.a
 # irqchip (common-objs-y), <generic units>
 
 lib-y := $(common-objs-y)
-lib-y += entry.o setup.o control.o mmio.o paging.o caches.o traps.o smmu-v3.o
+lib-y += entry.o setup.o control.o mmio.o paging.o caches.o traps.o
+lib-y += iommu.o smmu-v3.o
diff --git a/hypervisor/arch/arm-common/iommu.c b/hypervisor/arch/arm64/iommu.c
similarity index 100%
rename from hypervisor/arch/arm-common/iommu.c
rename to hypervisor/arch/arm64/iommu.c
-- 
2.16.4


-- 
Siemens AG, Corporate Technology, CT RDA IOT SES-DE
Corporate Competence Center Embedded Linux

-- 
You received this message because you are subscribed to the Google Groups 
"Jailhouse" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jailhouse-dev/075622da-c587-1c36-4476-cd946890ea99%40siemens.com.

Reply via email to