[U-Boot] [PATCH] arc: add stubs for map_physmem() and unmap_physmem()
Simon Glass
sjg at chromium.org
Fri Nov 13 19:14:11 CET 2015
Hi Alexey,
On 12 November 2015 at 14:56, Alexey Brodkin
<Alexey.Brodkin at 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 at 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 at wwwdotorg.org>
> Reviewed-by: Simon Glass <sjg at 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 at synopsys.com>
> Cc: Stephen Warren <swarren at wwwdotorg.org>
> Cc: Simon Glass <sjg at 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
More information about the U-Boot
mailing list