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:
parent
52cb9dfed0
commit
2419798b80
27 changed files with 91 additions and 182 deletions
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
33
sim/common/sim-command.c
Normal 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);
|
||||
}
|
|
@ -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.
|
||||
|
|
|
@ -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. */
|
||||
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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 ------------------------------------*/
|
||||
/*---------------------------------------------------------------------------*/
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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. */
|
||||
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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. */
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue