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 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot