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