+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
/***************************************************************************
* Copyright (C) 2013 Andes Technology *
* Hsiangkai Wang <hkwang@andestech.com> *
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation; either version 2 of the License, or *
- * (at your option) any later version. *
- * *
- * This program is distributed in the hope that it will be useful, *
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
- * GNU General Public License for more details. *
- * *
- * You should have received a copy of the GNU General Public License *
- * along with this program. If not, see <http://www.gnu.org/licenses/>. *
***************************************************************************/
#ifdef HAVE_CONFIG_H
extern struct nds32_edm_operation nds32_edm_ops[NDS32_EDM_OPERATION_MAX_NUM];
extern uint32_t nds32_edm_ops_num;
-static const char *const NDS_MEMORY_ACCESS_NAME[] = {
+static const char *const nds_memory_access_name[] = {
"BUS",
"CPU",
};
-static const char *const NDS_MEMORY_SELECT_NAME[] = {
+static const char *const nds_memory_select_name[] = {
"AUTO",
"MEM",
"ILM",
memory->access_channel = NDS_MEMORY_ACC_CPU;
LOG_DEBUG("memory access channel is changed to %s",
- NDS_MEMORY_ACCESS_NAME[memory->access_channel]);
+ nds_memory_access_name[memory->access_channel]);
aice_memory_access(aice, memory->access_channel);
} else {
command_print(CMD, "%s: memory access channel: %s",
target_name(target),
- NDS_MEMORY_ACCESS_NAME[memory->access_channel]);
+ nds_memory_access_name[memory->access_channel]);
}
return ERROR_OK;
command_print(CMD, "%s: memory mode: %s",
target_name(target),
- NDS_MEMORY_SELECT_NAME[nds32->memory.mode]);
+ nds_memory_select_name[nds32->memory.mode]);
return ERROR_OK;
}
read_addr = addr;
i = 0;
while (i < insn_count) {
- if (ERROR_OK != nds32_read_opcode(nds32, read_addr, &opcode))
+ if (nds32_read_opcode(nds32, read_addr, &opcode) != ERROR_OK)
return ERROR_FAIL;
- if (ERROR_OK != nds32_evaluate_opcode(nds32, opcode,
- read_addr, &instruction))
+ if (nds32_evaluate_opcode(nds32, opcode, read_addr, &instruction) != ERROR_OK)
return ERROR_FAIL;
command_print(CMD, "%s", instruction.text);
COMMAND_PARSE_NUMBER(u32, CMD_ARGV[0], addr);
- if (ERROR_OK != nds32_read_opcode(nds32, addr, &opcode))
+ if (nds32_read_opcode(nds32, addr, &opcode) != ERROR_OK)
return ERROR_FAIL;
- if (ERROR_OK != nds32_evaluate_opcode(nds32, opcode, addr, &instruction))
+ if (nds32_evaluate_opcode(nds32, opcode, addr, &instruction) != ERROR_OK)
return ERROR_FAIL;
command_print(CMD, "%s", instruction.text);
{
const char *cmd_name = Jim_GetString(argv[0], NULL);
- Jim_GetOptInfo goi;
- Jim_GetOpt_Setup(&goi, interp, argc - 1, argv + 1);
+ struct jim_getopt_info goi;
+ jim_getopt_setup(&goi, interp, argc - 1, argv + 1);
if (goi.argc < 3) {
Jim_SetResultFormatted(goi.interp,
int e;
jim_wide address;
- e = Jim_GetOpt_Wide(&goi, &address);
+ e = jim_getopt_wide(&goi, &address);
if (e != JIM_OK)
return e;
jim_wide count;
- e = Jim_GetOpt_Wide(&goi, &count);
+ e = jim_getopt_wide(&goi, &count);
if (e != JIM_OK)
return e;
uint32_t *data = malloc(count * sizeof(uint32_t));
- if (data == NULL)
+ if (!data)
return JIM_ERR;
jim_wide i;
for (i = 0; i < count; i++) {
jim_wide tmp;
- e = Jim_GetOpt_Wide(&goi, &tmp);
+ e = jim_getopt_wide(&goi, &tmp);
if (e != JIM_OK) {
free(data);
return e;
return JIM_ERR;
}
- struct target *target = Jim_CmdPrivData(goi.interp);
+ struct command_context *cmd_ctx = current_command_context(interp);
+ assert(cmd_ctx);
+ struct target *target = get_current_target(cmd_ctx);
int result;
result = target_write_buffer(target, address, count * 4, (const uint8_t *)data);
{
const char *cmd_name = Jim_GetString(argv[0], NULL);
- Jim_GetOptInfo goi;
- Jim_GetOpt_Setup(&goi, interp, argc - 1, argv + 1);
+ struct jim_getopt_info goi;
+ jim_getopt_setup(&goi, interp, argc - 1, argv + 1);
if (goi.argc < 3) {
Jim_SetResultFormatted(goi.interp,
int e;
jim_wide num_of_pairs;
- e = Jim_GetOpt_Wide(&goi, &num_of_pairs);
+ e = jim_getopt_wide(&goi, &num_of_pairs);
if (e != JIM_OK)
return e;
- struct target *target = Jim_CmdPrivData(goi.interp);
+ struct command_context *cmd_ctx = current_command_context(interp);
+ assert(cmd_ctx);
+ struct target *target = get_current_target(cmd_ctx);
struct aice_port_s *aice = target_to_aice(target);
int result;
uint32_t address;
aice_set_command_mode(aice, AICE_COMMAND_MODE_PACK);
for (i = 0; i < num_of_pairs; i++) {
jim_wide tmp;
- e = Jim_GetOpt_Wide(&goi, &tmp);
+ e = jim_getopt_wide(&goi, &tmp);
if (e != JIM_OK)
break;
address = (uint32_t)tmp;
- e = Jim_GetOpt_Wide(&goi, &tmp);
+ e = jim_getopt_wide(&goi, &tmp);
if (e != JIM_OK)
break;
data = (uint32_t)tmp;
{
const char *cmd_name = Jim_GetString(argv[0], NULL);
- Jim_GetOptInfo goi;
- Jim_GetOpt_Setup(&goi, interp, argc - 1, argv + 1);
+ struct jim_getopt_info goi;
+ jim_getopt_setup(&goi, interp, argc - 1, argv + 1);
if (goi.argc < 2) {
Jim_SetResultFormatted(goi.interp,
int e;
jim_wide address;
- e = Jim_GetOpt_Wide(&goi, &address);
+ e = jim_getopt_wide(&goi, &address);
if (e != JIM_OK)
return e;
jim_wide count;
- e = Jim_GetOpt_Wide(&goi, &count);
+ e = jim_getopt_wide(&goi, &count);
if (e != JIM_OK)
return e;
if (goi.argc != 0)
return JIM_ERR;
- struct target *target = Jim_CmdPrivData(goi.interp);
+ struct command_context *cmd_ctx = current_command_context(interp);
+ assert(cmd_ctx);
+ struct target *target = get_current_target(cmd_ctx);
uint32_t *data = malloc(count * sizeof(uint32_t));
int result;
result = target_read_buffer(target, address, count * 4, (uint8_t *)data);
{
const char *cmd_name = Jim_GetString(argv[0], NULL);
- Jim_GetOptInfo goi;
- Jim_GetOpt_Setup(&goi, interp, argc - 1, argv + 1);
+ struct jim_getopt_info goi;
+ jim_getopt_setup(&goi, interp, argc - 1, argv + 1);
if (goi.argc < 1) {
Jim_SetResultFormatted(goi.interp,
int e;
const char *edm_sr_name;
int edm_sr_name_len;
- e = Jim_GetOpt_String(&goi, &edm_sr_name, &edm_sr_name_len);
+ e = jim_getopt_string(&goi, &edm_sr_name, &edm_sr_name_len);
if (e != JIM_OK)
return e;
else
return ERROR_FAIL;
- struct target *target = Jim_CmdPrivData(goi.interp);
+ struct command_context *cmd_ctx = current_command_context(interp);
+ assert(cmd_ctx);
+ struct target *target = get_current_target(cmd_ctx);
struct aice_port_s *aice = target_to_aice(target);
char data_str[11];
{
const char *cmd_name = Jim_GetString(argv[0], NULL);
- Jim_GetOptInfo goi;
- Jim_GetOpt_Setup(&goi, interp, argc - 1, argv + 1);
+ struct jim_getopt_info goi;
+ jim_getopt_setup(&goi, interp, argc - 1, argv + 1);
if (goi.argc < 2) {
Jim_SetResultFormatted(goi.interp,
int e;
const char *edm_sr_name;
int edm_sr_name_len;
- e = Jim_GetOpt_String(&goi, &edm_sr_name, &edm_sr_name_len);
+ e = jim_getopt_string(&goi, &edm_sr_name, &edm_sr_name_len);
if (e != JIM_OK)
return e;
jim_wide value;
- e = Jim_GetOpt_Wide(&goi, &value);
+ e = jim_getopt_wide(&goi, &value);
if (e != JIM_OK)
return e;
else
return ERROR_FAIL;
- struct target *target = Jim_CmdPrivData(goi.interp);
+ struct command_context *cmd_ctx = current_command_context(interp);
+ assert(cmd_ctx);
+ struct target *target = get_current_target(cmd_ctx);
struct aice_port_s *aice = target_to_aice(target);
aice_write_debug_reg(aice, edm_sr_number, value);
.handler = handle_nds32_global_stop_command,
.mode = COMMAND_ANY,
.usage = "['on'|'off']",
- .help = "turn on/off global stop. After turning on, every load/store"
+ .help = "turn on/off global stop. After turning on, every load/store "
"instructions will be stopped to check memory access.",
},
{
.name = "login_edm_operation",
.handler = handle_nds32_login_edm_operation_command,
.mode = COMMAND_CONFIG,
- .usage = "login_edm_operation misc_reg_no value",
+ .usage = "misc_reg_no value",
.help = "add EDM operations for secure MCU debugging.",
},
{