diff options
author | Tim Newsome <tim@sifive.com> | 2020-09-01 12:52:10 -0700 |
---|---|---|
committer | Tim Newsome <tim@sifive.com> | 2020-09-01 12:52:10 -0700 |
commit | b4f17d4a6311966dd261806115c8244182aaf753 (patch) | |
tree | 606a2ddacc4de8288dcbde29148cdcb514af49a8 /src/target/riscv/riscv.c | |
parent | 57b57989b46f7dc0a09b6eba8d894ff5cce80d17 (diff) | |
download | riscv-openocd-b4f17d4a6311966dd261806115c8244182aaf753.zip riscv-openocd-b4f17d4a6311966dd261806115c8244182aaf753.tar.gz riscv-openocd-b4f17d4a6311966dd261806115c8244182aaf753.tar.bz2 |
Prefix RISC-V globals with riscv_.global
Also removed some stuff from riscv.h that was only used in one file
anyway.
Change-Id: Id980fba15448042b18b04e8da8ec48bd2d32fda8
Diffstat (limited to 'src/target/riscv/riscv.c')
-rw-r--r-- | src/target/riscv/riscv.c | 72 |
1 files changed, 38 insertions, 34 deletions
diff --git a/src/target/riscv/riscv.c b/src/target/riscv/riscv.c index f847016..bbdc0ab 100644 --- a/src/target/riscv/riscv.c +++ b/src/target/riscv/riscv.c @@ -156,30 +156,34 @@ typedef enum slot { #define MAX_HWBPS 16 #define DRAM_CACHE_SIZE 16 -uint8_t ir_dtmcontrol[4] = {DTMCONTROL}; -struct scan_field select_dtmcontrol = { +uint8_t riscv_ir_dtmcontrol[4] = {DTMCONTROL}; +struct scan_field riscv_select_dtmcontrol = { .in_value = NULL, - .out_value = ir_dtmcontrol + .out_value = riscv_ir_dtmcontrol }; -uint8_t ir_dbus[4] = {DBUS}; -struct scan_field select_dbus = { +uint8_t riscv_ir_dbus[4] = {DBUS}; +struct scan_field riscv_select_dbus = { .in_value = NULL, - .out_value = ir_dbus + .out_value = riscv_ir_dbus }; -uint8_t ir_idcode[4] = {0x1}; -struct scan_field select_idcode = { +uint8_t riscv_ir_idcode[4] = {0x1}; +struct scan_field riscv_select_idcode = { .in_value = NULL, - .out_value = ir_idcode + .out_value = riscv_ir_idcode }; -bscan_tunnel_type_t bscan_tunnel_type; -int bscan_tunnel_ir_width; /* if zero, then tunneling is not present/active */ +typedef enum { + BSCAN_TUNNEL_NESTED_TAP, + BSCAN_TUNNEL_DATA_REGISTER +} bscan_tunnel_type_t; +static bscan_tunnel_type_t bscan_tunnel_type; +int riscv_bscan_tunnel_ir_width; /* if zero, then tunneling is not present/active */ uint8_t bscan_zero[4] = {0}; uint8_t bscan_one[4] = {1}; -uint8_t ir_user4[4]; -struct scan_field select_user4 = { +static uint8_t ir_user4[4]; +static struct scan_field select_user4 = { .in_value = NULL, .out_value = ir_user4 }; @@ -194,7 +198,7 @@ struct scan_field _bscan_tunnel_data_register_select_dmi[] = { }, { .num_bits = 5, /* initialized in riscv_init_target to ir width of DM */ - .out_value = ir_dbus, + .out_value = riscv_ir_dbus, .in_value = NULL, }, { @@ -222,7 +226,7 @@ struct scan_field _bscan_tunnel_nested_tap_select_dmi[] = { }, { .num_bits = 0, /* initialized in riscv_init_target to ir width of DM */ - .out_value = ir_dbus, + .out_value = riscv_ir_dbus, .in_value = NULL, }, { @@ -332,7 +336,7 @@ void select_dmi_via_bscan(struct target *target) uint32_t dtmcontrol_scan_via_bscan(struct target *target, uint32_t out) { /* On BSCAN TAP: Select IR=USER4, issue tunneled IR scan via BSCAN TAP's DR */ - uint8_t tunneled_ir_width[4] = {bscan_tunnel_ir_width}; + uint8_t tunneled_ir_width[4] = {riscv_bscan_tunnel_ir_width}; uint8_t tunneled_dr_width[4] = {32}; uint8_t out_value[5] = {0}; uint8_t in_value[5] = {0}; @@ -345,8 +349,8 @@ uint32_t dtmcontrol_scan_via_bscan(struct target *target, uint32_t out) tunneled_ir[0].num_bits = 3; tunneled_ir[0].out_value = bscan_zero; tunneled_ir[0].in_value = NULL; - tunneled_ir[1].num_bits = bscan_tunnel_ir_width; - tunneled_ir[1].out_value = ir_dtmcontrol; + tunneled_ir[1].num_bits = riscv_bscan_tunnel_ir_width; + tunneled_ir[1].out_value = riscv_ir_dtmcontrol; tunneled_ir[1].in_value = NULL; tunneled_ir[2].num_bits = 7; tunneled_ir[2].out_value = tunneled_ir_width; @@ -372,8 +376,8 @@ uint32_t dtmcontrol_scan_via_bscan(struct target *target, uint32_t out) tunneled_ir[3].num_bits = 3; tunneled_ir[3].out_value = bscan_zero; tunneled_ir[3].in_value = NULL; - tunneled_ir[2].num_bits = bscan_tunnel_ir_width; - tunneled_ir[2].out_value = ir_dtmcontrol; + tunneled_ir[2].num_bits = riscv_bscan_tunnel_ir_width; + tunneled_ir[2].out_value = riscv_ir_dtmcontrol; tunneled_ir[1].in_value = NULL; tunneled_ir[1].num_bits = 7; tunneled_ir[1].out_value = tunneled_ir_width; @@ -421,13 +425,13 @@ static uint32_t dtmcontrol_scan(struct target *target, uint32_t out) uint8_t in_value[4]; uint8_t out_value[4] = { 0 }; - if (bscan_tunnel_ir_width != 0) + if (riscv_bscan_tunnel_ir_width != 0) return dtmcontrol_scan_via_bscan(target, out); buf_set_u32(out_value, 0, 32, out); - jtag_add_ir_scan(target->tap, &select_dtmcontrol, TAP_IDLE); + jtag_add_ir_scan(target->tap, &riscv_select_dtmcontrol, TAP_IDLE); field.num_bits = 32; field.out_value = out_value; @@ -435,7 +439,7 @@ static uint32_t dtmcontrol_scan(struct target *target, uint32_t out) jtag_add_dr_scan(target->tap, 1, &field, TAP_IDLE); /* Always return to dbus. */ - jtag_add_ir_scan(target->tap, &select_dbus, TAP_IDLE); + jtag_add_ir_scan(target->tap, &riscv_select_dbus, TAP_IDLE); int retval = jtag_execute_queue(); if (retval != ERROR_OK) { @@ -480,11 +484,11 @@ static int riscv_init_target(struct command_context *cmd_ctx, riscv_info_init(target, info); info->cmd_ctx = cmd_ctx; - select_dtmcontrol.num_bits = target->tap->ir_length; - select_dbus.num_bits = target->tap->ir_length; - select_idcode.num_bits = target->tap->ir_length; + riscv_select_dtmcontrol.num_bits = target->tap->ir_length; + riscv_select_dbus.num_bits = target->tap->ir_length; + riscv_select_idcode.num_bits = target->tap->ir_length; - if (bscan_tunnel_ir_width != 0) { + if (riscv_bscan_tunnel_ir_width != 0) { assert(target->tap->ir_length >= 6); uint32_t ir_user4_raw = 0x23 << (target->tap->ir_length - 6); ir_user4[0] = (uint8_t)ir_user4_raw; @@ -492,11 +496,11 @@ static int riscv_init_target(struct command_context *cmd_ctx, ir_user4[2] = (uint8_t)(ir_user4_raw >>= 8); ir_user4[3] = (uint8_t)(ir_user4_raw >>= 8); select_user4.num_bits = target->tap->ir_length; - bscan_tunneled_ir_width[0] = bscan_tunnel_ir_width; + bscan_tunneled_ir_width[0] = riscv_bscan_tunnel_ir_width; if (bscan_tunnel_type == BSCAN_TUNNEL_DATA_REGISTER) - bscan_tunnel_data_register_select_dmi[1].num_bits = bscan_tunnel_ir_width; + bscan_tunnel_data_register_select_dmi[1].num_bits = riscv_bscan_tunnel_ir_width; else /* BSCAN_TUNNEL_NESTED_TAP */ - bscan_tunnel_nested_tap_select_dmi[2].num_bits = bscan_tunnel_ir_width; + bscan_tunnel_nested_tap_select_dmi[2].num_bits = riscv_bscan_tunnel_ir_width; } riscv_semihosting_init(target); @@ -2568,11 +2572,11 @@ COMMAND_HANDLER(riscv_set_ir) COMMAND_PARSE_NUMBER(u32, CMD_ARGV[1], value); if (!strcmp(CMD_ARGV[0], "idcode")) - buf_set_u32(ir_idcode, 0, 32, value); + buf_set_u32(riscv_ir_idcode, 0, 32, value); else if (!strcmp(CMD_ARGV[0], "dtmcs")) - buf_set_u32(ir_dtmcontrol, 0, 32, value); + buf_set_u32(riscv_ir_dtmcontrol, 0, 32, value); else if (!strcmp(CMD_ARGV[0], "dmi")) - buf_set_u32(ir_dbus, 0, 32, value); + buf_set_u32(riscv_ir_dbus, 0, 32, value); else return ERROR_FAIL; @@ -2620,7 +2624,7 @@ COMMAND_HANDLER(riscv_use_bscan_tunnel) LOG_INFO("Invalid Tunnel type selected ! : selecting default Nested Tap Type"); bscan_tunnel_type = tunnel_type; - bscan_tunnel_ir_width = irwidth; + riscv_bscan_tunnel_ir_width = irwidth; return ERROR_OK; } |