target/target: parse value as proper type 19/5219/3
authorChristopher Head <chead@zaber.com>
Thu, 6 Jun 2019 18:40:12 +0000 (11:40 -0700)
committerTomas Vanek <vanekt@fbl.cz>
Tue, 14 Jan 2020 11:41:11 +0000 (11:41 +0000)
The `value` variable is passed into `target_fill_mem` as its
second-to-last parameter. That parameter is of type `uint64_t`. It is
appropriate to parse the value as that type, since otherwise a target
with a 32-bit address space but 64-bit data write capabilities would not
be able to exercise those capabilities.

Change-Id: Ib336d47d42c27cd2b5ba1206b04e8f740f167dba
Signed-off-by: Christopher Head <chead@zaber.com>
Reviewed-on: http://openocd.zylin.com/5219
Reviewed-by: Tomas Vanek <vanekt@fbl.cz>
Tested-by: jenkins
src/target/target.c

index 2bfbd57..1ec2ee2 100644 (file)
@@ -3338,8 +3338,8 @@ COMMAND_HANDLER(handle_mw_command)
        target_addr_t address;
        COMMAND_PARSE_ADDRESS(CMD_ARGV[0], address);
 
-       target_addr_t value;
-       COMMAND_PARSE_ADDRESS(CMD_ARGV[1], value);
+       uint64_t value;
+       COMMAND_PARSE_NUMBER(u64, CMD_ARGV[1], value);
 
        unsigned count = 1;
        if (CMD_ARGC == 3)