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:
Mike Frysinger 2011-07-05 19:06:38 +00:00
parent 52cb9dfed0
commit 2419798b80
27 changed files with 91 additions and 182 deletions

View File

@ -1,3 +1,7 @@
2011-07-05 Mike Frysinger <vapier@gentoo.org>
* interp.c (sim_do_command): Delete.
2011-07-01 Mike Frysinger <vapier@gentoo.org>
* interp.c (cb_linux_stat_map_32, cb_linux_stat_map_64): Rename from

View File

@ -1256,10 +1256,3 @@ sim_create_inferior (SIM_DESC sd, struct bfd *abfd,
return SIM_RC_OK;
}
void
sim_do_command (SIM_DESC sd, char *cmd)
{
if (sim_args_command (sd, cmd) != SIM_RC_OK)
sim_io_eprintf (sd, "Unknown command `%s'\n", cmd);
}

View File

@ -1,3 +1,9 @@
2011-07-05 Mike Frysinger <vapier@gentoo.org>
* sim-command.c: New file.
* Make-common.in (SIM_NEW_COMMON_OBJS): Add sim-command.o.
(sim-command.o): New rule.
2011-05-27 Mike Frysinger <vapier@gentoo.org>
* sim-options.c (standard_option_handler): Remove arg[0] check

View File

@ -162,6 +162,7 @@ SIM_COMMON_HW_OBJS = \
SIM_NEW_COMMON_OBJS = \
sim-arange.o \
sim-bits.o \
sim-command.o \
sim-config.o \
sim-core.o \
sim-endian.o \
@ -425,6 +426,9 @@ sim-bits.o: $(srccom)/sim-bits.c $(sim-bits_h) $(sim-n-bits_h) \
$(SIM_EXTRA_DEPS)
$(CC) -c $(srccom)/sim-bits.c $(ALL_CFLAGS)
sim-command.o: $(srccom)/sim-command.c $(sim_main_headers)
$(CC) -c $(srccom)/sim-command.c $(ALL_CFLAGS)
sim-config.o: $(srccom)/sim-config.c $(sim-config_h) sim-main.h \
$(SIM_EXTRA_DEPS)
$(CC) -c $(srccom)/sim-config.c $(ALL_CFLAGS)

33
sim/common/sim-command.c Normal file
View File

@ -0,0 +1,33 @@
/* Miscellaneous simulator utilities.
Copyright (C) 2005-2011 Free Software Foundation, Inc.
Contributed by Analog Devices, Inc.
This file is part of simulators.
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 3 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/>. */
#include "sim-main.h"
#include "sim-utils.h"
/* Generic implementation of sim_do_command that works with simulators
which add custom options via sim_add_option_table(). */
void
sim_do_command (SIM_DESC sd, char *cmd)
{
if (sim_args_command (sd, cmd) != SIM_RC_OK)
sim_io_eprintf (sd, "Unknown sim command: \"%s\". Try \"sim help\".\n",
cmd);
}

View File

@ -1,3 +1,7 @@
2011-07-05 Mike Frysinger <vapier@gentoo.org>
* sim-if.c (sim_do_command): Delete.
2010-10-09 Alan Modra <amodra@gmail.com>
* cris-desc.h: Regenerate.

View File

@ -1094,13 +1094,6 @@ sim_create_inferior (SIM_DESC sd, struct bfd *abfd,
return SIM_RC_OK;
}
void
sim_do_command (SIM_DESC sd, char *cmd)
{
if (sim_args_command (sd, cmd) != SIM_RC_OK)
sim_io_eprintf (sd, "Unknown command `%s'\n", cmd);
}
/* Disassemble an instruction. */

View File

@ -1,3 +1,7 @@
2011-07-05 Mike Frysinger <vapier@gentoo.org>
* sim-if.c (sim_do_command): Delete.
2010-04-21 Mike Frysinger <vapier@gentoo.org>
* profile.c (sim_profile_print_bar): Add cpu argument.

View File

