jtag_vpi: Minor cleanup in jtag_vpi driver

Multiple smaller items addressed in jtag_vpi:

- Several log prints adjusted to make them more clear to the user.

- Ensured that command handlers return ERROR_COMMAND_SYNTAX_ERROR
  on incorrect number of arguments.

- Fix in "jtag_vpi set_address": Leave the previously set address
  intact on error. Do not revert it to default.

- Minor update of help messages for the TCL commands.

- Updated macro names: SERVER_ADDRESS --> DEFAULT_SERVER_ADDRESS,
  the same for SERVER_PORT

Change-Id: Ibe386403a179adab5edb69c77fa408aef55701bd
Signed-off-by: Jan Matyas <matyas@codasip.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/6845
Tested-by: jenkins
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-by: Tomas Vanek <vanekt@fbl.cz>
This commit is contained in:
Jan Matyas 2022-02-04 14:44:24 +01:00 committed by Antonio Borneo
parent 9a6417e035
commit 6883567d5f
1 changed files with 21 additions and 20 deletions

View File

@ -38,8 +38,8 @@
#define NO_TAP_SHIFT 0 #define NO_TAP_SHIFT 0
#define TAP_SHIFT 1 #define TAP_SHIFT 1
#define SERVER_ADDRESS "127.0.0.1" #define DEFAULT_SERVER_ADDRESS "127.0.0.1"
#define SERVER_PORT 5555 #define DEFAULT_SERVER_PORT 5555
#define XFERT_MAX_SIZE 512 #define XFERT_MAX_SIZE 512
@ -50,7 +50,7 @@
#define CMD_STOP_SIMU 4 #define CMD_STOP_SIMU 4
/* jtag_vpi server port and address to connect to */ /* jtag_vpi server port and address to connect to */
static int server_port = SERVER_PORT; static int server_port = DEFAULT_SERVER_PORT;
static char *server_address; static char *server_address;
/* Send CMD_STOP_SIMU to server when OpenOCD exits? */ /* Send CMD_STOP_SIMU to server when OpenOCD exits? */
@ -551,7 +551,7 @@ static int jtag_vpi_init(void)
serv_addr.sin_port = htons(server_port); serv_addr.sin_port = htons(server_port);
if (!server_address) if (!server_address)
server_address = strdup(SERVER_ADDRESS); server_address = strdup(DEFAULT_SERVER_ADDRESS);
serv_addr.sin_addr.s_addr = inet_addr(server_address); serv_addr.sin_addr.s_addr = inet_addr(server_address);
@ -604,27 +604,28 @@ static int jtag_vpi_quit(void)
COMMAND_HANDLER(jtag_vpi_set_port) COMMAND_HANDLER(jtag_vpi_set_port)
{ {
if (CMD_ARGC == 0) if (CMD_ARGC == 0) {
LOG_WARNING("You need to set a port number"); LOG_ERROR("Command \"jtag_vpi set_port\" expects 1 argument (TCP port number)");
else return ERROR_COMMAND_SYNTAX_ERROR;
COMMAND_PARSE_NUMBER(int, CMD_ARGV[0], server_port); }
LOG_INFO("Set server port to %u", server_port); COMMAND_PARSE_NUMBER(int, CMD_ARGV[0], server_port);
LOG_INFO("jtag_vpi: server port set to %u", server_port);
return ERROR_OK; return ERROR_OK;
} }
COMMAND_HANDLER(jtag_vpi_set_address) COMMAND_HANDLER(jtag_vpi_set_address)
{ {
free(server_address);
if (CMD_ARGC == 0) { if (CMD_ARGC == 0) {
LOG_WARNING("You need to set an address"); LOG_ERROR("Command \"jtag_vpi set_address\" expects 1 argument (IP address)");
server_address = strdup(SERVER_ADDRESS); return ERROR_COMMAND_SYNTAX_ERROR;
} else }
server_address = strdup(CMD_ARGV[0]);
LOG_INFO("Set server address to %s", server_address); free(server_address);
server_address = strdup(CMD_ARGV[0]);
LOG_INFO("jtag_vpi: server address set to %s", server_address);
return ERROR_OK; return ERROR_OK;
} }
@ -632,11 +633,11 @@ COMMAND_HANDLER(jtag_vpi_set_address)
COMMAND_HANDLER(jtag_vpi_stop_sim_on_exit_handler) COMMAND_HANDLER(jtag_vpi_stop_sim_on_exit_handler)
{ {
if (CMD_ARGC != 1) { if (CMD_ARGC != 1) {
LOG_ERROR("jtag_vpi_stop_sim_on_exit expects 1 argument (on|off)"); LOG_ERROR("Command \"jtag_vpi stop_sim_on_exit\" expects 1 argument (on|off)");
return ERROR_COMMAND_SYNTAX_ERROR; return ERROR_COMMAND_SYNTAX_ERROR;
} else {
COMMAND_PARSE_ON_OFF(CMD_ARGV[0], stop_sim_on_exit);
} }
COMMAND_PARSE_ON_OFF(CMD_ARGV[0], stop_sim_on_exit);
return ERROR_OK; return ERROR_OK;
} }
@ -645,14 +646,14 @@ static const struct command_registration jtag_vpi_subcommand_handlers[] = {
.name = "set_port", .name = "set_port",
.handler = &jtag_vpi_set_port, .handler = &jtag_vpi_set_port,
.mode = COMMAND_CONFIG, .mode = COMMAND_CONFIG,
.help = "set the port of the VPI server", .help = "set the TCP port number of the jtag_vpi server (default: 5555)",
.usage = "tcp_port_num", .usage = "tcp_port_num",
}, },
{ {
.name = "set_address", .name = "set_address",
.handler = &jtag_vpi_set_address, .handler = &jtag_vpi_set_address,
.mode = COMMAND_CONFIG, .mode = COMMAND_CONFIG,
.help = "set the address of the VPI server", .help = "set the IP address of the jtag_vpi server (default: 127.0.0.1)",
.usage = "ipv4_addr", .usage = "ipv4_addr",
}, },
{ {