From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 19134 invoked by alias); 19 Jun 2011 20:41:58 -0000 Received: (qmail 19120 invoked by uid 22791); 19 Jun 2011 20:41:56 -0000 X-SWARE-Spam-Status: No, hits=-1.9 required=5.0 tests=AWL,BAYES_00,TW_RB,TW_RG,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from smtp.gentoo.org (HELO smtp.gentoo.org) (140.211.166.183) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Sun, 19 Jun 2011 20:41:38 +0000 Received: from localhost.localdomain (localhost [127.0.0.1]) by smtp.gentoo.org (Postfix) with ESMTP id 73B4C2AC00D; Sun, 19 Jun 2011 20:41:37 +0000 (UTC) From: Mike Frysinger To: gdb-patches@sourceware.org Cc: toolchain-devel@blackfin.uclinux.org Subject: [PATCH] sim: start a unified sim_do_command Date: Sun, 19 Jun 2011 20:41:00 -0000 Message-Id: <1308516139-32225-1-git-send-email-vapier@gentoo.org> X-IsSubscribed: yes Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2011-06/txt/msg00255.txt.bz2 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 sim/common/: 2011-06-19 Mike Frysinger * sim-command.c: New file. * Make-common.in (SIM_NEW_COMMON_OBJS): Add sim-command.o. (sim-command.o): New rule. sim/bfin/: 2011-06-19 Mike Frysinger * interp.c (sim_do_command): Delete. sim/cris/: 2011-06-19 Mike Frysinger * sim-if.c (sim_do_command): Delete. sim/frv/: 2011-06-19 Mike Frysinger * sim-if.c (sim_do_command): Delete. sim/h8300/: 2011-06-19 Mike Frysinger * compile.c (sim_do_command): Delete. sim/iq2000/: 2011-06-19 Mike Frysinger * sim-if.c (sim_do_command): Delete. sim/lm32/: 2011-06-19 Mike Frysinger * sim-if.c (sim_do_command): Delete. sim/m32r/: 2011-06-19 Mike Frysinger * sim-if.c (sim_do_command): Delete. sim/m68hc11/: 2011-06-19 Mike Frysinger * interp.c (sim_do_command): Delete. sim/mips/: 2011-06-19 Mike Frysinger * interp.c (sim_do_command): Delete. sim/mn10300/: 2011-06-19 Mike Frysinger * interp.c (sim_do_command): Delete. sim/sh64/: 2011-06-19 Mike Frysinger * sim-if.c (sim_do_command): Delete. sim/v850/: 2011-06-19 Mike Frysinger * interp.c (sim_do_command): Delete. --- sim/bfin/interp.c | 7 ------ sim/common/Make-common.in | 4 +++ sim/common/sim-command.c | 33 ++++++++++++++++++++++++++++++ sim/cris/sim-if.c | 7 ------ sim/frv/sim-if.c | 9 -------- sim/h8300/compile.c | 7 ------ sim/iq2000/sim-if.c | 12 ----------- sim/lm32/sim-if.c | 9 -------- sim/m32r/sim-if.c | 48 --------------------------------------------- sim/m68hc11/interp.c | 27 ------------------------- sim/mips/interp.c | 10 --------- sim/mn10300/interp.c | 17 --------------- sim/sh64/sim-if.c | 10 --------- sim/v850/interp.c | 19 ----------------- 14 files changed, 37 insertions(+), 182 deletions(-) create mode 100644 sim/common/sim-command.c diff --git a/sim/bfin/interp.c b/sim/bfin/interp.c index d0a4e22..5b270d4 100644 --- a/sim/bfin/interp.c +++ b/sim/bfin/interp.c @@ -1241,10 +1241,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); -} diff --git a/sim/common/Make-common.in b/sim/common/Make-common.in index 351f4a0..42e3192 100644 --- a/sim/common/Make-common.in +++ b/sim/common/Make-common.in @@ -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) diff --git a/sim/common/sim-command.c b/sim/common/sim-command.c new file mode 100644 index 0000000..b6d0a19 --- /dev/null +++ b/sim/common/sim-command.c @@ -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 . */ + +#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); +} diff --git a/sim/cris/sim-if.c b/sim/cris/sim-if.c index 9dc7e34..64a758c 100644 --- a/sim/cris/sim-if.c +++ b/sim/cris/sim-if.c @@ -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. */ diff --git a/sim/frv/sim-if.c b/sim/frv/sim-if.c index 2d15965..37cc23a 100644 --- a/sim/frv/sim-if.c +++ b/sim/frv/sim-if.c @@ -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); -} diff --git a/sim/h8300/compile.c b/sim/h8300/compile.c index b249080..7b4a5fa 100644 --- a/sim/h8300/compile.c +++ b/sim/h8300/compile.c @@ -5108,13 +5108,6 @@ sim_create_inferior (SIM_DESC sd, struct bfd *abfd, char **argv, char **env) } 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) { sim_callback = ptr; diff --git a/sim/iq2000/sim-if.c b/sim/iq2000/sim-if.c index 0efae1a..e0ff86b 100644 --- a/sim/iq2000/sim-if.c +++ b/sim/iq2000/sim-if.c @@ -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); -} - - - diff --git a/sim/lm32/sim-if.c b/sim/lm32/sim-if.c index 6d3c734..d9bb219 100644 --- a/sim/lm32/sim-if.c +++ b/sim/lm32/sim-if.c @@ -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); -} diff --git a/sim/m32r/sim-if.c b/sim/m32r/sim-if.c index 6235abd..610bd85 100644 --- a/sim/m32r/sim-if.c +++ b/sim/m32r/sim-if.c @@ -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); -} diff --git a/sim/m68hc11/interp.c b/sim/m68hc11/interp.c index b4d17c3..d391286 100644 --- a/sim/m68hc11/interp.c +++ b/sim/m68hc11/interp.c @@ -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 diff --git a/sim/mips/interp.c b/sim/mips/interp.c index 492ae60..edd4250 100644 --- a/sim/mips/interp.c +++ b/sim/mips/interp.c @@ -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 ------------------------------------*/ /*---------------------------------------------------------------------------*/ diff --git a/sim/mn10300/interp.c b/sim/mn10300/interp.c index 1230bf5..e06ae59 100644 --- a/sim/mn10300/interp.c +++ b/sim/mn10300/interp.c @@ -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. */ diff --git a/sim/sh64/sim-if.c b/sim/sh64/sim-if.c index 3c3ce6e..b85f20c 100644 --- a/sim/sh64/sim-if.c +++ b/sim/sh64/sim-if.c @@ -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. */ diff --git a/sim/v850/interp.c b/sim/v850/interp.c index 21b587e..2c11307 100644 --- a/sim/v850/interp.c +++ b/sim/v850/interp.c @@ -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); - } -} -- 1.7.5.3