@ -240,12 +240,3 @@ sim_create_inferior (sd, abfd, argv, envp)
return SIM_RC_OK;
}
void
sim_do_command (sd, cmd)
SIM_DESC sd;
char *cmd;
{
if (sim_args_command (sd, cmd) != SIM_RC_OK)
sim_io_eprintf (sd, "Unknown command `%s'\n", cmd);
}

View File

@ -1,3 +1,7 @@
2011-07-05 Mike Frysinger <vapier@gentoo.org>
* compile.c (sim_do_command): Delete.
2011-01-11 Andrew Burgess <aburgess@broadcom.com>
* compile.c (sim_store_register): Update return value to

View File

@ -5107,13 +5107,6 @@ sim_create_inferior (SIM_DESC sd, struct bfd *abfd, char **argv, char **env)
return SIM_RC_OK;
}
void
sim_do_command (SIM_DESC sd, char *cmd)
{
(*sim_callback->printf_filtered) (sim_callback,
"This simulator does not accept any commands.\n");
}
void
sim_set_callbacks (struct host_callback_struct *ptr)
{

View File

@ -1,3 +1,7 @@
2011-07-05 Mike Frysinger <vapier@gentoo.org>
* sim-if.c (sim_do_command): Delete.
2011-02-14 Mike Frysinger <vapier@gentoo.org>
* iq2000.c (do_syscall): Change zfree to free.

View File

@ -189,15 +189,3 @@ sim_create_inferior (sd, abfd, argv, envp)
return SIM_RC_OK;
}
void
sim_do_command (sd, cmd)
SIM_DESC sd;
char *cmd;
{
if (sim_args_command (sd, cmd) != SIM_RC_OK)
sim_io_eprintf (sd, "Unknown command `%s'\n", cmd);
}

View File

@ -1,3 +1,7 @@
2011-07-05 Mike Frysinger <vapier@gentoo.org>
* sim-if.c (sim_do_command): Delete.
2010-02-11 Doug Evans <dje@sebabeach.org>
* cpu.h, * decode.c, * model.c, * sem-switch.c, * sem.c: Regenerate.

View File

@ -279,12 +279,3 @@ sim_create_inferior (sd, abfd, argv, envp)
return SIM_RC_OK;
}
void
sim_do_command (sd, cmd)
SIM_DESC sd;
char *cmd;
{
if (sim_args_command (sd, cmd) != SIM_RC_OK)
sim_io_eprintf (sd, "Unknown command `%s'\n", cmd);
}

View File

@ -1,3 +1,7 @@
2011-07-05 Mike Frysinger <vapier@gentoo.org>
* sim-if.c (sim_do_command): Delete.
2010-03-30 Mike Frysinger <vapier@gentoo.org>
* devices.c (device_error): Add const to message.

View File

@ -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);
}

View File

@ -1,3 +1,7 @@
2011-07-05 Mike Frysinger <vapier@gentoo.org>
* interp.c (sim_do_command): Delete.
2010-01-09 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* configure: Regenerate.

View File

@ -711,33 +711,6 @@ sim_size (int s)
;
}
void
sim_do_command (SIM_DESC sd, char *cmd)
{
char *mm_cmd = "memory-map";
char *int_cmd = "interrupt";
sim_cpu *cpu;
cpu = STATE_CPU (sd, 0);
/* Commands available from GDB: */
if (sim_args_command (sd, cmd) != SIM_RC_OK)
{
if (strncmp (cmd, "info", sizeof ("info") - 1) == 0)
sim_get_info (sd, &cmd[4]);
else if (strncmp (cmd, mm_cmd, strlen (mm_cmd) == 0))
sim_io_eprintf (sd,
"`memory-map' command replaced by `sim memory'\n");
else if (strncmp (cmd, int_cmd, strlen (int_cmd)) == 0)
sim_io_eprintf (sd, "`interrupt' command replaced by `sim watch'\n");
else
sim_io_eprintf (sd, "Unknown command `%s'\n", cmd);
}
/* If the architecture changed, re-configure. */
if (STATE_ARCHITECTURE (sd) != cpu->cpu_configured_arch)
sim_hw_configure (sd);
}
/* Halt the simulator after just one instruction */
static void

