Add org.gnu.gdb.i386.avx.
[deliverable/binutils-gdb.git] / sim / common / sim-model.h
index 287e4bb4f65f3596233fe0b5fc0205cf0cbe5dbd..3ad3d1b47effc153d19f6c53f8d39bae6de27405 100644 (file)
@@ -1,22 +1,22 @@
 /* Architecture, machine, and model support.
-   Copyright (C) 1997, 1998 Free Software Foundation, Inc.
+   Copyright (C) 1997, 1998, 1999, 2007, 2008, 2009, 2010
+   Free Software Foundation, Inc.
    Contributed by Cygnus Support.
 
 This file is part of GDB, the GNU debugger.
 
 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 2, or (at your option)
-any later version.
+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, write to the Free Software Foundation, Inc.,
-59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+You should have received a copy of the GNU General Public License
+along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 /* Nomenclature:
    architecture = one of sparc, mips, sh, etc.
@@ -79,6 +79,9 @@ typedef struct {
   /* This is the argument to bfd_scan_arch.  */
   const char *bfd_name;
 #define MACH_BFD_NAME(m) ((m)->bfd_name)
+  enum mach_attr num;
+#define MACH_NUM(m) ((m)->num)
+
   int word_bitsize;
 #define MACH_WORD_BITSIZE(m) ((m)->word_bitsize)
   int addr_bitsize;
@@ -96,6 +99,11 @@ typedef struct {
   /* Called by sim_model_set when the model of a cpu is set.  */
   void (* init_cpu) (sim_cpu *);
 #define MACH_INIT_CPU(m) ((m)->init_cpu)
+
+  /* Initialize the simulator engine for this cpu.
+     Used by cgen simulators to initialize the insn descriptor table.  */
+  void (* prepare_run) (sim_cpu *);
+#define MACH_PREPARE_RUN(m) ((m)->prepare_run)
 } MACH;
 
 /* A model (implementation) of a machine.  */
@@ -125,8 +133,9 @@ extern const MACH *sim_machs[];
 extern MODULE_INSTALL_FN sim_model_install;
 
 /* Support routines.  */
-extern void sim_model_set (SIM_DESC sd, sim_cpu *cpu, const MODEL *model);
-extern const MODEL * sim_model_lookup (const char *name);
-extern const MACH * sim_mach_lookup (const char *name);
+extern void sim_model_set (SIM_DESC sd_, sim_cpu *cpu_, const MODEL *model_);
+extern const MODEL * sim_model_lookup (const char *name_);
+extern const MACH * sim_mach_lookup (const char *name_);
+extern const MACH * sim_mach_lookup_bfd_name (const char *bfd_name_);
 
 #endif /* SIM_MODEL_H */
This page took 0.023211 seconds and 4 git commands to generate.