* Make-common.in (SIM_NEW_COMMON_OBJS): New variable.

* sim-base.h (CIA_ADDR): Provide default definition.
This commit is contained in:
Doug Evans 1997-11-18 23:55:33 +00:00
parent 590fc16693
commit e5ce1670c1
3 changed files with 51 additions and 2 deletions

View File

@ -1,3 +1,9 @@
Tue Nov 18 15:53:45 1997 Doug Evans <devans@canuck.cygnus.com>
* Make-common.in (SIM_NEW_COMMON_OBJS): New variable.
* sim-base.h (CIA_ADDR): Provide default definition.
Mon Nov 17 14:15:31 1997 Doug Evans <devans@seba.cygnus.com>
* Make-common.in (srccom): New variable.

View File

@ -125,6 +125,33 @@ SIM_EXTRA_INSTALL =
# Dependency of `clean' to clean any extra files.
SIM_EXTRA_CLEAN =
# Every time a new general purpose source file was added every target's
# Makefile.in needed to be updated to include the file in SIM_OBJS.
# This doesn't scale.
# This variable specifies all the generic stuff common to the newer simulators.
# Things like sim-reason.o can't go here as the cpu may provide its own
# (though hopefully in time that won't be so). Things like sim-bits.o can go
# here. Some files are used by all simulators (e.g. callback.o).
# Those files are specified in LIB_OBJS below.
SIM_NEW_COMMON_OBJS = \
sim-bits.o \
sim-break.o \
sim-config.o \
sim-core.o \
sim-endian.o \
sim-events.o \
sim-fpu.o \
sim-io.o \
sim-load.o \
sim-memopt.o \
sim-module.o \
sim-options.o \
sim-profile.o \
sim-trace.o \
sim-utils.o \
sim-watch.o
## End COMMON_PRE_CONFIG_FRAG
## COMMON_POST_CONFIG_FRAG

View File

@ -62,9 +62,16 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#ifndef NULL_CIA
#define NULL_CIA ((sim_cia) 0)
#endif
/* Return the current instruction address as a number.
Some targets treat the current instruction address as a struct
(e.g. for delay slot handling). */
#ifndef CIA_ADDR
#define CIA_ADDR(cia) (cia)
#endif
#ifndef INVALID_INSTRUCTION_ADDRESS
#define INVALID_INSTRUCTION_ADDRESS ((address_word)0 - 1)
#endif
typedef struct _sim_cpu sim_cpu;
#include "sim-module.h"
@ -80,7 +87,9 @@ typedef struct _sim_cpu sim_cpu;
#include "sim-engine.h"
#include "sim-watch.h"
#include "sim-memopt.h"
#ifdef SIM_HAVE_BREAKPOINTS
#include "sim-break.h"
#endif
/* Global pointer to current state while sim_resume is running.
On a machine with lots of registers, it might be possible to reserve
@ -153,6 +162,10 @@ typedef struct {
int verbose_p;
#define STATE_VERBOSE_P(sd) ((sd)->base.verbose_p)
/* Non cpu-specific trace data. See sim-trace.h. */
TRACE_DATA trace_data;
#define STATE_TRACE_DATA(sd) (& (sd)->base.trace_data)
/* If non NULL, the BFD architecture specified on the command line */
const struct bfd_arch_info *architecture;
#define STATE_ARCHITECTURE(sd) ((sd)->base.architecture)
@ -220,13 +233,16 @@ typedef struct {
sim_watchpoints watchpoints;
#define STATE_WATCHPOINTS(sd) (&(sd)->base.watchpoints)
/* Pointer to list of breakpoints */
struct sim_breakpoint *breakpoints;
#define STATE_BREAKPOINTS(sd) ((sd)->base.breakpoints)
/* Marker for those wanting to do sanity checks.
This should remain the last member of this struct to help catch
miscompilation errors. */
int magic;
#define SIM_MAGIC_NUMBER 0x4242
#define STATE_MAGIC(sd) ((sd)->base.magic)
} sim_state_base;