Doug Evans
39813256da
* cgen-sim.h (cgen_state): New member opcode_table.
...
* cgen-utils.c (sim_disassemble_insn): Use it.
1998-08-03 18:45:06 +00:00
Doug Evans
63542cbcc0
* cgen-mem.h (DECLARE_SETT): Fix return type.
1998-07-24 19:44:04 +00:00
Doug Evans
f3ccb5a785
* sim-model.c (model_option_handler): Remove unused variable `n'.
1998-07-24 17:16:02 +00:00
Ian Lance Taylor
965f532708
remove d30v sanitization
1998-07-24 04:38:45 +00:00
Doug Evans
cac4e5a481
* cgen-utils.c: Include bfd.h.
...
(sim_disassemble_insn): Update call to CGEN_EXTRACT_FN.
1998-07-21 23:26:53 +00:00
Andrew Cagney
9483af2c61
Add a printf fmt style version of sim_events_schedule.
...
This allows the caller to specify extra trace information that is
only evaluated when tracing is enabled.
1998-07-08 08:00:36 +00:00
Jeff Law
658fb0c743
* sim-bits.h (EXTEND24): Define.
1998-07-06 21:55:37 +00:00
Doug Evans
039fa2c847
* cgen-sim.h (CPU_SCACHE): Make size unsigned.
...
(CPU_SCACHE_HASH_MASK): New macro.
(SCACHE_HASH_PC): Rewrite.
* genmloop.sh (engine_resume_{full,fast}): Move some of hash
computation out of main loop.
1998-07-03 00:14:49 +00:00
Doug Evans
6de2add29f
* Make-common.in (SCHEME,SCHEMEFLAGS): Delete.
...
(CGENDIR,CGEN): New variables.
(CGEN_VERBOSE): Renamed to CGENFLAGS.
(cgen-arch,cgen-cpu,cgen-decode): Update.
(CGEN_CPU_WRITE): New variable.
(CGEN_CPU_SEMSW): -W -> -X.
(CGEN_FLAGS_TO_PASS): Delete SCHEME. Add CGEN,CGENFLAGS.
* cgen.sh: Delete args scheme,schemeflags. New arg cgen.
* cgen-sim.h (RECORD_IADDR): Delete.
* cgen-types.h (HOSTINT,HOSTUINT,HOSTPTR): New types.
* genmloop.sh (engine_resume_{full,fast}): Delete icount.
1998-07-01 23:47:50 +00:00
Andrew Cagney
67574b9cea
Re-do sim-inline's handling of external functions and variables so
...
that there really is only one instance of them.
1998-06-17 07:42:53 +00:00
Doug Evans
403bed787e
* cgen-trace.c (trace_insn_fini): Redo cycle handling.
...
* sim-profile.h (PROFILE_DATA): Rename cycle handling members.
* sim-profile.c (profile_print_model): Update.
1998-06-13 14:47:51 +00:00
Doug Evans
af2b0c8593
* gennltvals.def (m32r): Use common syscall.h now.
...
(mn10300): Add entry.
* nltvals.def: Regenerate.
1998-06-13 01:39:44 +00:00
Doug Evans
68096722d9
* sim-engine.c (sim_engine_get_run_state): New function.
...
* sim-engine.h (sim_engine_get_run_state): Declare it.
1998-06-12 20:08:50 +00:00
Doug Evans
169c74762a
* sim-core.h (SIM_CORE_SIGNAL_FN): New typedef.
...
* sim-core.c (sim_core_signal): Make extern, always define.
1998-06-11 07:55:29 +00:00
Doug Evans
a27a2a8de4
* Make-common.in (CGEN_FLAGS_TO_PASS): New variable.
...
* cgen-ops.h (ANDIF): New macro.
(ANDIF[BQHSD]I): Delete.
1998-06-10 23:03:55 +00:00
Andrew Cagney
05f6bf9cea
Memory corruption problems - hw-event list wasn't correct
...
unlinking/freeing events. Couldn't handle the removal of a hw-event
that just been scheduled.
1998-06-04 06:33:02 +00:00
Andrew Cagney
451a9c0587
Pull in preliminary versions of hw instances and handles from ../ppc
1998-05-25 11:33:28 +00:00
Andrew Cagney
48f83b1a2e
Make hw-main.h the main header file for H/W devices. Like sim-main.h
...
Update dv-*.c
Replace *_callback with more correct. *_method. Update dv-*.c
1998-05-25 11:06:29 +00:00
Andrew Cagney
c14db36dbb
Add files hw-alloc.[hc] (mising from last CI)
...
Move set_* macro's from hw-base to hw-device.
1998-05-25 08:50:22 +00:00
Andrew Cagney
325a1ba876
Initialize/destory hw-properties within the hw-device.
1998-05-25 08:29:05 +00:00
Andrew Cagney
69be0d4cb8
Split out hw-alloc code. Add constructor and destructor for hw-alloc.
1998-05-25 08:18:03 +00:00
Andrew Cagney
39e953a722
Split out hw-event code. Clean up interface. Update all users.
1998-05-25 07:37:30 +00:00
Andrew Cagney
2f06c437e2
Clean up create/delete of hw-ports
1998-05-25 07:08:48 +00:00
Andrew Cagney
f675744718
* hw-device.c (hw_ioctl), hw-device.h (hw_ioctl_callback): Drop
...
PROCESSOR and CIA arguments.
1998-05-25 06:44:39 +00:00
Andrew Cagney
1e1dcdf0d9
De-sanitize simulator hw.
1998-05-25 06:20:43 +00:00
Andrew Cagney
f872d0d643
Only enable H/W on some mips targets.
...
Move common hw-obj to Make-common
Pacify GCC
1998-05-22 05:23:04 +00:00
Andrew Cagney
643878d017
* sim-hw.c: Include ctype.h.
...
(do_hw_poll_read): Do not assume EAGAIN.
1998-05-21 08:17:31 +00:00
Doug Evans
6f7833f035
* cgen-trace.c (first_insn_p): New static local.
...
(trace_insn_init): Set it.
(trace_insn_fini): Use TRACE_PREFIX.
(trace_insn): Rewrite to use trace_prefix.
* sim-trace.c (trace_prefix): Don't print filename arg if NULL.
Adjust width accordingly.
* sim-profile.h (PROFILE_DATA): New member profile_any_p.
(PROFILE_ANY_P,PROFILE_INSN_P,PROFILE_MEMORY): New macros.
(PROFILE_SCACHE_P,PROFILE_PC_P,PROFILE_CORE_P): New macros.
(PROFILE_COUNT_INSN,PROFILE_COUNT_READ,PROFILE_COUNT_WRITE): Simplify.
(PROFILE_COUNT_CORE): Simplify.
* sim-profile.c (profile_option_handler): Compute profile_any_p.
1998-05-20 11:43:00 +00:00
Doug Evans
6f1cadd0ce
* cgen-ops.h (ADDCFSI): Fix typo.
1998-05-20 07:01:05 +00:00
Doug Evans
991238c82b
* cgen-sim.h (CGEN_CPU): New members idesc_{read,sem}_init_p.
...
* genmloop.sh: Use them rather than static locals.
1998-05-17 00:50:07 +00:00
Doug Evans
ebd58f4dde
* sim-engine.c (sim_engine_set_run_state): New function.
...
* sim-engine.h (sim_engine_set_run_state): Declare.
* genmloop.sh (pending_reason,pending_sigrc): New static locals.
(@cpu@_engine_stop): New args reason,sigrc. All callers updated.
(engine_resume): Reorganize. Allow synchronous exit from main loop.
1998-05-16 19:51:12 +00:00
Doug Evans
bcb829fdbd
* cgen-trace.c (trace_insn_init): New arg first_p.
...
All callers updated.
(trace_insn_fini): New arg last_p. All callers updated.
* cgen-trace.h (trace_insn_init,trace_insn_fini): Update.
(TRACE_INSN_INIT,TRACE_INSN_FINI): Update.
* genmloop.sh (engine_resume): Update.
1998-05-15 23:31:22 +00:00
Joyce Janczyn
6cad239558
Run ranlib on installed copy of libsim.a.
1998-05-15 20:06:08 +00:00
Joyce Janczyn
08bae91baa
Install libsim.a $(exec_prefix)/lib/lib[target]-sim.a as part of install-sim.
1998-05-15 19:05:28 +00:00
Doug Evans
433a8eafaa
* Make-common (sim_main_headers): Sort.
...
(cgen-*.o): Add cgen-sim.h dependency.
* sim-cpu.h: New file. sim_cpu_base moved here.
Move sim_cpu_lookup decl here.
* sim-base.h: #include "sim-cpu.h".
* sim-cpu.c: New file.
* Make-common (sim_main_headers): Add sim-cpu.h.
(sim-cpu.o): Add rule for.
1998-05-07 02:08:05 +00:00
Doug Evans
109e611125
* sim-io.c: #include <errno.h>.
1998-05-06 17:13:25 +00:00
Andrew Cagney
844f40d393
Copy polling code in PSIM simulator into common directory. Will
...
need rewrite later. Use in mn10300 simulator.
1998-05-06 03:32:12 +00:00
Doug Evans
ca118edaff
Fix sanitization.
1998-05-05 00:24:16 +00:00
Andrew Cagney
03f3bfdb7a
*) Delete CPU and CIA arguments from hw_io_*_buffer transfers.
...
Instead save them in the sim_hw structure.
*) Route sim-core accesses to hw devices through the sim_hw module.
*) Route hw device requests to abort/halt through the sim_hw module.
*) Add print parameter to hw_tree_print() function.
*) Add sim_engine_vabort () function.
1998-05-01 07:58:47 +00:00
Andrew Cagney
e7439596fc
Add 2-result FP trace macro.
...
Dump hex value of floating-point numbers
1998-04-30 10:55:09 +00:00
Geoffrey Noer
9d45df1b8c
Tue Apr 28 18:28:58 1998 Geoffrey Noer <noer@cygnus.com>
...
* common/aclocal.m4: call AM_EXEEXT in SIM_AC_COMMON, define
AM_CYGWIN32 and AM_EXEEXT.
* common/Make-common.in: set EXEEXT, add missing EXEEXTs
to run and install-common rules.
* common/configure: regenerate
And update all subdirectory ChangeLogs and configure files.
1998-04-29 01:44:23 +00:00
Andrew Cagney
f68cdf65e8
Clean up cell types.
1998-04-27 07:13:00 +00:00
Tom Tromey
56df89bcf6
* configure: Regenerated to track ../common/aclocal.m4 changes.
...
* config.in: Ditto.
* acconfig.h (NEED_DECLARATION_PRINTF): Removed.
1998-04-26 21:39:16 +00:00
Tom Tromey
fc4198bbb5
* configure: Regenerated to track ../common/aclocal.m4 changes.
...
* config.in: Ditto.
* acconfig.h: New file.
* Make-common.in (top_builddir): New macro.
(INTL_LIB): Removed.
(INTLLIBS): New macro.
(INTLDEPS): Likewise.
(LIBDEPS): Use INTLDEPS.
(EXTRA_LIBS): Use INTLLIBS.
* aclocal.m4 (SIM_AC_COMMON): Call CY_GNU_GETTEXT.
(CY_WITH_NLS, CY_GNU_GETTEXT, AM_PATH_PROG_WITH_TEST,
AM_LC_MESSAGES): New macros from GNU gettext.
1998-04-24 20:51:56 +00:00
Andrew Cagney
d32658fe26
Drop leading `_' from macros.
1998-04-24 09:59:22 +00:00
Doug Evans
1e114b0add
Delete sky sim-base.h entries (required sanitization).
1998-04-22 21:05:19 +00:00
James Lemke
aefd02b523
Move target specific stuff from sim/common/sim-base.h to sim/mips/sim-main.h
1998-04-22 20:41:04 +00:00
Michael Meissner
3618a6e972
Add intl support
1998-04-22 18:19:01 +00:00
James Lemke
bd3aa7cbc7
sim-base.h: Add configure option --with-sim-funit.
1998-04-21 21:19:45 +00:00
Doug Evans
8bb5064edd
* cgen-ops.h (ADDCFSI): Fix.
...
(SUBCFSI): Tweak.
PR 15741.
1998-04-21 19:52:02 +00:00
Doug Evans
404d4ee153
* cgen-types.h (GETHIDI,MAKEDI): Tweak.
1998-04-21 19:49:42 +00:00
Andrew Cagney
97f4d18341
Implement ERET instruction.
...
Add {signed,unsigned}_address type.
1998-04-21 04:30:27 +00:00
Andrew Cagney
7d93d53871
o CVT.S.W and CVT.W.S were reversed
...
o When unpacking an r5900 FP value,
was not treating IEEE-NaN's as very
large values.
o When packing an r5900 FP result from an infinite
precision intermediate value was saturating
to IEEE-MAX instead of r5900-MAX
o The least significant bit of the FP status
register did not stick to one.
1998-04-16 07:49:58 +00:00
Andrew Cagney
ea5d84f5dc
Add EXTEND11().
1998-04-15 13:50:50 +00:00
Andrew Cagney
7acc4e98d2
Define EXTEND15().
1998-04-15 06:45:19 +00:00
Andrew Cagney
93f967158f
Define EXTEND4() and EXTEND5().
1998-04-15 00:06:50 +00:00
John Metzler
5d71b4bc92
Tue Apr 14 16:31:35 1998 John Metzler <jmetzler@cygnus.com>
...
* sim-memopt.c (parse_addr): Sunos 4.5 does not hane strtol
declared so we need this cast to prevent long long addresses
from being misconfigures. Results in access to unmapped memory.
1998-04-14 23:36:19 +00:00
Doug Evans
b42e7eb361
* Make-common.in (RUNTESTFLAGS): Define.
...
(check): Pass RUNTESTFLAGS to recursive make.
1998-04-14 20:22:07 +00:00
Andrew Cagney
7bf341f4a8
* sim-info.c (sim_info): Be verbose when either VERBOSE or STATE_VERBOSE_P.
1998-04-14 05:16:31 +00:00
Andrew Cagney
64ed8b6a8c
aclocal.m4: Don't enable inlining when cross-compiling.
...
mips/*: Tune mips simulator - allow all memory transfer code to be inlined.
1998-04-05 07:16:54 +00:00
Andrew Cagney
278bda4050
Cleanup INLINE support for simulators using common framework.
...
Make IGEN responsible for co-ordinating inlining of generated files.
By default, aclocal.m4 disabled all inlining.
1998-04-04 12:33:11 +00:00
Andrew Cagney
72a08ce565
Don't bother generating trace prefix string when not tracing.
1998-04-03 17:13:40 +00:00
Andrew Cagney
a1e4dc0db4
* run.c (main): Handle all alternatives of enum sim_stop.
...
(main): Delete unused `asection *s'.
1998-03-30 13:30:10 +00:00
Andrew Cagney
d8f5304972
Do top level sim-hw module for device tree.
...
Add to aclocal.m4, update all configure files.
1998-03-27 11:42:16 +00:00
Andrew Cagney
82ea14fd9d
Define CPU_INDEX. Initialize.
...
For mips_options, iterate over MAX_NR_PROCESSORS when setting options.
1998-03-27 04:25:45 +00:00
Andrew Cagney
6d133cc9df
Add sanitize-am30 markers. Keep details of AM30 implementation of
...
mn10300 out of the public eye.
Do something with top-level cgen directory.
1998-03-27 03:10:53 +00:00
Andrew Cagney
98f1f62cb4
* dv-pal.c (enum hw_pal_address_mask): From Stu Grossman, was 0x2f
...
needs to be 0x3f.
1998-03-25 23:48:14 +00:00
Andrew Cagney
04cdafa7a4
* hw-tree.c (hw_tree_find_property): Return NULL when device is not found.
...
(hw_tree_find_*_property): Clean up error message when property is not found.
* dv-pal.c (hw_pal_io_read_buffer): Check the smp property is present before
looking for it.
1998-03-25 22:37:33 +00:00
Ian Carmichael
8d0bd9889c
* Added HAVE_FPU_CONTROL_H and HAVE___SETFPUCW to fix non-linux builds.
1998-03-25 21:54:06 +00:00
Andrew Cagney
05d7918e53
* dv-pal.c (hw_pal_countdown, hw_pal_countdown_value,
...
hw_pal_timer, hw_pal_timer_value): Define.
(hw_pal_io_read_buffer, hw_pal_io_write_buffer): Add timer support
(do_counter_event, do_counter_read, do_counter_value,
do_counter_write): new functions.
* hw-tree.c (hw_printf): Send tree dump to stderr, same as other
trace output.
* hw-base.c (hw_create): Stop searching for a device when one is
found.
1998-03-25 03:44:37 +00:00
Andrew Cagney
d89fa2d80a
Re-do --enable-sim-hardware so that each simulator can specify the devices
...
it wants built.
Generate hw-config.h.
1998-03-25 01:41:33 +00:00
Stu Grossman
63330b2e2e
* Make-common.in: Get SHELL from configure.
...
* (stamp-tvals sim-inline.c): Use $(SHELL) when invoking
move-if-change. Fixes NT native build problem.
* Makefile.in (nltvals.def): Use $(SHELL) when invoking
move-if-change. Fixes NT native build problem.
* configure: Regenerate with autoconf 2.12.1 to fix shell issues for
NT native builds.
1998-03-24 17:48:58 +00:00
Andrew Cagney
7c130f2971
New function hw_strdup() - use memory tied to hw device.
...
Tidy up hw-properties error messages.
New device dv-glue.c (copied from ../ppc/hw_glue.)
Only attach a port after a devices initialization has finished.
1998-03-22 22:33:34 +00:00
Andrew Cagney
b2846e630d
Fix typos: Setting trace in wrong function, ME vs HW.
1998-03-22 05:51:57 +00:00
Andrew Cagney
775b309a4e
Copy function ../ppc/device_table.c:generic_device_init_address() to
...
hw-base.c:do_hw_attach_regs(). Use in dv-pal.
Add hw_tree_delete to hw-tree.c.
1998-03-22 05:49:30 +00:00
Andrew Cagney
937a4bdc12
Add function hw_trace() and macro HW_TRACE - provides trace support
...
for HW devices.
1998-03-22 05:33:41 +00:00
Andrew Cagney
e5f0d498af
Add hw_{malloc,zalloc,free} functions to hw_device. Any memory
...
allocated using these functions is reclaimed when the corresponding
device is deleted.
1998-03-22 05:06:27 +00:00
Andrew Cagney
b1e9223cee
Replace *attach_address() arguments SPACEMASK:ADDR with SPACE:ADDR.
...
Add notes to hw-device.h that discuss the interpretation of SPACE:ADDR
on a BUS.
1998-03-22 04:18:52 +00:00
Andrew Cagney
ae7c344679
Prototype common device framework. Plenty more work to go.
1998-03-18 04:08:21 +00:00
Andrew Cagney
9a8e61f1d4
* aclocal.m4 (SIM_AC_OPTION_HARDWARE): Set sim_hw_obj, sim_dv_obj,
...
sim_dv_src in Makefile. Take list of devices as parameter to m4
macro..
* configure: Regenerated to track ../common/aclocal.m4 changes.
1998-03-18 02:07:56 +00:00
Andrew Cagney
a8ff502679
Pass sim_cia cia into trace_prefix()
1998-03-16 03:44:33 +00:00
Doug Evans
84c6d152d1
* dv-sockser.c, dv-sockser.h: New files.
...
* Make-common.in (dv-sockser.o): Add rule for.
* aclocal.m4: Check for fcntl.h.
* config.h: Add HAVE_FCNTL_H.
* sim-break.c (remove_breakpoint): Fix thinko.
* sim-hload.c (sim_load): Provide default value of SIM_HANDLES_LMA.
Use SIM_HANDLES_LMA for lma_p arg to sim_load_file.
1998-03-15 02:43:00 +00:00
Fred Fish
93f75411f6
* sim-base.h (struct sim_state_base): Add prog_syms and
...
define macro STATE_PROG_SYMS.
* sim-trace.c (trace_one_insn): Add variables abfd, symsize,
symbol_count, and asymbols. Call bfd_get_symtab_upper_bound
and bfd_canonicalize_symtab, to get symbol table on first use
and preserve it via STATE_PROG_SYMS for future calls to
bfd_find_nearest_line.
1998-03-13 20:39:00 +00:00
Angela Marie Thomas
2b9cac47f5
massive sanitization fixes
1998-03-13 13:09:32 +00:00
Andrew Cagney
eefc25e592
Allow more than just read, write and exec memory spaces in the core
...
module.
1998-03-11 12:18:39 +00:00
Doug Evans
bda9d8a33c
* sim-base.h (sim_state_base): New member environment.
...
(STATE_ENVIRONMENT): New macro.
* sim-config.c (current_environment): Delete.
(sim_config_default): New function.
(sim_config): Set STATE_ENVIRONMENT, not current_environment.
* sim-config.h (current_environment,CURRENT_ENVIRONMENT): Delete.
(sim_config_default): Add prototype.
* sim-module.c (sim_pre_argv_init): Call sim_config_default.
* sim-options.c (standard_option_handler, case OPTION_ENVIRONMENT):
Set STATE_ENVIRONMENT, not current_environment.
1998-03-09 21:04:28 +00:00
Jim Wilson
c391655e30
Patch to fix irix6-x-mips64-elf simulator failures.
...
* sim-fpu.c (NR_GUARDS64): Change NR_PAD32 to NR_PAD64.
1998-03-09 19:59:52 +00:00
Doug Evans
e4726e6dfc
* sim-core.c (sim_core_attach): Use xmalloc instead of zalloc.
...
Use 0xa5 as initial value.
(sim_core_map_detach): Use free instead of zfree.
Back out this change.
1998-03-04 02:05:06 +00:00
Andrew Cagney
3cdda79a7c
* sim-types.h (SIGNED32, SIGNED64): Pacify GCC.
...
* sim-alu.h (ALU64_BEGIN): Make alu64_r unsigned.
1998-03-03 05:34:31 +00:00
Doug Evans
aca1adeee5
Fix typos.
1998-03-03 01:54:22 +00:00
Doug Evans
40d160dd18
* Make-common.in (TAGS): Make smarter.
...
* Makefile.in (TAGS): Ditto.
1998-03-03 01:05:23 +00:00
Doug Evans
3d4e34140a
* Make-common.in (TAGS): Make smarter.
1998-03-03 01:04:00 +00:00
Doug Evans
2307e0ee98
Good grief. Detailed function descriptions should accompany their definition.
1998-03-03 00:45:10 +00:00
Doug Evans
84fc6bd9df
(sim_core_attach): Add a comment describing its function.
...
Tweak switch() sanity check.
1998-03-03 00:30:24 +00:00
Doug Evans
b9bcce6732
Improve comment.
1998-03-03 00:10:34 +00:00
Doug Evans
0471756934
* sim-core.c (sim_core_attach): Revise last patch.
...
Use 0xa5 as initial value.
1998-03-02 23:03:32 +00:00
Doug Evans
de13b4cbdb
* sim-core.c (sim_core_attach): Use xmalloc instead of zalloc.
...
(sim_core_map_detach): Use free instead of zfree.
1998-03-02 18:20:39 +00:00
Ron Unrau
aac9328044
(find_match): recheck argv[argi] in multi-word match. Fixes crash when
...
subset words are alone on the command line.
1998-03-01 14:49:50 +00:00
Doug Evans
b0df95bbb3
* sim-module.c (*): Fix typos in assertion tests.
1998-02-28 03:01:52 +00:00
Andrew Cagney
baf8377df8
Pacify GCC: const char * passed to asprintf; int function returning
...
void; unused variable.
1998-02-28 03:01:51 +00:00