View File

@ -1,3 +1,7 @@
2011-07-05 Mike Frysinger <vapier@gentoo.org>
* interp.c (sim_do_command): Delete.
2011-02-14 Mike Frysinger <vapier@gentoo.org>
* dv-tx3904sio.c (tx3904sio_fifo_push): Change zfree to free.

View File

@ -1142,16 +1142,6 @@ sim_create_inferior (sd, abfd, argv,env)
return SIM_RC_OK;
}
void
sim_do_command (sd,cmd)
SIM_DESC sd;
char *cmd;
{
if (sim_args_command (sd, cmd) != SIM_RC_OK)
sim_io_printf (sd, "Error: \"%s\" is not a valid MIPS simulator command.\n",
cmd);
}
/*---------------------------------------------------------------------------*/
/*-- Private simulator support interface ------------------------------------*/
/*---------------------------------------------------------------------------*/

View File

@ -1,3 +1,7 @@
2011-07-05 Mike Frysinger <vapier@gentoo.org>
* interp.c (sim_do_command): Delete.
2011-06-20 Nick Clifton <nickc@redhat.com>
* am33.igen (sub Rm,Rn,Rd): Fix computation of carry flag.

View File

@ -328,23 +328,6 @@ sim_create_inferior (SIM_DESC sd,
return SIM_RC_OK;
}
void
sim_do_command (SIM_DESC sd, char *cmd)
{
char *mm_cmd = "memory-map";
char *int_cmd = "interrupt";
if (sim_args_command (sd, cmd) != SIM_RC_OK)
{
if (strncmp (cmd, mm_cmd, strlen (mm_cmd) == 0))
sim_io_eprintf (sd, "`memory-map' command replaced by `sim memory'\n");
else if (strncmp (cmd, int_cmd, strlen (int_cmd)) == 0)
sim_io_eprintf (sd, "`interrupt' command replaced by `sim watch'\n");
else
sim_io_eprintf (sd, "Unknown command `%s'\n", cmd);
}
}
/* FIXME These would more efficient to use than load_mem/store_mem,
but need to be changed to use the memory map. */

View File

@ -1,3 +1,7 @@
2011-07-05 Mike Frysinger <vapier@gentoo.org>
* sim-if.c (sim_do_command): Delete.
2011-02-14 Mike Frysinger <vapier@gentoo.org>
* sh64.c (trap_handler): Change zfree to free.

View File

@ -193,16 +193,6 @@ sim_create_inferior (sd, abfd, argv, envp)
return SIM_RC_OK;
}
void
sim_do_command (sd, cmd)
SIM_DESC sd;
char *cmd;
{
if (sim_args_command (sd, cmd) != SIM_RC_OK)
sim_io_eprintf (sd, "Unknown command `%s'\n", cmd);
}
/* Disassemble an instruction. */

View File

@ -1,3 +1,7 @@
2011-07-05 Mike Frysinger <vapier@gentoo.org>
* interp.c (sim_do_command): Delete.
2011-03-21 Kevin Buettner <kevinb@redhat.com>
* simops (OP_10007E0): Update errno handling as most traps

View File

@ -329,22 +329,3 @@ sim_store_register (sd, rn, memory, length)
State.regs[rn] = T2H_4 (*(unsigned32*)memory);
return length;
}
void
sim_do_command (sd, cmd)
SIM_DESC sd;
char *cmd;
{
char *mm_cmd = "memory-map";
char *int_cmd = "interrupt";
if (sim_args_command (sd, cmd) != SIM_RC_OK)
{
if (strncmp (cmd, mm_cmd, strlen (mm_cmd) == 0))
sim_io_eprintf (sd, "`memory-map' command replaced by `sim memory'\n");
else if (strncmp (cmd, int_cmd, strlen (int_cmd)) == 0)
sim_io_eprintf (sd, "`interrupt' command replaced by `sim watch'\n");
else
sim_io_eprintf (sd, "Unknown command `%s'\n", cmd);
}
}