forked from Imagelibrary/binutils-gdb
sim: start a unified sim_do_command
Since sim_do_command for many people simply calls sim_args_command, start a unified version of it. For people who handle their own options, they could switch to this by using sim_add_option_table instead. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
This commit is contained in:
@@ -256,51 +256,3 @@ print_m32r_misc_cpu (SIM_CPU *cpu, int verbose)
|
||||
CPU_M32R_MISC_PROFILE (cpu)->parallel_count));
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
sim_do_command (sd, cmd)
|
||||
SIM_DESC sd;
|
||||
char *cmd;
|
||||
{
|
||||
char **argv;
|
||||
|
||||
if (cmd == NULL)
|
||||
return;
|
||||
|
||||
argv = buildargv (cmd);
|
||||
|
||||
if (argv[0] != NULL
|
||||
&& strcasecmp (argv[0], "info") == 0
|
||||
&& argv[1] != NULL
|
||||
&& strncasecmp (argv[1], "reg", 3) == 0)
|
||||
{
|
||||
SI val;
|
||||
|
||||
/* We only support printing bbpsw,bbpc here as there is no equivalent
|
||||
functionality in gdb. */
|
||||
if (argv[2] == NULL)
|
||||
sim_io_eprintf (sd, "Missing register in `%s'\n", cmd);
|
||||
else if (argv[3] != NULL)
|
||||
sim_io_eprintf (sd, "Too many arguments in `%s'\n", cmd);
|
||||
else if (strcasecmp (argv[2], "bbpsw") == 0)
|
||||
{
|
||||
val = m32rbf_h_cr_get (STATE_CPU (sd, 0), H_CR_BBPSW);
|
||||
sim_io_printf (sd, "bbpsw 0x%x %d\n", val, val);
|
||||
}
|
||||
else if (strcasecmp (argv[2], "bbpc") == 0)
|
||||
{
|
||||
val = m32rbf_h_cr_get (STATE_CPU (sd, 0), H_CR_BBPC);
|
||||
sim_io_printf (sd, "bbpc 0x%x %d\n", val, val);
|
||||
}
|
||||
else
|
||||
sim_io_eprintf (sd, "Printing of register `%s' not supported with `sim info'\n",
|
||||
argv[2]);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (sim_args_command (sd, cmd) != SIM_RC_OK)
|
||||
sim_io_eprintf (sd, "Unknown sim command `%s'\n", cmd);
|
||||
}
|
||||
|
||||
freeargv (argv);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user