@@ -279,6 +279,7 @@ static inline void *phys_to_virt(phys_addr_t x)
extern phys_addr_t (*arch_virt_to_idmap)(unsigned long x);
+#ifdef CONFIG_MMU
/*
* These are for systems that have a hardware interconnect supported alias of
* physical memory for idmap purposes. Most cases should leave these
@@ -293,6 +294,9 @@ static inline phys_addr_t __virt_to_idmap(unsigned long x)
}
#define virt_to_idmap(x) __virt_to_idmap((unsigned long)(x))
+#else
+#define virt_to_idmap(x) __virt_to_phys((unsigned long)(x))
+#endif
/*
* Virtual <-> DMA view memory address translations
The "ARM: mm: Introduce virt_to_idmap() with an arch hook" defines arch_virt_to_idmap hook in arch/arm/mm/idmap.c. That breaks systems w/o MMU because that file is not built for them. This patch fixes this bug. Signed-off-by: Vitaly Andrianov <vitalya@ti.com> --- arch/arm/include/asm/memory.h | 4 ++++ 1 file changed, 4 insertions(+)