[U-Boot] [PATCH] Revert "sandbox: Change md command to use map_physmem"

Simon Glass sjg at chromium.org
Sat Nov 12 21:07:51 CET 2011


Hi Kumar,

On Sat, Nov 12, 2011 at 10:02 AM, Kumar Gala <galak at kernel.crashing.org> wrote:
> This reverts commit 355a835747c6f7c5071ead295a7dfc489c73cb03.
>
> The original commit broke long standing assumption that md commands work
> on effective addresses.  This normally isn't an issue for most systems
> that map 1:1, however on systems with a 36-bit address map it breaks.

What is the system that shows this problem?

With sandbox we need some sort of mapping here - what do you suggest?
map_virtmem?

It would be good to get a solution to this rather than just reverting.

Regards,
Simon

>
> Signed-off-by: Kumar Gala <galak at kernel.crashing.org>
> ---
>  common/cmd_mem.c |    9 ++-------
>  1 files changed, 2 insertions(+), 7 deletions(-)
>
> diff --git a/common/cmd_mem.c b/common/cmd_mem.c
> index 461ee19..28476d7 100644
> --- a/common/cmd_mem.c
> +++ b/common/cmd_mem.c
> @@ -33,7 +33,6 @@
>  #include <dataflash.h>
>  #endif
>  #include <watchdog.h>
> -#include <asm/io.h>
>
>  #ifdef CMD_MEM_DEBUG
>  #define        PRINTF(fmt,args...)     printf (fmt ,##args)
> @@ -142,13 +141,9 @@ int do_mem_md ( cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
>  # endif
>
>        {
> -               ulong bytes = size * length;
> -               void *buf = map_physmem(addr, bytes, MAP_WRBACK);
> -
>                /* Print the lines. */
> -               print_buffer(addr, buf, size, length, DISP_LINE_LEN / size);
> -               addr += bytes;
> -               unmap_physmem(buf, bytes);
> +               print_buffer(addr, (void*)addr, size, length, DISP_LINE_LEN/size);
> +               addr += size*length;
>        }
>  #endif
>
> --
> 1.7.3.4
>
>


More information about the U-Boot mailing list