On 13 November 2015 at 11:23, Alexey Brodkin <alexey.brod...@synopsys.com> wrote: > Hi Simon, > > On Fri, 2015-11-13 at 11:14 -0700, Simon Glass wrote: >> Hi Alexey, >> >> On 12 November 2015 at 14:56, Alexey Brodkin >> <alexey.brod...@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 <swar...@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 <swar...@wwwdotorg.org> >> > Reviewed-by: Simon Glass <s...@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 <abrod...@synopsys.com> >> > Cc: Stephen Warren <swar...@wwwdotorg.org> >> > Cc: Simon Glass <s...@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? > ---------------------->8------------------- > CC common/cmd_itest.o > common/cmd_itest.c: In function 'evalexp': > common/cmd_itest.c:61:3: warning: implicit > declaration of function 'map_physmem' [-Wimplicit-function-declaration] > buf = map_physmem(addr, w, MAP_WRBACK); > ^ > com > mon/cmd_itest.c:61:30: error: 'MAP_WRBACK' undeclared (first use in this > function) > buf = map_physmem(addr, w, > MAP_WRBACK); > ^ > common/cmd_itest.c:61:30: note: each undeclared identifier is reported only > once for each function it appears in > common/cmd_itest.c:71:3: warning: implicit declaration of function > 'unmap_physmem' [ > -Wimplicit-function-declaration] > unmap_physmem(buf, w); > ^ > scripts/Makefile.build:277: recipe for target > 'common/cmd_itest.o' failed > make[1]: *** [common/cmd_itest.o] Error 1 > Makefile:1211: recipe for target 'common' failed > make > : *** [common] Error 2 > ---------------------->8------------------- > >> Is CONFIG_ARCH_MAP_SYSMEM defined for arc? > > No > ---------------------->8------------------- > $ cat .config | grep > CONFIG_ARCH_MAP_SYSMEM---------------------->8------------------- > > -Alexey
Reviewed-by: Simon Glass <s...@chromium.org> _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot