X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=common%2Fcmd_md5sum.c;h=23bb81e88cbf02ca73224b244e1c2359cd9c9f2a;hb=5a54194515caa4f4183dc9086938456612749573;hp=3ac8cc41b1a450edc7f5e489b3a6e9e4c2d14a38;hpb=22692ec0fbdb455ca16d4d0e27768c6b6deb4243;p=oweals%2Fu-boot.git diff --git a/common/cmd_md5sum.c b/common/cmd_md5sum.c index 3ac8cc41b1..23bb81e88c 100644 --- a/common/cmd_md5sum.c +++ b/common/cmd_md5sum.c @@ -10,7 +10,9 @@ #include #include +#include #include +#include /* * Store the resulting sum to an address or variable @@ -79,6 +81,7 @@ int do_md5sum(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) int verify = 0; int ac; char * const *av; + void *buf; if (argc < 3) return CMD_RET_USAGE; @@ -96,7 +99,9 @@ int do_md5sum(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) addr = simple_strtoul(*av++, NULL, 16); len = simple_strtoul(*av++, NULL, 16); - md5_wd((unsigned char *) addr, len, output, CHUNKSZ_MD5); + buf = map_sysmem(addr, len); + md5_wd(buf, len, output, CHUNKSZ_MD5); + unmap_sysmem(buf); if (!verify) { printf("md5 for %08lx ... %08lx ==> ", addr, addr + len - 1); @@ -135,6 +140,7 @@ static int do_md5sum(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) unsigned long addr, len; unsigned int i; u8 output[16]; + void *buf; if (argc < 3) return CMD_RET_USAGE; @@ -142,7 +148,10 @@ static int do_md5sum(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) addr = simple_strtoul(argv[1], NULL, 16); len = simple_strtoul(argv[2], NULL, 16); - md5_wd((unsigned char *) addr, len, output, CHUNKSZ_MD5); + buf = map_sysmem(addr, len); + md5_wd(buf, len, output, CHUNKSZ_MD5); + unmap_sysmem(buf); + printf("md5 for %08lx ... %08lx ==> ", addr, addr + len - 1); for (i = 0; i < 16; i++) printf("%02x", output[i]);