
Hi Alexey,
On 12 November 2015 at 14:56, Alexey Brodkin Alexey.Brodkin@synopsys.com wrote:
Up until now there was no need in those stubs.
But since following commit compilation of U-Boot on ARC is broken: ------------------------>8---------------------- commit 7861204c9af7fec1ea9b41541c272516235a6c93 Author: Stephen Warren swarren@wwwdotorg.org Date: Sat Oct 3 13:56:46 2015 -0600
itest: make memory access work under sandbox itest accesses memory, and hence must map/unmap it. Without doing so, it accesses invalid addresses and crashes. Signed-off-by: Stephen Warren <swarren@wwwdotorg.org> Reviewed-by: Simon Glass <sjg@chromium.org>
------------------------>8----------------------
That's because CMD_ITEST is enabled by default in common/Kconfig and now map_physmem()/unmap_physmem() is used there.
So this patch adds missing stubs for ARC.
Signed-off-by: Alexey Brodkin abrodkin@synopsys.com Cc: Stephen Warren swarren@wwwdotorg.org Cc: Simon Glass sjg@chromium.org
arch/arc/include/asm/io.h | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+)
diff --git a/arch/arc/include/asm/io.h b/arch/arc/include/asm/io.h index 24b7337..281682c 100644 --- a/arch/arc/include/asm/io.h +++ b/arch/arc/include/asm/io.h @@ -10,6 +10,30 @@ #include <linux/types.h> #include <asm/byteorder.h>
+/*
- Given a physical address and a length, return a virtual address
- that can be used to access the memory range with the caching
- properties specified by "flags".
- */
+#define MAP_NOCACHE (0) +#define MAP_WRCOMBINE (0) +#define MAP_WRBACK (0) +#define MAP_WRTHROUGH (0)
+static inline void * +map_physmem(phys_addr_t paddr, unsigned long len, unsigned long flags) +{
return (void *)((unsigned long)paddr);
+}
+/*
- Take down a mapping set up by map_physmem().
- */
+static inline void unmap_physmem(void *vaddr, unsigned long flags) +{
+}
static inline void sync(void) { /* Not yet implemented */ -- 2.4.3
What error does this solve?
Is CONFIG_ARCH_MAP_SYSMEM defined for arc?
Regards, Simon