]> Git Repo - binutils.git/blobdiff - sim/common/sim-config.h
2004-01-23 David Carlton <[email protected]>
[binutils.git] / sim / common / sim-config.h
index f09eb98a8dfff733d8575ccf1f226866ad491845..f874b886de84d1e3c5b6f48018b9223312be4b78 100644 (file)
@@ -1,26 +1,30 @@
-/*  This file is part of the program psim.
+/* The common simulator framework for GDB, the GNU Debugger.
 
-    Copyright (C) 1994-1995, Andrew Cagney <[email protected]>
+   Copyright 2002 Free Software Foundation, Inc.
 
-    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 of the License, or
-    (at your option) any later version.
+   Contributed by Andrew Cagney and Red Hat.
 
-    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.
-    */
+   This file is part of GDB.
 
+   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 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.  */
+
+
+#ifndef SIM_CONFIG_H
+#define SIM_CONFIG_H
 
-#ifndef _PSIM_CONFIG_H_
-#define _PSIM_CONFIG_H_
 
 /* Host dependant:
 
@@ -55,7 +59,6 @@
 
 #if defined(__linux__)
 # include <endian.h>
-# include <asm/byteorder.h>
 # if defined(__LITTLE_ENDIAN) && !defined(LITTLE_ENDIAN)
 #  define LITTLE_ENDIAN __LITTLE_ENDIAN
 # endif
 
 /* INSERT HERE - additional hosts that do not have LITTLE_ENDIAN and
    BIG_ENDIAN definitions available.  */
+\f
+/* Until devices and tree properties are sorted out, tell sim-config.c
+   not to call the tree_find_foo fns.  */
+#define WITH_TREE_PROPERTIES 0
 
 
 /* endianness of the host/target:
@@ -272,7 +279,7 @@ extern int current_target_byte_order;
    The actual number of processors is taken from the device
    /options/smp@<nr-cpu> */
 
-#if defined (WITH_SMP) && WITH_SMP > 0
+#if defined (WITH_SMP) && (WITH_SMP > 0)
 #define MAX_NR_PROCESSORS              WITH_SMP
 #endif
 
@@ -281,19 +288,28 @@ extern int current_target_byte_order;
 #endif
 
 
-/* Word size of host/target:
+/* Size of target word, address and OpenFirmware Cell:
 
-   Set these according to your host and target requirements.  At this
-   point in time, I've only compiled (not run) for a 64bit and never
-   built for a 64bit host.  This will always remain a compile time
-   option */
+   The target word size is determined by the natural size of its
+   reginsters.
+
+   On most hosts, the address and cell are the same size as a target
+   word.  */
 
 #ifndef WITH_TARGET_WORD_BITSIZE
-#define WITH_TARGET_WORD_BITSIZE        32 /* compiled only */
+#define WITH_TARGET_WORD_BITSIZE        32
+#endif
+
+#ifndef WITH_TARGET_ADDRESS_BITSIZE
+#define WITH_TARGET_ADDRESS_BITSIZE    WITH_TARGET_WORD_BITSIZE
 #endif
 
-#ifndef WITH_HOST_WORD_BITSIZE
-#define WITH_HOST_WORD_BITSIZE         32 /* 64bit ready? */
+#ifndef WITH_TARGET_CELL_BITSIZE
+#define WITH_TARGET_CELL_BITSIZE       WITH_TARGET_WORD_BITSIZE
+#endif
+
+#ifndef WITH_TARGET_FLOATING_POINT_BITSIZE
+#define WITH_TARGET_FLOATING_POINT_BITSIZE 64
 #endif
 
 
@@ -321,16 +337,17 @@ extern int current_target_byte_order;
    setting these to specific values, the build process is able to
    eliminate non relevent environment code.
 
-   CURRENT_ENVIRONMENT specifies which of vea or oea is required for
+   STATE_ENVIRONMENT(sd) specifies which of vea or oea is required for
    the current runtime.
 
    ALL_ENVIRONMENT is used during configuration as a value for
    WITH_ENVIRONMENT to indicate the choice is runtime selectable.
    The default is then USER_ENVIRONMENT [since allowing the user to choose
    the default at configure time seems like featuritis and since people using
-   OPERATING_ENVIRONMENT have more to worry about than selecting the default].
-   ALL_ENVIRONMENT is also used to set `current_environment' to the
-   "unknown" state.  */
+   OPERATING_ENVIRONMENT have more to worry about than selecting the
+   default].
+   ALL_ENVIRONMENT is also used to set STATE_ENVIRONMENT to the
+   "uninitialized" state.  */
 
 enum sim_environment {
   ALL_ENVIRONMENT,
@@ -354,11 +371,6 @@ enum sim_environment {
                             ? WITH_ENVIRONMENT \
                             : USER_ENVIRONMENT)
 
-extern enum sim_environment current_environment;
-#define CURRENT_ENVIRONMENT (WITH_ENVIRONMENT != ALL_ENVIRONMENT \
-                            ? WITH_ENVIRONMENT \
-                            : current_environment)
-
 
 /* Callback & Modulo Memory.
 
@@ -569,13 +581,17 @@ extern int current_stdio;
 #endif
 
 
-/* complete/verify/print the simulator configuration */
+/* Set the default state configuration, before parsing argv.  */
 
-extern SIM_RC sim_config
-(SIM_DESC sd);
+extern void sim_config_default (SIM_DESC sd);
 
+/* Complete and verify the simulator configuration.  */
+
+extern SIM_RC sim_config (SIM_DESC sd);
+
+/* Print the simulator configuration.  */
 
 extern void print_sim_config (SIM_DESC sd);
 
 
-#endif /* _PSIM_CONFIG_H */
+#endif
This page took 0.028201 seconds and 4 git commands to generate.