This is an automated email from Gerrit. Alamy Liu ([email protected]) just uploaded a new patch set to Gerrit, which you can find at http://openocd.zylin.com/3313
-- gerrit commit 2230addfc84a2e0030d578242c11ca151b5ec80b Author: Alamy Liu <[email protected]> Date: Fri Oct 9 11:56:05 2015 -0700 target: Display register in the same way Reason: The way it displays ALL registers and SINGLE register are differnet > reg X5 0x4321 X5 (/64): 0x0000000000004321 > reg X5 X5 (/64): 0x0000000000004321 > reg ===== ARMv8 registers ( 0) X0 (/64): 0x00000009FFC3D018 (dirty) ( 1) X1 (/64): 0x0000000000000000 ( 2) X2 (/64): 0x00000009FFF64A8C ( 3) X3 (/64): 0x000000000000004C ( 4) X4 (/64): 0x0000000000000000 ( 5) X5 (/64): 0x0000000000004321 (dirty) Solution: Create A function to display register, so everything would be consistent. > reg X5 0x4321 X5 (/64): 0x0000000000004321 (dirty) > reg 5 X5 (/64): 0x0000000000004321 (dirty) > reg ===== ARMv8 registers ( 0) X0 (/64): 0x0000000040000309 (dirty) ( 1) X1 (/64): 0x0000000000000000 ( 2) X2 (/64): 0x00000009FFF64A8C ( 3) X3 (/64): 0x000000000000004C ( 4) X4 (/64): 0x0000000000000000 ( 5) X5 (/64): 0x0000000000004321 (dirty) Change-Id: Ib0d731e531e4d8fd5107a8e24b109fe9b4177298 Signed-off-by: Alamy Liu <[email protected]> diff --git a/src/target/target.c b/src/target/target.c index 21a8532..1d0653d 100644 --- a/src/target/target.c +++ b/src/target/target.c @@ -2585,12 +2585,38 @@ static int handle_target(void *priv) return retval; } +static void handle_reg_display_one_register(struct command_context *cmd_ctx, + struct reg *reg) +{ + char *value; + + if (!reg) + return; + + /* only print cached values if they are valid */ + if (reg->valid) { + value = buf_to_str(reg->value, reg->size, 16); + if (!value) + return; + + command_print(cmd_ctx, + "%4s (/%2" PRIu32 "): 0x%s%s", + reg->name, + reg->size, value, + reg->dirty ? " (dirty)" : ""); + free(value); + } else { + command_print(cmd_ctx, "%4s (/%2" PRIu32 "): (invalid)", + reg->name, + reg->size); + } +} + COMMAND_HANDLER(handle_reg_command) { struct target *target; struct reg *reg = NULL; unsigned count = 0; - char *value; target = get_current_target(CMD_CTX); @@ -2609,23 +2635,8 @@ COMMAND_HANDLER(handle_reg_command) for (i = 0, reg = cache->reg_list; i < cache->num_regs; i++, reg++, count++) { - /* only print cached values if they are valid */ - if (reg->valid) { - value = buf_to_str(reg->value, - reg->size, 16); - command_print(CMD_CTX, - "(%2i) %4s (/%2" PRIu32 "): 0x%s%s", - count, reg->name, - reg->size, value, - reg->dirty - ? " (dirty)" - : ""); - free(value); - } else { - command_print(CMD_CTX, "(%2i) %4s (/%2" PRIu32 "): (invalid)", - count, reg->name, - reg->size) ; - } + command_print_sameline(CMD_CTX, "(%2i) ", count); + handle_reg_display_one_register(CMD_CTX, reg); } cache = cache->next; } @@ -2678,9 +2689,7 @@ COMMAND_HANDLER(handle_reg_command) if (reg->valid == 0) reg->type->get(reg); - value = buf_to_str(reg->value, reg->size, 16); - command_print(CMD_CTX, "%s (/%i): 0x%s", reg->name, (int)(reg->size), value); - free(value); + handle_reg_display_one_register(CMD_CTX, reg); return ERROR_OK; } @@ -2692,10 +2701,7 @@ COMMAND_HANDLER(handle_reg_command) str_to_buf(CMD_ARGV[1], strlen(CMD_ARGV[1]), buf, reg->size, 0); reg->type->set(reg, buf); - - value = buf_to_str(reg->value, reg->size, 16); - command_print(CMD_CTX, "%s (/%i): 0x%s", reg->name, (int)(reg->size), value); - free(value); + handle_reg_display_one_register(CMD_CTX, reg); free(buf); -- ------------------------------------------------------------------------------ Site24x7 APM Insight: Get Deep Visibility into Application Performance APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month Monitor end-to-end web transactions and take corrective actions now Troubleshoot faster and improve end-user experience. Signup Now! http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140 _______________________________________________ OpenOCD-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/openocd-devel
