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
Mark Alexander
7d146b765c
* interf.c (sim_open): Use revamped memory_read, which makes
...
byte-swapping unnecessary. Add -sparclite-board option for
emulating RAM found on typical SPARClite boards. Print
error message for unrecognized option.
* erc32.c: Change RAM address and size from constants to variables,
to allow emulation of SPARClite board RAM.
(fetch_bytes, store_bytes): New helper functions for revamped
mememory_read and memory_write.
(memory_read, memory_write): Rewrite to store bytes in target
byte order instead of storing words in host byte order; this
greatly simplifies support of little-endian programs.
(get_mem_ptr): Remove unnecessary byte parameter.
(sis_memory_write, sis_memory_read): Store words in target
byte order instead of host byte order.
(byte_swap_words): Remove, no longer needed.
* sis.h ((byte_swap_words): Remove declaration, no longer needed.
(memory_read): Add new sz parameter.
* sis.c (run_sim): Use revamped memory_read, which makes
byte-swapping unnecessary.
* exec.c (dispatch_instruction): Use revamped memory_read, which
makes byte-swapping and double-word fetching unnecessary.
* func.c (sparclite_board): Declare new variable.
(get_regi): Handle little-endian data.
(bfd_load): Recognize little-endian SPARClite as having
little-endian data.
1998-06-02 22:43:46 +00:00
Nick Clifton
e3ace30a61
Allow simulator to work with Angel SWIs.
1998-06-02 22:23:52 +00:00
Ian Carmichael
4979c0a271
* Move the sanitize comments to the right place.
1998-06-02 21:04:49 +00:00
Ian Carmichael
8e3a0b599f
* SYSCALL now uses exception vector.
...
* SKY: New memory mapping rules for k1seg, k0seg.
* Modified Files: ChangeLog.sky ChangeLog interp.c sim-main.c
1998-06-02 19:53:36 +00:00
Jason Molenda
7d449b448b
Mon Jun 1 17:14:19 1998 Anthony Thompson (athompso@cambridge.arm.com)
...
* armos.c (ARMul_OSHandleSWI::SWI_Open): Handle special case
of ":tt" to catch stdin in addition to stdout.
(ARMul_OSHandleSWI::SWI_Seek): Return 0 or 1 to indicate failure
or success of lseek().
From PR 15839, modified a bit by me to appease my sense of style--but
not too much because I am lazy.
1998-06-02 00:18:31 +00:00
Frank Ch. Eigler
29b5afe9af
* Small TX39-only patch for ECC.
...
Mon Jun 1 18:18:26 1998 Frank Ch. Eigler <fche@cygnus.com>
* interp.c (decode_coproc): For TX39, add stub COP0 register #3 ,
to allay warnings.
1998-06-01 16:29:43 +00:00
Jeff Law
fb0ea2b9e1
* r5900.igen (rsqrt.s): Update based on r5900 ISA manual version 2.1.
...
(sqrt.s): Likewise.
1998-06-01 16:29:42 +00:00
Frank Ch. Eigler
22134bdb43
* sky test suite fixes.
...
Mon Jun 1 18:54:22 1998 Frank Ch. Eigler <fche@cygnus.com>
* lib/sim-defs.exp (sim_run): Add possible environment variable
list to simulator run.
start-sanitize-sky
* sim/sky/sky-defs.tcl: Use it.
* sim/sky/t-pke2.vif1out: Update to match recent word-precise
tracking table change in sim/mips/sky-pke.c.
* sim/sky/t-pke3.trc: Ditto.
* sim/sky/t-pke4.vif0expect: Ditto.
end-sanitize-sky
Mon May 18 10:37:47 1998 Doug Evans <devans@canuck.cygnus.com>
1998-06-01 16:09:52 +00:00
Andrew Cagney
df26156d68
Match mips*tx39 not mipst*tx39.
1998-05-29 01:42:20 +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
ce82378189
Fix mips SWL on 64bit ISA when 32 bit word appears in second half of
...
64 bit bus.
Test.
1998-05-25 05:48:34 +00:00
Ron Unrau
aa81c3ca99
* Initial support for "sim list vif[01]"
1998-05-24 13:06:09 +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
32d41f6ddb
Sanity clause
1998-05-22 02:08:26 +00:00
Andrew Cagney
56833aba59
Back out of hw-main _callback -> _descriptor changes
1998-05-22 01:12:06 +00:00
Gavin Romig-Koch
5e34097b8b
gencode.c: Mark BEGEZALL as LIKELY.
1998-05-21 18:26:38 +00:00
Patrick Macdonald
fab0ee0d0b
* interp.c: modified name of GIF device
...
* sky-gpuif.[ch]: IMT burst support and queue manipulation ( see
ChangeLog.sky for complete details )
* sky-gs.c: modified name of GIF device
1998-05-21 15:41:35 +00:00
Andrew Cagney
26feb3a83d
Fix sign extension on 32 bit add/sub instructions.
1998-05-21 09:32:07 +00:00
Andrew Cagney
8404825993
* interp.c (sim_fetch_register): Convert internal r5900 regs to
...
target byte order
1998-05-21 08:18:21 +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
Jillian Ye
e0459470a9
c_gen.pl: Added subroutine "print_comment"
...
and on/off option for "src line #"
1998-05-20 22:14:16 +00:00
Doug Evans
66f1864d7e
* m32r-sim.h (PROFILE_COUNT_PARINSNS): New macro.
...
* mloopx.in (extract): Set abuf.addr for proper fill nop counting.
(execute): Count parallel insns.
* sim-if.c (print_m32r_misc_cpu): Print count.
* sim-main.h (M32R_MISC_PROFILE): New member parallel_count.
1998-05-20 11:59:32 +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
6ebf4a9559
Zero bottom two bits of pc in jmp,jl insns.
...
* sem.c,sem-switch.c: Regenerate.
* semx.c: Regenerate.
1998-05-20 07:54:31 +00:00
Doug Evans
6f1cadd0ce
* cgen-ops.h (ADDCFSI): Fix typo.
1998-05-20 07:01:05 +00:00
Doug Evans
f99354d0c0
* sim-if.c (do_trap): Treat traps 2-15 as hardware does.
1998-05-19 23:52:23 +00:00
Doug Evans
496b3694af
* sim/sky/sky.ld: Delete file.
1998-05-18 17:38:48 +00:00
Frank Ch. Eigler
3fa454e95f
* Monster patch - may destablize MIPS sims for a little while.
...
* Followup patch for SCEI PR 15853
* First check-in of TX3904 interrupt controller devices for ECC. [sanitized]
* First implementation of MIPS hardware interrupt emulation.
Mon May 18 18:22:42 1998 Frank Ch. Eigler <fche@cygnus.com>
* configure.in (SIM_AC_OPTION_HARDWARE): Added common hardware
modules. Recognize TX39 target with "mips*tx39" pattern.
* configure: Rebuilt.
* sim-main.h (*): Added many macros defining bits in
TX39 control registers.
(SignalInterrupt): Send actual PC instead of NULL.
(SignalNMIReset): New exception type.
* interp.c (board): New variable for future use to identify
a particular board being simulated.
(mips_option_handler,mips_options): Added "--board" option.
(interrupt_event): Send actual PC.
(sim_open): Make memory layout conditional on board setting.
(signal_exception): Initial implementation of hardware interrupt
handling. Accept another break instruction variant for simulator
exit.
(decode_coproc): Implement RFE instruction for TX39.
(mips.igen): Decode RFE instruction as such.
start-sanitize-tx3904
* configure.in (tx3904cpu,tx3904irc): Added devices for tx3904.
* interp.c: Define "jmr3904" and "jmr3904debug" board types and
bbegin to implement memory map.
* dv-tx3904cpu.c: New file.
* dv-tx3904irc.c: New file.
end-sanitize-tx3904
1998-05-18 15:55: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
17f382c9bf
* erc32.c (close_port): Don't close stdin; it kills GDB.
...
(byte_swap_words): New function.
* sis.h: (byte_swap_words): Declare.
* interf.c (run_sim): Always fetch instructions as big-endian.
* sis.c (run_sim): Ditto.
Move this c/l entry from ../ChangeLog.
1998-05-16 23:07:01 +00:00
Doug Evans
5f4c24c024
* sim-if.c (sim_stop): Update call to @cpu@_engine_stop.
...
(sim_sync_stop): New function.
1998-05-16 20:11:41 +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
882d99e4b6
* sim/m32r/allinsn.exp: Pass --m32rx-enable-special to gas.
...
* sim/m32r/misc.exp: Ditto.
1998-05-16 00:32:09 +00:00
Doug Evans
a8981d6751
* Makefile.in (devices.o): Add dependencies.
...
* arch.h,cpu.c,cpu.h,cpuall.h: Regenerate.
* sem-switch.c,sem.c: Regenerate.
* mloop.in (execute): Update calls to TRACE_INSN_{INIT,FINI}.
* cpux.c,cpux.h,modelx.c,semx.c: Regenerate.
* m32rx.c (m32rx_model_mark_{busy,unbusy}_reg): New functions.
* mloopx.in (execute): Update calls to TRACE_INSN_{INIT,FINI}.
1998-05-15 23:46:24 +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
Mark Alexander
f1a0162a28
* sis.h (uint64, int64): Define.
...
* exec.c (SDIV, SDIVCC, UDIV, UDIVCC): Define new opcodes.
* (mul64): Simplify calculation of negative result.
* (div64): New helper function for 64-bit division.
* (dispatch_instruction): Add emulation of SDIV, SDIVCC, UDIV,
and UDIVCC.
1998-05-15 06:23:04 +00:00
Doug Evans
02a0ec918f
Tweak last entry.
1998-05-15 00:49:37 +00:00
Doug Evans
90ef07f2e5
* config/default.exp (CC,SIM): Delete.
...
* sky-defs.tcl (LDSCRIPT,SIM): Delete.
(run_trc_test): Use sim_compile, sim_run. Only delete temp files
if testcase passed.
(run_brn_test): Ditto.
1998-05-15 00:49:24 +00:00
Doug Evans
1461afc634
* sim/sky/sky.exp: Add runtest_file_p support. Don't print
...
unsupported message if not sky.
* sim/sky/sky_sce.exp: Likewise.
1998-05-14 20:20:59 +00:00
Doug Evans
41ab9a4b7e
* lib/sim-defs.exp (sim_run): Fix handling of output redirection.
...
New arg prog_opts. All callers updated.
1998-05-14 18:50:37 +00:00
Andrew Cagney
3e8c1f2e16
More test cases.
1998-05-14 08:15:05 +00:00
Gavin Romig-Koch
7d2c0e8c97
* r5900.igen: Replace the calls and the definition of the
...
function check_op_hilo_hi1lo1 with the pair
check_mult_hilo_hi1lo1 and check_mult_hilo_hi1lo1.
1998-05-13 18:30:15 +00:00
Gavin Romig-Koch
afc5e7f23a
* tx.igen (madd,maddu): Replace calls to check_op_hilo
...
with calls to check_div_hilo.
1998-05-13 18:14:09 +00:00
Gavin Romig-Koch
94dda41a0c
* mips/mips.igen (check_op_hilo,check_mult_hilo,check_div_hilo):
...
Replace check_op_hilo with check_mult_hilo and check_div_hilo.
Add special r3900 version of do_mult_hilo.
(do_dmultx,do_mult,do_multu): Replace calls to check_op_hilo
with calls to check_mult_hilo.
(do_ddiv,do_ddivu,do_div,do_divu): Replace calls to check_op_hilo
with calls to check_div_hilo.
1998-05-13 14:00:56 +00:00
Andrew Cagney
1a89994e08
* configure.in (SUBTARGET_R3900): Define for mipstx39 target.
...
Document a replacement.
1998-05-12 05:36:47 +00:00
Frank Ch. Eigler
24abdc9d31
* Fixing typo that caused infinite loop upon PKE MPG.
1998-05-11 16:15:22 +00:00
Doug Evans
801354e772
* lib/sim-defs.exp (sim_version): Simplify.
...
(sim_run): Implement.
(run_sim_test): Use sim_run.
(sim_compile): New proc.
1998-05-08 21:42:49 +00:00
Patrick Macdonald
55470cc7ef
* Roll Alpha modifications into devo for sky-gpuif*/ sky-gs*/ interp.c
...
* Complete and informative details can be found in ChangeLog.sky
1998-05-07 19:14:28 +00:00
Frank Ch. Eigler
a1d609b4fe
* Changes to sky PKE sim to calculate word-precision source-addresses
...
for VU memory tracking tables.
Thu May 7 12:15:41 1998 Frank Ch. Eigler <fche@cygnus.com>
* sky-pke.c (pke_pcrel_operand_bits): Compute word-resolution
source address for UNPACK into VU MEM.
(pke_code_mpg): Ditto for MPG into VU uMEM.
1998-05-07 17:50:18 +00:00
Frank Ch. Eigler
53307c2301
* Finish dropping sim/txvu directory.
1998-05-07 14:39:08 +00:00
Ron Unrau
c939ffeb80
Initial Breakpoint support:
...
* sim-main.h: (struct _sim_cpu): add cur_device field.
Define cur_device values, breakpoint value, and SIM_ENGINE_HALT_HOOK
* interp.c (sim_open): initialize cur_device
* sky-engine.c (engine_run): use cur_device to set current_cpu
* sky-libvpe.c (vpecallms_cycle): add check for breakpoint
* sky-hardware.h: delete NUMBER_CPUS
* sky-hardware.c (attach_devices): create a memory mapped comm
area for GDB/SIM interactions
misc:
* sky-vu.c ({read,write}_vu_misc_reg): do default behavior for
unknown regs instead of sim_io_error. MP reg is float (was missing
cast).
1998-05-07 14:36:42 +00:00
Doug Evans
eb00d70698
* sim-main.h (INSN_NAME): New arg `cpu'.
1998-05-07 02:45:07 +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
d9fbbdfaa3
lotsa stuff, see ChangeLog
1998-05-06 22:39:35 +00:00
Doug Evans
40c680ba80
* sem-switch.c: Regenerate. Redo computed goto label handling.
...
* sem.c: Regenerate. Call PROFILE_COUNT_INSN.
* readx.c: Regenerate. Redo computed goto label handling.
* semx.c: Regenerate. Call PROFILE_COUNT_INSN. Finish profiling
support.
* Makefile.in (stamp-xcpu): Turn on profiling support.
1998-05-06 22:38:05 +00:00
Doug Evans
177dedfb88
* Makefile.in (m32r.o,mloop.o,cpu.o,model.o): Add decode.h dependency.
...
(m32rx.o,mloopx.o,cpux.o,modelx.o): Add decodex.h dependency.
* decode.c,decode.h: Regenerate, introduces IDESC table.
* mloop.in (extract16,extract32): Add IDESC support.
Update names of semantic handler member names.
(execute): Ditto. Delete call to PROFILE_COUNT_INSN.
* decodex.c,decodex.h: Regenerate, introduces IDESC table.
* mloopx.in: Add IDESC support.
Update names of semantic handler member names.
Delete call to PROFILE_COUNT_INSN.
1998-05-06 22:37:14 +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
Frank Ch. Eigler
5678ce88c4
* Added hooks to new dejagnu sky tests, removed old test from run.
...
Mon May 4 17:59:11 1998 Frank Ch. Eigler <fche@cygnus.com>
start-sanitize-sky
* configure.in (testdir): Don't use old sky test directory.
* configure: Regenerated
* sky/Makefile.in: swallow stderr on buggy tests
end-sanitize-sky
* config/default.exp: Added C compiler settings.
1998-05-04 22:18:20 +00:00
Frank Ch. Eigler
83657d850c
* Garbage collection overdue since January.
1998-05-04 21:25:49 +00:00
Doug Evans
77e0fb08e1
* Makefile.in: Replace @MAINT@ with $(CGEN_MAINT).
...
(CGEN_MAINT): New variable.
* configure.in: Add support for --enable-cgen-maint.
* configure: Regenerate.
1998-05-02 01:28:32 +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
a6a51ac720
Fix type of arguments to sim_engine_halt.
1998-05-01 05:44:17 +00:00
Andrew Cagney
ad14e4d176
For multiply->add, loose underflow status, overflow when acc is
...
to-the-max, product can overflow result.
1998-04-30 10:56:49 +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
8c59a22d97
Wed Apr 29 15:44:52 1998 Geoffrey Noer <noer@cygnus.com>
...
* aclocal.m4: new file for AM_EXEEXT macro
* configure.in: call AM_EXEEXT
* configure: regenerate with autoconf 2.12.1.
* Makefile.in: add EXEEXT support
1998-04-29 22:49:27 +00:00
James Lemke
60372a3f96
* sim-main.h, sky-libvpe.c: r59fp_op* functions were called with
...
1st parm of wrong type. Converted remaining "/" to "FDiv".
* interp.c: Make "--float-type host" the default.
1998-04-29 21:17:53 +00:00
Mark Alexander
1c57e2955d
* configure.in: Build simulator on sparclite and sparc86x targets.
...
* configure: Regenerate.
1998-04-29 20:11:29 +00:00
Frank Ch. Eigler
2325ac592f
* Test case for modular arithmetic hardware erratum, c.f. PR 14887.
...
Wed Apr 29 12:49:00 1998 Frank Ch. Eigler <fche@cygnus.com>
* ls-modaddr.S: New test for modular addressing.
* Makefile.in: Run it.
1998-04-29 17:01:23 +00:00
Ron Unrau
56c0f25a5b
* rw-vureg.{c,vuexpect}: test VU register read/writes through aliased memory
1998-04-29 14:48:42 +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
Nick Clifton
8b7197b6bc
Rebuilt from latest cen files
1998-04-29 01:07:56 +00:00
Jillian Ye
eb0948b006
*** empty log message ***
1998-04-29 00:50:26 +00:00
Jillian Ye
002b3c2f9d
sce*test*_out_dif.dat : Change the last line of the files to be
...
"7f 00000000 00000000"
: ----------------------------------------------------------------------
1998-04-29 00:48:13 +00:00
Jillian Ye
f9c3840555
*** empty log message ***
1998-04-29 00:35:04 +00:00
Doug Evans
d9e3a135fa
* cpu.c,model.c,sem-switch.c,sem.c: Regenerated. Mostly comment
...
and variable renaming due to macro insn additions.
* mloop.in: Update to use CGEN_INSN_NUM.
* cpu.x,modelx.c,readx.c,semx.c: Regenerated.
* mloopx.in: Update to use CGEN_INSN_NUM.
1998-04-27 22:42:22 +00:00
Doug Evans
e926707c80
* cpu.c,model.c,sem-switch.c,sem.c: Regenerated. Mostly comment
...
and variable renaming due to macro insn additions.
* mloop.in: Update to use CGEN_INSN_NUM.
* cpu.x,modelx.c,readx.c,semx.c: Regenerated.
* mloopx.in: Update to use CGEN_INSN_NUM.
1998-04-27 22:41:32 +00:00
Andrew Cagney
f68cdf65e8
Clean up cell types.
1998-04-27 07:13:00 +00:00
Tom Tromey
5da9ce07eb
* configure: Regenerated to track ../common/aclocal.m4 changes.
...
* config.in: Ditto.
* acconfig.h: New file.
* configure.in: Reverted change of Apr 24; use sinclude again.
1998-04-26 22:03:55 +00:00
Tom Tromey
b29daf0287
* Makefile.in (autoconf-common autoheader-common): Don't pass -l
...
to autoconf and autoheader.
1998-04-26 21:44:25 +00:00
Tom Tromey
59fb349750
* configure: Regenerated to track ../common/aclocal.m4 changes.
...
* config.in: Ditto.
* acconfig.h: New file.
* configure.in: Reverted change of Apr 24; use sinclude again.
Don't call AC_C_CROSS.
1998-04-26 21:43:25 +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
7c9e17390b
* configure: Regenerated to track ../common/aclocal.m4 changes.
...
* config.in: Ditto.
* acconfig.h: Removed.
* configure.in: Call CY_GNU_GETTEXT.
* Makefile.in (INTLLIBS): New macro.
(INTLDEPS): Likewise.
($(RUN_PROG)): Depend on INTLDEPS; link against INTLLIBS.
(top_builddir): New macro.
1998-04-24 22:12:15 +00:00
Tom Tromey
ead653821c
* configure: Regenerated to track ../common/aclocal.m4 changes.
...
* config.in: Ditto.
* configure.in: Don't call sinclude.
1998-04-24 22:02:29 +00:00
Tom Tromey
6bded866f0
* configure: Regenerated to track ../common/aclocal.m4 changes.
...
* config.in: Ditto.
* configure.in: Don't call sinclude.
1998-04-24 21:45:01 +00:00
Tom Tromey
c2816431f1
* Makefile.in (autoconf-common autoheader-common): Pass `-l
...
../common' to autoconf and autoheader. Unconditionally run
autoconf in every subdir.
(autoconf-changelog autoheader-changelog): Unconditionally run
commands in every subdir.
(autoconf-install autoheader-install): Likewise.
1998-04-24 21:00:29 +00:00
Tom Tromey
cbd15dc12a
* configure: Regenerated to track ../common/aclocal.m4 changes.
...
* config.in: Ditto.
* configure.in: Don't call sinclude.
1998-04-24 20:57:53 +00:00
Tom Tromey
a2eb9d2751
* configure: Regenerated to track ../common/aclocal.m4 changes.
...
* config.in: Ditto.
* Makefile.in (top_builddir): New macro.
(INTLLIBS): New macro.
(INTLDEPS): Likewise.
(psim): Depend on INTLDEPS; link against INTLLIBS.
* configure.in: Call CY_GNU_GETTEXT.
1998-04-24 20:55:51 +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
Tom Tromey
b1df34b9ed
* configure: Regenerated to track ../common/aclocal.m4 changes.
...
* config.in: Ditto.
* configure.in: Don't call sinclude.
1998-04-24 20:39:48 +00:00
Andrew Cagney
d32658fe26
Drop leading `_' from macros.
1998-04-24 09:59:22 +00:00
Andrew Cagney
ca61710bde
* mips.igen (do_store_left): Pass 0 not NULL to store_memory.
1998-04-24 09:57:17 +00:00
Andrew Cagney
1c5d25f841
* ic (rBase, rLink): Make the type a pointer.
1998-04-24 09:54:50 +00:00
Andrew Cagney
21566f9fbe
* interp.c (struct hash_entry): OPCODE and MASK are unsigned.
...
* d10v_sim.h (remote-sim.h, sim-config.h): Include.
1998-04-24 09:54:16 +00:00
Andrew Cagney
e9164db545
* ld-insn.c (load_insn_table): Terminate error with NL.
...
* gen.c (insns_bit_useless): Perform unsigned bit comparisons.
* filter.c (is_filtered_out, filter_parse): Pacify GCC, len is unsigned.
* gen-icache.c (print_icache_extraction): Do not type cast pointers.
1998-04-24 09:52:25 +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
Doug Evans
c24db1ca0f
* Makefile.in (GCC_FOR_TARGET): Add options to find newlib and
...
libgloss. Add comment that we should be using dejagnu.
1998-04-22 19:33:56 +00:00
Doug Evans
dca2d4f4dc
* Makefile.in (TARGET_FLAGS_TO_PASS): Delete LIBS, LDFLAGS.
1998-04-22 19:29:27 +00:00
Michael Meissner
d865fb6e56
Regenerate configure
1998-04-22 18:29:57 +00:00
Michael Meissner
3618a6e972
Add intl support
1998-04-22 18:19:01 +00:00
Jillian Ye
18de2a0134
Fixing typos.
1998-04-21 22:16:12 +00:00
Jillian Ye
680fce2b97
Makefile.in : Use GIF_TRACE to generate the sce_test*_our_gif.out files.
1998-04-21 21:53:05 +00:00
James Lemke
8c8dd0c471
r5900.igen, sim-main.h, sky-libvpe.c: Add run-time option --float-type
1998-04-21 21:33:44 +00:00
James Lemke
2b1d91ab62
configure.in, interp.c: Add configure option --with-sim-funit.
1998-04-21 21:24:24 +00:00
James Lemke
bd3aa7cbc7
sim-base.h: Add configure option --with-sim-funit.
1998-04-21 21:19:45 +00:00
James Lemke
3e5fbf91b5
Add configure option --with-sim-funit for sim & gdb.
1998-04-21 21:14:09 +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
Jason Molenda
5fe24ce03a
Fix sanitize tag. The proper keyword is "start-sanitize-*", not
...
"begin-sanitize-*".
1998-04-21 17:55:06 +00:00
Doug Evans
581fd0423c
* sim/m32r/addx.cgs: Test (-1)+(-1)+1.
1998-04-21 17:54:03 +00:00
Doug Evans
aa4677044a
* lib/sim-defs.exp (run_sim_test): Don't exit early if one mach fails,
...
try all machs.
1998-04-21 17:52:16 +00:00
Jason Molenda
5569ab1b26
Add sim-main.c to things to keep.
1998-04-21 17:45:28 +00:00
Andrew Cagney
515125b709
Entry about changing sim_open missing from changelog.
1998-04-21 05:25:56 +00:00
Andrew Cagney
97f4d18341
Implement ERET instruction.
...
Add {signed,unsigned}_address type.
1998-04-21 04:30:27 +00:00
Andrew Cagney
421cbaae98
For new IGEN simulators, rewrite checks validating correct use of the
...
HI/LO registers. For old gencode simulator, delete all checks.
1998-04-21 01:17:58 +00:00
Andrew Cagney
98f5dae13b
* gen-icache.c (print_icache_extraction): When generating #define
...
force the expression to the correct type.
1998-04-21 00:11:40 +00:00
Doug Evans
970a8fd6c3
* cpu.c,sem.c,sem-switch.c: Regenerate. From
...
- cgen/m32r.cpu (h-accum): Add attribute FUN-ACCESS.
* m32r.c (m32r_h_accum_get,m32r_h_accum_set): New functions.
#include cgen-ops.h.
* cpux.c,readx.c,semx.c: Regenerate.
* m32rx.c (m32r_h_accum_get,m32r_h_accum_set): New functions.
#include cgen-ops.h. Delete inclusion of several unnecessary headers.
(m32r_h_accums_get): Sign extend top 8 bits.
1998-04-20 23:20:22 +00:00
Frank Ch. Eigler
f61321eaaf
* Added one new R5900 COP2 test.
...
Mon Apr 20 18:36:50 1998 Frank Ch. Eigler <fche@cygnus.com>
* t-cop2b.c (test01): Additional COP2 tests (QMFC2/QMTC2/LQ/SQ).
Don't use $1 ($at) register in inline assembly.
1998-04-20 22:59:16 +00:00
Jillian Ye
54a0a7df08
t-pke2.trc t-pke2.vif1expect: Update the testcase to use the
...
correct registers permitted by gpus.
1998-04-20 21:56:01 +00:00
Doug Evans
d8d0c6a627
* Makefile.in (ULIMIT): New variable.
...
(sce%.ok): Use it.
(.run.ok,.run.ko): Ditto.
1998-04-17 21:21:12 +00:00
Frank Ch. Eigler
f8998e7780
* Fixed data mangling problems in R5900 COP2 LQC2/SQC2 instructions.
1998-04-17 19:04:53 +00:00
Frank Ch. Eigler
aa4d43968a
* New R5900 COP2 test case.
1998-04-17 19:04:41 +00:00
Frank Ch. Eigler
fc4e5b84c8
* Adapted R5900 COP2 interface code to clarified micro-mode interlock
...
behavior.
1998-04-16 19:27:55 +00:00
Jillian Ye
73181dfff8
Update the testcase to work with gpu2 lib.
1998-04-16 19:07:57 +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
c58fa2cc43
TX19 uses igen by default.
1998-04-15 23:17:16 +00:00
Frank Ch. Eigler
46399a00e8
* Changes to make interp.c compile under mips64r5900-sky-elf target.
...
Wed Apr 15 12:41:18 1998 Frank Ch. Eigler <fche@cygnus.com>
* interp.c (decode_coproc): Make COP2 branch code compile after
igen signature changes.
1998-04-15 19:02:04 +00:00
Andrew Cagney
74025eeea7
Re-fix 32 bit DSRAV instruction.
...
Fix mips16 BRANCH, unsigned ADD/SUB and SRAV instructions.
1998-04-15 14:04:01 +00:00
Andrew Cagney
ea5d84f5dc
Add EXTEND11().
1998-04-15 13:50:50 +00:00
Andrew Cagney
f3bdd368ea
Debug tx19 built from igen sources.
...
Rework ifetch{16,32} to match the more recent do_load function.
1998-04-15 07:23:28 +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
489564e28b
* sim/m32r/maclh1.cgs: Fix testcase.
...
* sim/m32r/maclh1-2.cgs: New testcase.
1998-04-14 21:09:35 +00:00
Doug Evans
94a5989b24
* semx.c: Regenerate.
...
PR 15693.
1998-04-14 21:07:45 +00:00
Doug Evans
b42e7eb361
* Make-common.in (RUNTESTFLAGS): Define.
...
(check): Pass RUNTESTFLAGS to recursive make.
1998-04-14 20:22:07 +00:00
Ian Carmichael
ac137dc872
* Added interactive debugging for vector units, and a bunch of minor
...
* things. See ChangeLog.sky for details.
*
* Modified Files:
* .Sanitize ChangeLog.sky Makefile.in sky-libvpe.c sky-vu.c
* sky-vu.h sky-vudis.c sky-vudis.h
* Added Files:
* sky-indebug.c sky-indebug.h sky-interact.c sky-interact.h
* sky-console.c sky-console.h
1998-04-14 19:58:36 +00:00
Jillian Ye
c6ae153421
c_gen.pl: Change to use data type "int" instead of "long int" in
...
function perform_test_read_only.
1998-04-14 16:25:44 +00:00
Andrew Cagney
c0a4c3ba17
Implement 32 bit MIPS16 instructions listed in m16.igen.
1998-04-14 14:34:48 +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
aba672aac5
* mn10300_sim.h: Declare all functions in op_utils.c using INLINE_SIM_MAIN.
...
* op_utils.c: Ditto.
* sim-main.c: New file. Include op_utils.c.
1998-04-14 04:26:04 +00:00
Andrew Cagney
13eaae2fd0
Broke parsing of !<val>!<val> when adding support for =<field>. Fix.
...
Add support for the -S<suffix> option.
1998-04-14 04:24:47 +00:00
Andrew Cagney
1e23866b9b
o Use new !<field>' and =<field>' operators in spec of
...
MOV and CMP instructions.
o Enable basic inlining. Diable use of SIM_MAIN_INLINE.
1998-04-14 00:59:30 +00:00
Andrew Cagney
346a3d6c11
Add support for instruction word conditionals of the form `XXX!YYY'
...
and XXX=YYY'. See mn10300 for examples.
1998-04-14 00:00:15 +00:00
Frank Ch. Eigler
1e83118b79
* COP2 testing changes.
...
[ChangeLog]
Mon Apr 13 16:51:00 1998 Frank Ch. Eigler <fche@cygnus.com>
* Makefile.in (*): Added .vuout/.vuexpect/.vuok test targets
for confirming VU instruction trace.
(t-cop2): Test COP2 sim using above facility.
* t-cop2.vuexpect: New file.
1998-04-13 20:55:26 +00:00
Frank Ch. Eigler
96a4eb30da
* Fixed a one-character typo in COP2 instruction synthesis.
...
[ChangeLog]
Mon Apr 13 16:28:52 1998 Frank Ch. Eigler <fche@cygnus.com>
* interp.c (decode_coproc): Add proper 1000000 bit-string at top
of VU lower instruction.
1998-04-13 20:31:29 +00:00
Doug Evans
e0a85af6eb
* cpu.h,decode.c,decode.h,extract.c,sem.c,sem-switch.c: Regenerate.
...
* cpux.h,decodex.c,decodex.h,readx.c,semx.c: Regenerate.
Main change is to remove ordinal from format names.
1998-04-11 01:26:47 +00:00
Frank Ch. Eigler
b0b39eb2de
* Backed out week-old attempt at enabling quadword memory access on
...
MIPS sim; added PKE sim code fixes. No COP2 testing progress today.
[ChangeLog]
Thu Apr 9 16:38:23 1998 Frank Ch. Eigler <fche@cygnus.com>
* r5900.igen (LQC,SQC): Adapted code to DOUBLEWORD accesses
instead of QUADWORD.
* sim-main.h: Removed attempt at allowing 128-bit access.
[ChangeLog.sky]
Thu Apr 9 16:42:54 1998 Frank Ch. Eigler <fche@cygnus.com>
* sky-pke.c (read_pke_pc): Corrected PKE PC calculation
to word granularity.
1998-04-09 20:56:00 +00:00
Frank Ch. Eigler
e5cccb7177
* Added one PKE test after finding unexpected #### for a block of
...
code in gcov output.
1998-04-09 20:31:18 +00:00
Jillian Ye
ef23b3efd1
c_gen.pl : Added handling for data from GIF path1/2/3 FIFO.
1998-04-09 17:06:19 +00:00
Ian Carmichael
05c29245c9
* Fixed testcase. 1,$ s/ITOP 412/ITOP 421/
1998-04-09 03:57:20 +00:00
Ian Carmichael
7dba069e20
* Fixed up blank lines in file.
1998-04-09 03:24:13 +00:00
Ian Carmichael
2fd7c40770
* Temporarily change LOADDRMASK in sky build.
1998-04-09 03:17:43 +00:00
Mark Alexander
ecd4a90b86
* erc32.c (sim_stop): Handle SIGINT gracefully.
...
* interf.c (sim_open): Don't catch SIGINT; GDB will do that for us.
1998-04-09 02:40:31 +00:00
Mark Alexander
e2324e2944
* exec.c (dispatch_instruction): Change how carry out is calculated
...
in DIVSCC. Add emulation of SMULCC, UMUL, and UMULCC.
1998-04-09 01:42:44 +00:00
Frank Ch. Eigler
11c47f314b
* R5900 sky COP2 testing continuing. Today only small
...
VCALLMS-related were found/fixed.
[ChangeLog.sky]
* sky-vu.c ({read,write}_vu_special_reg): Add CMSAR[01] as special
registers for a VU. Behavior not as mandated.
({read,write}_vu_{misc,special}_reg): Create sim_io_error upon
access to unknown register. Behavior not as mandated.
* sky-vu.h (anonymous register numbering enum): Add CMSAR[01].
* sky-libvpe.c (indebug): Cache $ENV{'SKY_DEBUG'}.
[ChangeLog]
* Makefile.in (SIM_SKY_OBJS): Added sky-vudis.o.
* interp.c (decode_coproc): Refer to VU CIA as a "special"
register, not as a "misc" register. Aha. Add activity
assertions after VCALLMS* instructions.
1998-04-08 22:22:58 +00:00
Frank Ch. Eigler
4118c63ccd
* COP2 test case update.
1998-04-08 22:10:38 +00:00
Jillian Ye
4cc9cd5474
c_gen.pl: Added subroutine perform_test_read_only
1998-04-08 20:57:28 +00:00
Ian Carmichael
997d07bb70
* Add sky-vudis.h, sky-vudis.c.
1998-04-08 20:14:44 +00:00
Jillian Ye
1430343e6b
sce_main.c Fixing address used (line 100): DMA_D1_MADR -> DMA_D1_TADR
1998-04-08 19:46:08 +00:00
Jillian Ye
a41a7ce2fd
Update testcase to use the correct include files.
...
: ----------------------------------------------------------------------
1998-04-08 19:01:01 +00:00
Jillian Ye
b652cad7c0
*** empty log message ***
1998-04-08 18:07:54 +00:00
Jillian Ye
356d8c8c00
Take out sce_testcase from "make check" until they can run more stably.
...
Added "check_sce" target for driving the Sce_testcases.
1998-04-08 18:03:03 +00:00
Jillian Ye
b03c88a371
Update testcase to compile with the lastest DVP AS
1998-04-08 17:27:47 +00:00
Jillian Ye
2e7f8e7beb
Update testcase to compile with latest DVP-AS
...
: ----------------------------------------------------------------------
1998-04-08 17:15:24 +00:00
Andrew Cagney
8764538f22
Keep sim-main.c and tx.igen
1998-04-07 23:15:53 +00:00
Doug Evans
4b61e1073f
Keep sky-gs.[ch] if sky.
1998-04-07 22:54:10 +00:00
Frank Ch. Eigler
0b2289b6b3
* Oops, keep new file.
1998-04-07 22:50:02 +00:00
Frank Ch. Eigler
174ff2242b
* R5900 COP2 sim testing in progress. The majority of instructions actually
...
work!
[ChangeLog.sky]
* sky-vu.h (vu_device): Represent "macro instruction just stuffed
into fetch buffer" condition with new "m" bit. Rename old "m" to
"l".
* sky-libvpe.c (indebug): Save snapshot of environment value;
workaround for suspected memory corruption.
(fetch_inst): Respect new "m" macro-instruction flag for reporting
successful fetch to caller.
(exec_inst): Disassemble instruction here instead of fetch time.
Renamed old "m" -> "l" flag in VU state to track interlock
release.
(vpecallms_cycle): Call exec_inst only if fetch_inst did some
work.
* sky-vu.c (vu_attach, vu[01]_device): Revamped initialization to
ensure complete clear of tail part of struct at attach time.
(vu0_busy): Fix thinko.
(vu0_macro_issue): Adapt to new "l" flag.
(vu0_micro_interlock_released): Ditto.
(write_vu_special_reg): Ditto.
(read_vu_special_reg): Compute VBS0/VBS1 bits more explicitly.
The other VU status bits are not yet computed.
[ChangeLog]
* interp.c (decode_coproc): Do not apply superfluous E (end) flag
to upper code of generated VU instruction.
1998-04-07 22:47:53 +00:00
Frank Ch. Eigler
0dee6af299
* COP2 testing in progress.
...
Tue Apr 7 18:31:47 1998 Frank Ch. Eigler <fche@cygnus.com>
* t-cop2.s: New test for COP2 function.
* Makefile.in: Added rule to assemble self-contained R5900 asm tests.
1998-04-07 22:45:56 +00:00
Doug Evans
34c1c9b86a
Update.
1998-04-07 22:44:49 +00:00
Jillian Ye
373df64120
Update Makefile.in to use dvp-el-as for SKY testcases.
...
: ----------------------------------------------------------------------
1998-04-07 21:10:30 +00:00
Ian Carmichael
5faa69dac3
* Added missing ITOP instructions to test40,41,42,43.
1998-04-07 20:20:34 +00:00
Jillian Ye
f8c732a164
sce_main.c : Added "return 0;" to the end of main.
...
: ----------------------------------------------------------------------
1998-04-07 16:34:29 +00:00
Jillian Ye
5087a6057a
sce* : files added for the SCE (feb28) testsuite (modified).
...
sce*_testN.* corresponds to the original testN/test.*
*.vuasm : MICRO code
*.dvpasm : DMAtag and VIF code description
*.out_gif.dat : GIF output values for the corresponding testcase.
sce_main.c : driver file for the SCE testcases
sce_macro.s : SCE provided macro file needed by the SCE (feb28) testcases
refresh.s : Needed by sce_main.c
Makefile.in : Updated to run make and run the SCE testsuite.
: ----------------------------------------------------------------------
1998-04-07 16:23:41 +00:00
Frank Ch. Eigler
2ebb2a6855
* R5900 COP2 is now ready for testing. Let loose the dogs!
...
Mon Apr 6 19:55:56 1998 Frank Ch. Eigler <fche@cygnus.com>
* interp.c (cop_[ls]q): Replaced stub with proper COP2 code.
* sim-main.h (LOADADDRMASK): Redefine to allow 128-bit accesses
for TARGET_SKY.
* r5900.igen (SQC2): Thinko.
1998-04-07 00:01:31 +00:00
Jillian Ye
0eebcbd7ab
c_gen.pl: Added sub-routine perform_test64 to read and verify 64bit register.
1998-04-06 20:49:47 +00:00
Frank Ch. Eigler
ebcfd86a2e
* R5900 COP2 function nearly complete. PKE sim now aware of new GPUIF
...
masking facility for PATH3 transfers.
[ChangeLog.sky]
Sun Apr 5 12:11:45 1998 Frank Ch. Eigler <fche@cygnus.com>
* sky-libvpe.c (exec-inst): Added "M" bit detection for upper
instruction.
* sky-pke.c (pke_check_stall): Added more assertions.
(pke_code_mskpath3): Use new GPUIF M3P control register.
* sky-pke.h (VU[01]_CIA): New macros that give VU CIA
pseudo-register addresses.
* sky-vu.h (vu_device, VectorUnitState): Merged structs.
(VectorUnitState.mflag): New field.
(VU_REG_{CMSAR0,CMSAR1,FBRST}) Added missing control registers.
* sky-vu.c (vu0_busy): New function.
(vu0_q_busy): New function.
(vu0_macro_issue): New function.
(vu0_micro_interlock_released): New function.
(vu0_busy_in_{micro,macro}_mode): Deleted stubs.
(vu0_macro_hazard_check): Deleted stubs.
(vu_attach): Adapted code to merged device & state struct.
(read_vu_special_reg): Compute VBS0/VBS1 bits in STAT register.
[ChangeLog]
start-sanitize-sky
Sun Apr 5 12:05:44 1998 Frank Ch. Eigler <fche@cygnus.com>
* interp.c (*): Adapt code to merged VU device & state structs.
(decode_coproc): Execute COP2 each macroinstruction without
pipelining, by stepping VU to completion state. Adapted to
read_vu_*_reg style of register access.
* mips.igen ([SL]QC2): Removed these COP2 instructions.
* r5900.igen ([SL]QC2): Transplanted these COP2 instructions here.
* sim-main.h (cop_[ls]q): Enclosed in TARGET_SKY guards.
end-sanitize-sky
1998-04-05 16:40:03 +00:00
Frank Ch. Eigler
d61cc1d4b1
* Test case patch for more functional GPUIF implementation
...
Sun Apr 5 12:34:56 1998 Frank Ch. Eigler <fche@cygnus.com>
* t-pke3.trc: Modified to confirm parts of GPUIF PATH3-masking
functionality.
1998-04-05 16:37:04 +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
Jillian Ye
f6f81e4a92
c_gen.pl: Added sub-routine process_data_reg64 to handle 64bit register
...
writes.
1998-04-03 19:59:11 +00:00
Andrew Cagney
72a08ce565
Don't bother generating trace prefix string when not tracing.
1998-04-03 17:13:40 +00:00
Ron Unrau
c567d0b941
* sim-main.h: add vif registers
...
* interp.c: incorporate vif register load/store
* sky-pke.[ch]: add register load/store routines
* sku-vu.c: P register is float
1998-04-02 21:02:38 +00:00
Andrew Cagney
69d5a56645
Re-do load/store operations so that they work for both 32 and 64 bit
...
ISAs.
Enable tx39 as igen again.
1998-04-02 19:35:39 +00:00
Andrew Cagney
725fc5d927
For mips get_mem_size call. Force the return of a 32 bit value
...
regardless of the target's word bitsize.
1998-04-02 03:27:24 +00:00
Ron Unrau
2151467d63
sky-vu.[ch]: prototype decls, cast floats to ints before register transfer
...
interp.c: integrate VU register read/writes
sim-main.h : track tm-txvu.h
1998-04-01 17:31:24 +00:00
Frank Ch. Eigler
6b0c51c929
* You bop one on the head ... another one appears.
...
Wed Apr 1 08:20:31 1998 Frank Ch. Eigler <fche@cygnus.com>
* mips.igen (SQC2/LQC2): Make bodies sky-target-only also.
1998-04-01 13:19:07 +00:00
Andrew Cagney
e1fe7a7966
* configure.in (SIM_AC_OPTION_WARNINGS): Add.
...
configure: Re-generate.
1998-04-01 02:56:05 +00:00
James Lemke
1ff39ecb10
* sky-dma.c: Clarify text in warning msg.
...
* interp.c: Add global option "float-type".
* sky-vu.h: Add SIM_DESC sd; to VectorUnitState for accessing
global options.
1998-03-31 21:46:31 +00:00
Frank Ch. Eigler
6ed00b0607
* Continuing sky R5900 / COP2 work. Added extra sanitize tags to hide
...
128-bit MIPS part.
[ChangeLog]
Mon Mar 30 18:41:43 1998 Frank Ch. Eigler <fche@cygnus.com>
* interp.c (decode_coproc): Continuing COP2 work.
(cop_[ls]q): Hide 128-bit COP2 more.
* sim-main.h (COP_[LS]Q): Hide 128-bit COP2 more.
[ChangeLog.sky]
Mon Mar 30 18:44:15 1998 Frank Ch. Eigler <fche@cygnus.com>
* sky-libvpe.c: Code too wide - ran indent on SCEI code.
* sky-vu.h (vu0_busy*, vu0_macro*): New entry points for COP2
interface.
* sky-vu.c (vu0_busy*, vu0_macro*): Stub functions for above.
1998-03-30 23:56:52 +00:00
Gavin Romig-Koch
34f51d8723
* configure.in (mipstx39*-*-*): Use gencode simulator rather
...
than igen one.
* configure : Rebuild.
1998-03-30 19:54:15 +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
Frank Ch. Eigler
7dd4a46650
* Oops, added #ifdef TARGET_SKY around R5900 COP2 implementation skeleton.
1998-03-29 22:53:31 +00:00
Frank Ch. Eigler
1d33e94615
* Updated test cases to confirm PKE behavior according to new SCEI specs.
1998-03-28 00:36:59 +00:00
Frank Ch. Eigler
b59e0b6815
* Modified sky PKE behavior according to new SCEI specs.
1998-03-28 00:35:43 +00:00
Frank Ch. Eigler
15232df4a3
* Inserted skeleton of R5900 COP2 simulation. Merged old vu[01].[ch] code
...
into single PKE-style vu.[ch].
[ChangeLog]
Fri Mar 27 16:19:29 1998 Frank Ch. Eigler <fche@cygnus.com>
start-sanitize-sky
* Makefile.in (SIM_SKY_OBJS): Replaced sky-vu[01].o with sky-vu.o.
* interp.c (sim_{load,store}_register): Use new vu[01]_device
static to access VU registers.
(decode_coproc): Added skeleton of sky COP2 (VU) instruction
decoding. Work in progress.
* mips.igen (LDCzz, SDCzz): Removed *5900 case for this
overlapping/redundant bit pattern.
(LQC2, SQC2): Added *5900 COP2 instruction skeleta. Work in
progress.
* sim-main.h (status_CU[012]): Added COP[n]-enabled flags for
status register.
end-sanitize-sky
* interp.c (cop_lq, cop_sq): New functions for future 128-bit
access to coprocessor registers.
* sim-main.h (COP_LQ, COP_SQ): New macro front-ends for above.
[ChangeLog.sky]
* sky-engine.c (engine_run): Adapted from vu[01] -> vu merge.
* sky-hardware.c (register_devices): Ditto
* sky-pke.c (pke_fifo_*): Made these functions private again, now
that the GPUIF code does not use them.
* sky-pke.h (pke_fifo_*): Removed newly private declarations.
* sky-vu.c (*): Major rework: merge of old sky-vu0.c and
sky-vu1.c. Management of two VU devices parallels two PKEs.
Work in progress.
* sky-vu.h (*): Other half of merge.
(vu_device): New struct, parallel to pke_device.
1998-03-27 22:00:56 +00:00
Patrick Macdonald
76969284c3
sky-gs.c: initial drop of GS control registers (outstanding questions)
...
sky-gs.h: initial drop of GS control registers
Makefile.in: added sky-gs.o to sanitized list
sky-gpuif.c (gif_io_write_buffer): correct memset length error, renamed
trace file for gif
1998-03-27 18:36:33 +00:00
Ron Unrau
d44859a2d8
* sky-vu.c: new file to read/write VU registers
...
* Makefile.in .Sanitize: add sky-vu.c
* sky-vu.h: define registers as enum, export read/write routines
* sky-vu[01].[ch]: use register read/write routines in sky-vu.c
* interp.c: use register read/write routines in sky-vu.c
1998-03-27 14:44:39 +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
bd85beb90c
Clean up m32rx sanitization
1998-03-27 11:33: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
1b756ba6d5
* dv-mn103cpu.c (deliver_mn103cpu_interrupt): Stop loss of succeeding
...
interrupts, clear pending_handler when the handler isn't re-scheduled.
1998-03-26 14:00:18 +00:00
Stu Grossman
abf6ba256a
* Makefile.in (tmp-igen): Prefix all usage of move-if-change
...
script with $(SHELL) to make NT native builds happy.
* configure: Regenerate because of change to ../common/aclocal.m4.
1998-03-26 10:18:35 +00:00
Andrew Cagney
51ccd82f7f
* configure.in: Make --enable-sim-common the default.
...
* configure: Re-generate.
* sim-main.h (CIA_GET, CIA_SET): Save/restore current instruction
address into Sate.regs[REG_PC] instead of common struct.
1998-03-26 01:13:38 +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
Joyce Janczyn
d1607ed316
* mn10300.igen (cmp imm8,An): Do not sign extend imm8 value.
1998-03-25 22:43:19 +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
Joyce Janczyn
52ef605e6d
* simops.c (OP_F0FD): Initialise variable 'sp' for rti instruction.
1998-03-25 17:10:01 +00:00
Andrew Cagney
c357e16ac8
* dv-mn103int.c (decode_group): A group register every 4 bytes not 8.
...
(write_icr): Rewrite equation updating request field.
(read_iagr): Fix check that interrupt is still pending.
1998-03-25 14:52:44 +00:00
Andrew Cagney
8077fed51e
* interp.c (sim_open): Tidy up device creation.
...
* dv-mn103int.c (mn103int_port_event): Drive NMI with non-zero value.
(mn103int_io_read_buffer): Convert absolute address to register block offsets.
(read_icr, write_icr): Convert block offset into group offset.
1998-03-25 05:37:42 +00:00
Andrew Cagney
6100784a60
* interp.c (sim_open): Create second 1mb memory region at 0x40000000.
...
(sim_open): Create a device tree.
(sim-hw.h): Include.
(do_interrupt): Delete, needs to use dv-mn103cpu.c
* dv-mn103int.c, dv-mn103cpu.c: New files.
1998-03-25 04:15:38 +00:00
Andrew Cagney
8388c9a564
* mn10300_sim.h (EXTRACT_PSW_LM, INSERT_PSW_LM, PSW_IE, PSW_LM): Define.
...
(SP): Define.
1998-03-25 04:07:31 +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
Andrew Cagney
e855e57637
Pacify GCC.
1998-03-25 00:08:52 +00:00
Andrew Cagney
612a649eee
* interp.c (Max, Min): Comment out functions. Not yet used.
...
* vr4320.igen (DCLZ): Pacify GCC, 64 bit arg, int format.
1998-03-24 23:16:57 +00:00
Ian Carmichael
9fa5e700c0
* Several fixes and performance enhancements from my 2 weeks working in Japan.
1998-03-24 22:23:33 +00:00
Andrew Cagney
d797f46f3c
* gen-engine.c (print_run_body): Re-extract the CIA after
...
processing any events. Events may not restart the simulator.
1998-03-24 21:30:00 +00:00
Joyce Janczyn
8dcf23d28b
Add new files: mn10300.igen, mn10300.dc, sim-main.h, op_utils.c
1998-03-24 21:23:29 +00:00
Joyce Janczyn
55045e7b32
Port mn10300 simulator to build with the common simulator framework
...
under the configure option --enable-sim-common.
1998-03-24 20:30:03 +00:00
Joyce Janczyn
6274d39b87
Add code to support building mn10300 simulator with the common simulator
...
framework.
1998-03-24 20:26:06 +00:00
Joyce Janczyn
5abdc30591
Add support for building simulator based on common simulator framework.
...
Separate out files which get compiled depending on --enable-sim-common
configuration.
1998-03-24 20:19:55 +00:00
Joyce Janczyn
4f262a370d
Add ability to configure mn10300 built with common simulator code base.
...
Use --enable-sim-common to build this way; default configure has not
changed.
1998-03-24 20:16:25 +00:00
Joyce Janczyn
13e0e254dc
New {load/store}_{byte/half/word} macros for simulator built with
...
common framework.
1998-03-24 20:11:44 +00:00
Joyce Janczyn
0543ebbb26
Header file required by igen generated files.
1998-03-24 20:08:00 +00:00
Joyce Janczyn
7986ea1323
IGEN input files for mn10300 simulator.
1998-03-24 20:07:22 +00:00
Stu Grossman
753ad2d3c5
* Makefile.in: Get SHELL from configure.
...
* configure: Regenerate with autoconf 2.12.1 to fix shell issues for
NT native builds.
1998-03-24 17:50:09 +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
Joyce Janczyn
9bd4b4618d
Build IGEN with the mn10300 simulator.
1998-03-24 16:18: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
James Lemke
fc609c6c69
Added DMAC unit test cases.
1998-03-20 22:51:39 +00:00
Frank Ch. Eigler
121d6745bc
* Monster bug fixes & improvements from the last two days' demo-testing work.
...
* sky-pke.h (pke_fifo*): Exported these formerly private functions.
(pke_device): Added FIFO cache fields.
* sky-pke.c (pke_fifo_reset): New function for GPUIF client -
clear FIFO contents.
(pke_pcrel_fifo): Added caching facility to prevent O(n^2) cost for
searching for consecutive operand words.
* sky-libvpe.c (MEM, uMEM): New/changed macros that perform modulo
calculations to handle out-of-range VU memory addresses.
(*): Replaced many previous uses of MEM[] and state->uMEM[] with
calls to above macros.
* sky-vu.h (struct VectorUnitState): Added qw/dw size fields for
MEM/uMEM buffers, for overflow prevention. Renamed MEM/uMEM fields
to catch all their prior users.
* sky-vu0.c (vu0_attach): Manually align MEM0/MEM1 buffers to force
16-byte alignment. (zalloc is not enough.)
* sky-vu1.c (vu1_attach): Ditto.
(init_vu): Store buffer sizes from allocation into VectorUnitState.
* sky-gpuif.h (GifPath): Use a pke_fifo strucf instead of
temporary fixed-size array for flexible FIFO sizing.
* sky-gpuif.c (SKY_GPU2_REFRESH): This is now an integer value to be
used as a modulus for periodic refresh.
(refresh): New function to send GPU2 refresh code periodically.
(*): Use pke_fifo calls to en/dequeue GPUIF tags & operands.
* sky-pke.h (struct pke_device): Added fields to allow caching of
results from recent FIFO searches.
1998-03-20 22:12:06 +00:00
Frank Ch. Eigler
0b9843e5ee
* Changes today consist just of some code hardening.
1998-03-18 19:33:33 +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
Frank Ch. Eigler
9b23b76d68
* Added --with-sim-gpu2=<path> option for linking SCEI's GPU2 library with
...
the stand-alone executable.
[in ChangeLog.sky:]
* sky-gpuif.c (call_gs): Call properly into GPU2 library if
configured --with-sim-gpu2. Use SKY_GPU2_REFRESH symbol as
placeholder for future GPU2-refresh policy.
[in ChangeLog:]
* Makefile.in (MIPS_EXTRA_LIBS, SIM_EXTRA_LIBS): Added
configurable settings for stand-alone simulator.
start-sanitize-sky
* configure.in: Added --with-sim-gpu2 option to specify path of
sky GPU2 library. Triggers -DSKY_GPU2 for sky-gpuif.c, and
links/compiles stand-alone simulator with this library.
* interp.c (MEM_SIZE): Increased default sky memory size to 16MB.
end-sanitize-sky
* configure.in: Added X11 search, just in case.
* configure: Regenerated.
1998-03-18 00:20:40 +00:00
Frank Ch. Eigler
670ae6c936
* Added "t-pke4" test case that I forgot to check in when it was created.
1998-03-17 20:49:50 +00:00
Frank Ch. Eigler
08b284172b
* Added the "c_gen.pl" perl script into this directory, so the current
...
bunch of tests may be run on non-Toronto hosts.
1998-03-17 20:47:03 +00:00
Frank Ch. Eigler
fb9e431635
* Some changes in PKE tests, as per SCEI e-mail. t-pke1 still fails, but
...
will ignore this until next SCEI clarification.
* tsv308_1.trc: Fixed test case as per SCEI email.
* tsv316_1.trc: Ditto.
* tsv408_1.trc: Same.
* tsv416_1.trc: Again.
* t-pke3.trc: Added more padding to one VU test to widen timing race.
1998-03-17 00:07:19 +00:00
Andrew Cagney
a8ff502679
Pass sim_cia cia into trace_prefix()
1998-03-16 03:44:33 +00:00
Doug Evans
b01a8697e2
* config.in (HAVE_FCNTL_H): Add.
...
* configure: Regenerate.
* Makefile.in (SIM_OBJS): Add devices.o.
* m32r-sim.h (m32r_devices): Renamed from m32r_mspr_device.
(UART_*): Define m32r serial port parameters.
(M32R_DEVICE_ADDR,M32R_DEVICE_LEN): Define.
* m32r.c (device_io_{read,write}_buffer,device_error): Move from here,
* devices.c: To here.
* sim-if.c: Don't include signal.h,sim-core.h.
(sim_open): Use M32R_DEVICE_{ADDR,LEN} in sim_core_attach call.
(sim_resume): Call sim_module_{resume,suspend}.
* m32r.c (m32r_h_cr_{get,set}): Use register number enums.
* tconfig.in (SIM_HANDLES_LMA): Define.
* sim-if.c (do_trap): Result is new pc.
Handle --environment=operating.
* sem-switch.c,sem.c: Regenerate.
start-sanitize-m32rx
* semx.c: Regenerate.
end-sanitize-m32rx
1998-03-15 05:15:18 +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
Frank Ch. Eigler
86a6094133
* Added "test0" test bucket from SCEI. Due to changes in the behavior specs
...
of PKE, some old test cases had to be modified. There are suspected bugs
in the SCEI test cases too, so "make check" does not run cleanly at present.
* tss*.trc: New files, generated by perl script from
SCEI "test0" bucket.
* tsv*.trc: New files, generated by perl script from SCEI "test0"
bucket. Note that tsv432_0 may obsolete t-pke1.
* Makefile.in (TESTS): Run new scripts.
(check): Bulldoze through failing test cases with "make -k" until
SCEI fixes some of them.
(.run.ok): Increased run-time limit since some test runs can take
several seconds.
1998-03-14 01:51:03 +00:00
Frank Ch. Eigler
9614fb3c36
* PKE testing was driven by SCEI "test0" bucket; code coverage remains
...
effectively full. The code is believed to be functionally complete now.
Some code cleanup is included at no extra charge in this version.
Fri Mar 13 20:21:57 1998 Frank Ch. Eigler <fche@cygnus.com>
* sky-vu1.c: (dump_mem): Commented out function to satiate
warning-ful compilation.
* sky-pke.c: (pke_reset): New function, called explicitly at
initialization and at FBRST.
(pke_fifo_flush): New function to flush (skip over) existing
quadwords in FIFO.
(pke_fifo_fit): New function to add space for new quadword in
FIFO.
(pke_fifo_access): New function to absolute-index into FIFO.
(pke_fifo_old): New function to remove old quadwords from FIFO.
(pke_begin_interrupt_stall): New function to abstract
interrupt-caused stalls.
(pke_*): Access PKE FIFO only thorugh pke_fifo functions.
(pke_pcrel_*): Renamed pke_pc_* functions.
(pke_code_unpack): Numerous logic tweaks for latest UNPACK
behavior changes & clarifications from SCEI.
* sky-pke.h (struct pke_fifo): New explicit FIFO representation.
(struct pke_device): Use struct above.
(PKE_DEBUG): Removed macro as misnomer.
* sky-hardware.c: Moved *_cmd_install declarations out.
* sky-hardware.h: Moved *_cmd_install declarations in.
1998-03-14 01:47:06 +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
Angela Marie Thomas
786786305f
new .Sanitize files
1998-03-13 11:03:37 +00:00
Gavin Romig-Koch
ca8c38472e
Sanity for 4320
1998-03-11 17:05:20 +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
Andrew Cagney
10572b6a43
* sky-gdb.c (vu_option_handler): Delete unused local unit.
...
(log_option_handler): Delete extra arg from printf, twice.
* sky-pke.c (config.h): Include.
(string.h, strings.h): Include.
(pke_issue): Delete unused locals imm, num
* sky-libvpe.c: Pacify GCC.
* sky-gpuif.c (gif_io_write_buffer): Pacify GCC.
* sky-dma.c (config.h): Include.
(string.h, strings.h): Include.
(dma_io_read_buffer): Pacify GCC.
(dma_io_write_buffer): Pacify GCC. Initialize pmem before first use.
(do_dma_transfer): Delete unused local variables qwbuf and local.
1998-03-11 11:57:55 +00:00
Gavin Romig-Koch
5fa71251a0
* vr4320.igen (clz,dclz) : Added.
...
(dmac): Replaced 99, with LO.
1998-03-10 15:37:24 +00:00
Andrew Cagney
e625962d8e
Delete function sim_stop.
1998-03-10 05:05:44 +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
Gavin Romig-Koch
d843d7ca34
* mips/vr4320.igen: Mark the insn in here as vr4320 only.
...
Reorder the insns.
1998-03-09 20:22:45 +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
Frank Ch. Eigler
fd90908986
* Numerous changes & small bug fixes in PKE sim code and test suite.
...
for sim/testsuite/sky:
* t-pke4.run: Removed test, since it succeeds yet returns a
non-zero exit code.
* Makefile.in (RUNOPTS): Removed --memory-size flag, made
unnecessary by sim/mips/interp.c changes.
(TESTS): Removed t-pke4.ok target.
* t-pke3.trc: Classified tests with [---] indicators, to match
items up with entries documented in testplan.sgml. Added numerous
additional tests. They assert behavior that assumes certain
favorable answers to PKE question set #6 to SCEI.
* t-pke1.trc: Added some [---] indicators.
for sim/mips:
* sky-pke.c (pke_issue): Revamped interrupt & stall code. Assume
that ER1/ER0/PIS bits are only set if not masked by ERR bits.
Signal PIS only if unmasked.
(pke_code_error): Signal ER1 only if unmasked.
(pke_pc_fifo): Signal ER0 only if unmasked.
(pke_code_unpack): Round up num_operands for last operand's
partial-word. Factor out "R" bit handling for better coverage
analysis. Fill upper words of a quadword with zeroes for Vn_m
UNPACK with n < 4.
* sky-device.c (device_error): Made function accept varargs.
* sky-device.h (device_error): Changed declaration to match.
* interp.c (sim_open): Made 0x0000 area memory be an alias of
the K0/K1 segments. Sanitized code.
1998-03-06 22:46:40 +00:00
Andrew Cagney
6ba4c1539f
Fix opcode fields in SHFL.*
1998-03-05 21:32:31 +00:00
Frank Ch. Eigler
370e0ef781
* Fixed a double-buffering bug in PKE, due to naive use of
...
complex macros with side-effects. Gripes.
1998-03-05 20:23:59 +00:00
James Lemke
9ce23bf951
* interp.c (sim_open): Map 4M of memory at zero for SKY sim only.
1998-03-04 23:33:36 +00:00
Doug Evans
599bae2187
* Makefile.in (SIM_EXTRA_DEPS): Add cpu-opc.h.
...
(arch.o): Delete cpu-opc.h dependency.
(decode.o,model.o): Likewise.
(decodex.o,modelx.o): Likewise.
1998-03-04 21:22:09 +00:00
Doug Evans
83d9ce0029
* cpu.h,model.c,sem-switch.c,sem.c: Regenerate.
...
* cpux.h,decodex.[ch],modelx.c,readx.c,semx.c: Regenerate.
1998-03-04 20:14:51 +00:00
Frank Ch. Eigler
5068e793ef
* Merely eliminated silly duplicated code, to raise test coverage.
...
* sky-pke.c (pke_issue): Move interrupt-handling into decode logic.
(pke_code_*): Remove duplicated interrupt-handling code.
1998-03-04 19:14:03 +00:00
Ron Unrau
a859684b25
sim-main.h: track SKY register number changes from gdb
...
interp.c: ditto
1998-03-04 08:47:31 +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
Gavin Romig-Koch
dd15abd5a6
* vr4320.igen: New file.
...
* Makefile.in (vr4320.igen) : Added.
* configure.in (mips64vr4320-*-*): Added.
* configure : Rebuilt.
* mips.igen : Correct the bfd-names in the mips-ISA model entries.
Add the vr4320 model entry and mark the vr4320 insn as necessary.
1998-03-03 17:03:57 +00:00
Andrew Cagney
ca6f76d135
Fix DIV, DIV1 (wrong check for overflow) and DIVU1 (shouldn't check
...
for overflow).
Pacify GCC.
1998-03-03 05:39:49 +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
Frank Ch. Eigler
f62dff78f9
* Continuing PKE sim unit tests. Found little bugs in VU instead.
...
* sky-vu1.c (vu1_io_write_register_window): Make CIA (pc) write
effective by updating more registers.
* sky-libvpe.c: Updated to match earlier VU state-change code.
* sky-vpe.h: Removed unused globals from declarations.
1998-03-03 00:00:09 +00:00
Frank Ch. Eigler
48c7100eba
* Added more PKE unit tests. Coverage now at 90%.
...
* t-pke3.trc: Added FLUSH* / PKEMS* tests.
1998-03-02 23:57:35 +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
8c6a2b75b9
add sky-gdb.c to sky_files
1998-03-02 14:43:52 +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
Ron Unrau
aaab4e578d
sky-gdb.c: new file - temporary demo version of the sim interface
...
sky-hardware.c: add sim commands
Makefile.in: build sky-gdb.c
1998-03-01 14:41:38 +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
Andrew Cagney
0e701ac37b
Add generic sim-info.c:sim_info() function using module mechanism.
...
Clean up compile probs in mips/vr5400.
1998-02-28 02:51:06 +00:00
Doug Evans
7c5d88c1bb
* interp.c (DECLARE_OPTION_HANDLER): Use it.
...
(mips_option_handler): New argument `cpu'.
(sim_open): Update call to sim_add_option_table.
1998-02-28 02:43:31 +00:00
Jeff Law
3406569f7f
* simops.c (inc): Fix typo.
1998-02-28 01:41:28 +00:00
Frank Ch. Eigler
8accf4df14
* Updated build to allow srcdir != objdir. Tests still do not use dejagnu.
1998-02-27 21:58:44 +00:00
Frank Ch. Eigler
f0bb94cd67
* Major endianness fixes on sky code today. The milestone sample and existing
...
PKE tests run identically on SPARC/Solaris and x86/Linux.
* sky-pke.c (pke_io_{read,write}_buffer): Endianness fixes aka
"E-fixes" in register and FIFO read/writes.
(pke_code_{pkemscalf,pkemscal}): E-fixes in VU CIA setting.
(pke_code_{mpg,unpack}): E-fixes in VU memory & tracking updates.
(pke_code_direct): E-fixes in GPUIF FIFO stuffing.
* sky-pke.h (PKE_MEM_WRITE): E-fixes in trace file writing.
* sky-vu0.c (vu0_attach): Allocate micro/data memory with zalloc
to guarantee sufficient (16-byte) alignment.
* sky-vu1.c (vu1_attach): Ditto.
(vu1_io_read_register_window): *PARTIAL* E-fixes in register accesses.
* sky-libvpe.c (gif_write): E-fixes in GPUIF FIFO stuffing.
* sky-gpuif.c (gif_io_{read,write}_buffer): E-fixes in
register and FIFO read/writes.
* sky-dma.c (do_dma_transfer_tag): E-fixes in tag reading.
1998-02-27 21:52:40 +00:00
Doug Evans
966df5804d
* sim-base.h (sim_cpu_base): New members name, options.
...
(sim_cpu_lookup): Add prototype.
* sim-module.c (sim_pre_argv_init): Provide default names for cpus.
* sim-options.h (DECLARE_OPTION_HANDLER): New argument `cpu'.
(sim_add_option_table): Update prototype.
* sim-options.c (sim_add_option_table): New argument `cpu'.
(standard_option_handler,standard_install): Update.
(sim_parse_args): Handle cpu specific options.
(print_help): New static function.
(sim_print_help): Call it. Print cpu specific options.
(find_match): New static function.
(sim_args_command): Call it. Handle cpu specific options.
* sim-utils.c (sim_cpu_lookup): New function.
* sim-memopt.c (memory_option_handler): Update.
(sim_memopt_install): Update.
* sim-model.c (model_option_handler): Update.
(model_install): Update.
* sim-profile.c (profile_option_handler): Update.
(profile_install): Update.
* sim-trace.c (trace_option_handler): Update.
(trace_install): Update.
* sim-watch.c (watchpoint_option_handler): Update.
(sim_watchpoint_install): Update.
* cgen-scache.c (scache_option_handler): Update.
(scache_install): Update.
1998-02-27 18:39:22 +00:00
Doug Evans
2e7236783e
* mloopx.in: Fix handling of branch in parallel with another insn.
...
* semx.c: Regenerate.
1998-02-27 18:24:00 +00:00
Frank Ch. Eigler
d22ea5d001
* PKE unit testing continuing. Confusion over PKE1 double-buffering
...
mechanism is starting to subside.
* sky-pke.h (PKE_FLAG_INT_NOLOOP): Added device flag to indicate
presence of stalled & interrupted PKEcode.
* sky-pke.c (pke_issue): Added PKEcode interrupt bit handling.
(pke_flip_dbf): Changed double-buffering logic to match SCEI
clarification.
(pke_code_*): Added interrupt bit stalling clause.
(pke_code_pkems*): Added ITOP/ITOPS transmission code.
(pke_code_unpack): Added more careful logic for processing
overflows of VU data memory addresses.
1998-02-25 19:34:06 +00:00
Frank Ch. Eigler
574edea8b2
* Enlarged PKE testing mini bucket. Not yet converted to dejagnu.
1998-02-25 19:27:34 +00:00
Doug Evans
9495a61e55
* Makefile.in (RUNTEST): Fix path to runtest.
1998-02-25 19:02:58 +00:00
Andrew Cagney
f89c0689a1
Finish implementation of r5900 instructions.
1998-02-25 15:31:15 +00:00
Doug Evans
6cd37f1563
* Make-common.in (check): Run `make check' in testsuite dir.
1998-02-25 15:15:09 +00:00
Andrew Cagney
390ffa8935
Extend TRACE macros to include more cases.
...
Add MAX/MIN floating point functions.
Add max32, min32 floating point contstants.
1998-02-25 15:15:08 +00:00
Andrew Cagney
37d49885d3
Test r5900 floating point instructions.
1998-02-25 15:04:11 +00:00
Jeff Law
097e6924c2
* simops.c (signed multiply instructions): Cast input operands to
...
signed32 before casting them to signed64 so that the sign bit
is propagated properly.
1998-02-25 08:58:23 +00:00
Doug Evans
c248113005
delete FIXME
1998-02-25 08:37:11 +00:00
Doug Evans
b500809f33
* genmloop.sh (engine_resume): Update insn_count before exiting.
...
(engine_resume_full): Keep accurate core profile data.
* cgen-utils.c (sim_disassemble_insn): Don't use
sim_core_read_aligned_N, it messes up profiling results.
1998-02-25 08:25:11 +00:00
Doug Evans
ab062d2278
(profile_print_core): Simplify by calling sim_core_map_to_str.
...
* sim-core.h (sim_core_map_to_str): Declare.
* sim-core.c (sim_core_map_to_str): Make non-static.
1998-02-25 07:47:32 +00:00
Doug Evans
751197f231
(profile_print_core): Simplify by calling sim_core_map_to_str.
...
* sim-core.h (sim_core_map_to_str): Declare.
* sim-core.c (sim_core_map_to_str): Make non-static.
1998-02-25 07:36:23 +00:00
Doug Evans
3910fb4a51
* sim-profile.c (profile_print): Delete duplicate test of
...
PROFILE_INSN_IDX.
(profile_print_pc): Exit early if data collection not set up.
1998-02-25 07:16:09 +00:00
Frank Ch. Eigler
89154e47a3
* Unit testing of PKE sim continuing. Only minor VU addressing problems
...
found today.
1998-02-25 01:13:05 +00:00
Frank Ch. Eigler
559eba20a8
* Added test bucket directory for sky tests, which may be run in conjunction
...
with the mips64r5900 tests. It's all meant to be sanitized out without
"keep-sky".
1998-02-25 01:08:47 +00:00
Ian Carmichael
733cfc784b
* A bunch of changes which get us closer to running the sample.
1998-02-24 23:37:20 +00:00
Mark Alexander
a9faef120e
* Makefile.in: Last change was bad. Define NL_TARGET
...
so that targ-vals.h will be used instead of syscall.h.
* simops.c: Use targ-vals.h instead of syscall.h.
(OP_F020): Disable unsupported system calls.
1998-02-24 05:07:11 +00:00
Mark Alexander
845a591785
* nltvals.def: Regenerate with MN10300 additions.
1998-02-24 05:00:53 +00:00
Andrew Cagney
d3e1d59414
Add tracing to r5900 p* instructions.
1998-02-24 03:42:27 +00:00
Frank Ch. Eigler
b4d2f483b3
* PKE sim unit testing continuing. Starting to run milestone sample.
...
* sky-pke.h (PKE_MEM_READ): Removed "read" entry from FIFO trace.
* sky-pke.c (pke_attach): Set trace file to line buffering iff
open.
(pke_io_read_buffer, pke_io_write_buffer): Handle erroneous
reads/writes by zero-padding.
(pke_io_write_buffer): Switch to more bit-field definition macros.
(pke_issue): Remove "stalled" entry from FIFO trace.
(pke_pc_advance): Correct logic for DMA-tag-skipping, PKEcode
classification.
(pke_code_mskpath3): Sketch of possible PATH3 masking method.
(pke_code_mpg): Keep order of lower/upper VU words as supplied.
(pke_code_unpack): Logic change for wl/cl/num unpacking. Weird.
1998-02-24 02:10:23 +00:00
Ron Unrau
ce4713dc3b
Make it compile again for -DTARGET_SKY
1998-02-23 23:40:40 +00:00
Doug Evans
02310b01ca
* sim-main.h: #include symcat.h.
...
* m32r-sim.h (BRANCH_NEW_PC): Delete current_cpu arg.
(NEW_PC_{BASE,SKIP,2,4,BRANCH_P}): New macros.
* cpu.[ch],decode.[ch],extract.c,model.c: Regenerate.
* sem.c,sem-switch.c: Regenerate.
* m32r-sim.h (SEM_NEXT_PC): Modify to handle parallel exec.
* mloopx.in: Rewrite.
* cpux.[ch],decodex.[ch],readx.c,semx.c: Regenerate.
1998-02-23 21:36:15 +00:00
Doug Evans
93f34464a3
* cgen-sim.h (SEM_NEXT_PC): New arg `len'.
1998-02-23 21:28:14 +00:00
Nick Clifton
677c3439a7
Implment backup PC shadowing of CR6.
1998-02-23 20:31:19 +00:00
Doug Evans
36dbc8bb7c
* sim-xcat.h: Delete.
...
* cgen-mem.h: Delete inclusion of sim-xcat.h.
* cgen-sim.h: Ditto.
* sim-alu.h: Replace sim-xcat.h with symcat.h.
* sim-n-bits.h: Ditto.
* sim-n-core.h: Ditto.
* sim-n-endian.h: Ditto.
1998-02-23 18:21:14 +00:00
Michael Meissner
3aeca4624a
Handle short reads and EOF
1998-02-23 18:21:13 +00:00
Mark Alexander
e04b0d76da
* Makefile.in: Get header files from libgloss/mn10300/sys.
1998-02-23 17:51:23 +00:00
Andrew Cagney
a48e8c8d21
sim-main.h: Re-arange r5900 registers so that they have their own
...
little struct.
interp.c: Update. Also add floating point Max/Min functions.
mips.igen: Remove r5900 tag from any floating point instructions.
r5900.igen: Rewrite. Implement *all* floating point insns (except ld/st).
r5400.igen: Tag mdmx functions as being mdmx specific.
1998-02-23 16:55:38 +00:00
Andrew Cagney
0325f2dc89
Add tracing of booleans and addresses.
1998-02-23 16:43:34 +00:00
Andrew Cagney
2c3c3f790d
Generate ENGINE_ISSUE hooks as part of SMP simulator.
1998-02-23 14:43:13 +00:00
Andrew Cagney
bdfe5c0439
* sim-fpu.h (enum sim_fpu_class): Add sim_fpu_class_denorm.
...
(sim_fpu_fpto, sim_fpu_tofp): Define.
1998-02-23 09:18:30 +00:00
Andrew Cagney
3c1e924307
* ld-insn.c (parse_function_record): When -Wnodiscard, suppress
...
discarded function warning.
* igen.c (main): Clarify -Wnodiscard.
* ld-insn.c (parse_function_record): For functions, allow use of
instruction style function model records
1998-02-23 08:55:41 +00:00
Jeff Law
7eab31b76f
* simops.c: Include sim-types.h.
1998-02-22 22:59:43 +00:00
Frank Ch. Eigler
653c259005
* PKE sim unit testing continuing. The DIRECT and MPG instructions
...
were hammered in today's runs. Work is beginning in endian-proofing
the code.
* sky-pke.c (pke1_issue): Issue on correct PKE device.
(pke_io_write_buffer, pke_code_mpg, pke_code_unpack): Perform more
endian conversions.
(pke_code_mpg, pke_code_direct): Add operand alignment assertions.
(pke_code_mpg): Correct VU stall checks. Correct VU opcode
transfer ordering.
(pke_code_direct): Correct typos in DIRECT operand accessing.
(pke_code_unpack): Correct conditional sign-extension handling.
* sky-gpuif.c (gif_io_read_buffer, gif_io_write_buffer): Correct
assertion polarity.
(gif_read_tag): Disable faulty DMA-tag testing code.
1998-02-20 23:59:10 +00:00
Michael Meissner
ca0e29d12b
fix typo
1998-02-20 21:54:06 +00:00
Nick Clifton
c801e51bb6
Fixed UNLOCK test.
1998-02-20 21:01:05 +00:00
Nick Clifton
ab361c3582
Fixed MVFC test.
1998-02-20 20:56:35 +00:00
Nick Clifton
78cbe8f6e4
Fix REMU test.
1998-02-20 20:52:30 +00:00
Nick Clifton
caa71f099d
More instruction tests.
1998-02-20 19:55:27 +00:00
Nick Clifton
f83a90c419
Last of the instruction tests.
1998-02-20 19:01:58 +00:00
Andrew Cagney
9655c43963
Implement sim_fpu_is() and sim_fpu_cmp(). Note problem with detecting
...
denorms.
1998-02-20 07:20:53 +00:00
Andrew Cagney
d147d3844f
Backout of revision 1.35. Abort may be valid operation.
1998-02-20 03:20:49 +00:00
Nick Clifton
e843e28b1a
More instruction tests.
1998-02-20 02:04:46 +00:00
Frank Ch. Eigler
534a3d5cf1
* Continuing unit testing of PKE simulator. It now successfully matches
...
the SCEI PKE simulator's output on its own test sample (tsv432.in).
* sky-pke.h (PKE_MEM_READ, PKE_MEM_WRITE, PKE_REG_MASK_SET): Add
trace file records.
* sky-pke.c: (pke_track_write): Removed function. Replaced with
in-line modifications to VU tracking tables.
(pke_attach): Attach VU tracking tables. Use line buffering on
trace files.
(pke_issue): Spit out additional trace records.
(pke_pc_operand_bits): Correct bitfield masking error.
(*): Replace sim_read/write with kludge PKE_MEM_READ/WRITE
throughout.
(pke_code_unpack): Correct numerous small bugs in operand decoding
etc.
1998-02-20 01:50:01 +00:00
Doug Evans
cab581557e
* m32r.c (do_lock,do_unlock): Delete.
...
* cpu.[ch],decode.[ch],extract.c,model.c: Regenerate.
* sem.c,sem-switch.c: Regenerate.
* cpux.[ch],decodex.[ch],readx.c,semx.c: Regenerate.
1998-02-20 00:45:47 +00:00
Nick Clifton
c4448eec8c
Yet more tests of m32r instructions
1998-02-20 00:30:14 +00:00
Nick Clifton
67dfe6e82c
Even more instruction tests
1998-02-19 23:56:39 +00:00
Nick Clifton
dfe9df588d
Test even more instructions.
1998-02-19 23:18:45 +00:00
Nick Clifton
0a2f6d9304
test 32 bit BCL instruction.
1998-02-19 21:52:27 +00:00
John Metzler
180d1f0b50
Fall back from using igen to using gencode for the mips64vr4100 because
...
igen is not ready yet.
1998-02-19 21:28:50 +00:00
Nick Clifton
4630c94949
Add more tests.
1998-02-19 19:43:18 +00:00
Nick Clifton
d03da19e36
Added a couple of tests.
1998-02-19 19:16:54 +00:00
Gavin Romig-Koch
f319bab251
* interp.c (load_memory): Add missing "break"'s.
1998-02-19 15:24:10 +00:00
Frank Ch. Eigler
e23069923b
* Started PKE sim unit testing. A number of minor errors were corrected.
...
A few PKE instructions even run correctly! Next missing function of
interest: FIFO pruning.
* sky-pke.c (pke_issue): Take extra SIM_DESC argument.
(pke_attach): Attach correct PKE0/PKE1 device. Open trace file if
VIF{0,1}_TRACE_FILE env. var. is defined.
(pke_io_write_buffer): Classify words in FIFO quadword. Use
kludgey sim_core routines to access DMA registers.
(pke_pc_advance): Add PKEcode classification. Correct DMA tag
skipping. Emit trace records.
(pke_pc_fifo): Add PKEcode operand classification.
(pke_check_stall): Perform stall checks against updated register
scheme.
(pke_code_unpack): Correct operand-count calculation.
(pke_code_stmask): Correct instruction skipping.
* sky-pke.h (PKE_MEM_WRITE, PKE_MEM_READ): New kludge macros.
(BIT_MASK_BTW): Corrected off-by-one error.
(enum wordclass): Classify words in a FIFO quadword.
* sky-dma.c (dma_io_read_buffer): Correct address checking assertions.
* sky-engine.c (engine_run): Pass along SIM_DESC to PKE
instruction issue code.
1998-02-18 21:26:38 +00:00
Doug Evans
b1c9871889
Delete rac-d,rac-ds,rach-d,rach-ds, they're aliases.
1998-02-18 20:39:02 +00:00
Doug Evans
cf6145bc28
.Sanitize for devo/sim/testsuite/sim/m32r.
1998-02-18 20:37:27 +00:00
Jeff Law
0983e650e5
* simops.c (multiply instructions): Cast input operands to a
...
signed64/unsigned64 type as appropriate.
1998-02-18 20:05:53 +00:00
James Lemke
3733e09fb6
DMA define names changed (SRCADDR -> MADR).
1998-02-18 16:47:03 +00:00
Andrew Cagney
8dcc896d0e
Extend sim-trace.[hc] to include a generic set of macro's for tracing
...
ALU/... inputs/outputs.
Base implementation on original v850 code.
Update igen to generate code interfacing with newer sim-trace.[hc].
1998-02-18 04:11:09 +00:00
Doug Evans
b8641a4d20
* Makefile.in (M32R_OBJS): Add cpu.o.
...
(cpu.o): Add rule for.
(NL_TARGET): Define.
* configure.in: Add AC_CHECK_PROG(SCHEME).
* cpu.c: New file.
* cpuall.h,cpu.h,decode.c,decode.h,extract.c,model.c: Regenerate.
* sem-switch.c,sem.c: Regenerate.
* mloop.in (execute): Update call to semantic fn.
(M32RX_OBJS): Add cpux.o.
(cpux.o): Add rule for.
cpux.c: New file.
* cpux.h,decodex.c,decodex.h,modelx.c,readx.c,semx.c: Regenerate.
* m32rx.c (m32rx_h_accums_{get,set}): Rewrite.
(m32rx_h_cr_{get,set}): New functions.
(m32rx_h_accums_{get,set}): New functions.
* mloopx.in: Rewrite main loop.
* m32r.c (do_trap): Move from here.
* sim-if.c (do_trap): To here, and rewrite to use CB_SYSCALL support.
(sim_create_inferior): Use h_pc_set.
(h_pc_{get,set}): New functions.
(h_gr_{get,set}): New functions.
(syscall_{read,write}_mem): New functions.
* sim-main.h (h_{gr,pc}_{get,set}): Declare.
1998-02-18 02:26:47 +00:00
Doug Evans
5bd0ca8616
* Make-common.in (CGEN_MAIN_SCM): Update.
...
* aclocal.m4 (USE_MAINTAINER_MODE): New variable.
1998-02-18 02:05:54 +00:00
Doug Evans
4f071e3056
* cgen-sim.h (SEMANTIC_CACHE_FN): Delete.
...
(SEMANTIC_FN): Rewrite declaration.
(DECODE): Update type of semantic_fast member.
({EX,SEM}_FN_NAME): Have only one version.
* cgen.sh: Support building cpu.c.
* sim-base.h (sim_state_base): Delete conditionals surrounding
member scache_size.
1998-02-18 01:30:04 +00:00
Ian Carmichael
374ed20d80
* XGKICK now uses memory-based GIF fifo.
1998-02-17 23:50:35 +00:00
Doug Evans
761784f055
keep config, lib, sim.
1998-02-17 22:05:11 +00:00
Doug Evans
fdad7ba5a2
* config/default.exp: New file.
...
* lib/sim-defs.exp: New file.
* sim/m32r/*: m32r dejagnu simulator testsuite.
1998-02-17 21:58:11 +00:00
Doug Evans
6b47885968
keep m32r
1998-02-17 21:54:07 +00:00
Doug Evans
6b35d9dd89
m32r simulator testsuite
1998-02-17 21:52:53 +00:00
Doug Evans
ed063d525f
* Makefile.in (build_alias): Define.
...
(arch): Define.
(RUNTEST_FOR_TARGET): Delete.
(RUNTEST): Fix.
(SCHEME,SCHEMEFLAGS,CGENDIR,CGENFLAGS,CGENFILES): Define.
(check): Depend on site.exp.
(site.exp): New target.
(cgen): New target.
* configure.in: Call AC_CHECK_PROG(SCHEME) if using cgen.
(arch): Define from target_cpu.
* configure: Regenerate.
1998-02-17 20:54:50 +00:00
Michael Meissner
9902213101
Better tracing for conditional branches
1998-02-17 19:38:48 +00:00
Andrew Cagney
fbb8b6b9ab
For sim_fetch_register / sim_store_register: Add LENGTH parameter,
...
return actual size of register, 0 if not applicable, -1 of legacy
implementation.
1998-02-17 04:06:38 +00:00
Ian Carmichael
c5efcf3c85
* Added VU0_CIA register #define.
1998-02-16 22:09:57 +00:00
Ian Carmichael
04a7f72aea
* Add magic VU1_CIA register.
1998-02-16 22:07:11 +00:00
Ian Carmichael
9c577d9a94
* Partially implement new VPE_STAT register.
1998-02-16 21:44:45 +00:00
Ron Unrau
7aa6042f58
configure: rerun autoconf
...
interp.c: shield dummy vu registers with -DTARGET_SKY
1998-02-16 04:33:28 +00:00
Andrew Cagney
729295b597
Implement "dbt" and "rtd" instructions.
...
Import fixes to dmap_addr() from mitsu branch.
1998-02-16 00:35:57 +00:00
Andrew Cagney
b104806fd3
Test the RDT and DBT instructions.
1998-02-15 23:21:19 +00:00
Ron Unrau
97908603a4
configure.in: add -DTARGET_SKY for mips64r5900-sky-elf configure.
...
sim-main.h: Define regs for sky if -DTARGET_SKY
interp.c: Initial register upload/download support for sky.
1998-02-15 21:33:13 +00:00
Ian Carmichael
486c714a26
* Vu1 state moved to struct. Host-target endian twiddling. Misc other fixes.
1998-02-14 05:34:08 +00:00
Michael Meissner
77cfb0a136
TIC80 uses little endian doubles, not big endian
1998-02-14 00:59:44 +00:00
Frank Ch. Eigler
db6dac32c7
- PKE simulation almost finished. Needed enhancements:
...
* trace file generation
* FIFO pruning
- PKE functions still missing due to external dependencies:
* interrupt to 5900 (igen?)
* VU busy checking (sky-vu / coprocessor registers)
* PATH3 masking (sky-gpuif / covert control interface)
1998-02-13 23:29:38 +00:00
Michael Meissner
8114673a2b
Pass floating point structure address instead of the structure itself
1998-02-13 22:12:51 +00:00
Patrick Macdonald
8f9acca317
First functional drop of the gpuif code plus modifications to
...
non-gpuif code to allow sky sim to build with --enable-sim-warnings
1998-02-13 18:02:24 +00:00
Andrew Cagney
ac9a7d8a2c
Implement separate user (SPU) and interrupt (SPI) stack pointers.
1998-02-13 05:22:49 +00:00
Andrew Cagney
93c6a010dc
Test switching between SPI/SPU.
1998-02-13 05:19:02 +00:00
Doug Evans
d04b9852c0
Beginnings of m32r simulator testsuite.
1998-02-13 03:16:48 +00:00
Doug Evans
6dc224fb87
Keep m32r-elf.
1998-02-13 03:01:10 +00:00
Doug Evans
02e565a270
* sim-main.h (CIA_GET,CIA_SET): Provide dummy definitions for now.
1998-02-12 03:55:30 +00:00
Doug Evans
e0bd6e186c
* decode.c, decode.h, sem.c, sem-switch.c, model.c: Regenerate.
...
* cpux.c, decodex.c, decodex.h, readx.c, semx.c, modelx.c: Regenerate.
1998-02-12 02:54:20 +00:00
James Lemke
5d5a459fd1
Update DMA register addresses
1998-02-11 23:19:52 +00:00
Andrew Cagney
e0deacd295
* sim-load.c (sim_load_file): Print LMA/VMA according to value
...
used.
1998-02-11 21:10:23 +00:00
Frank Ch. Eigler
43a6998b41
- PKE simulation code almost complete. Still missing:
...
* handling of super duper packed UNPACK arguments
* skipping of in-progress instruction on break/stop
* interrupt generation to 5900
* PATH2/PATH3 status checking & masking
* ability to write to FIFO one word (instead of quadword) at a time
1998-02-11 19:42:15 +00:00
Andrew Cagney
86b46474fd
Update tests to match recently modified ABI
1998-02-11 07:12:48 +00:00
Andrew Cagney
b41dff6b54
Don't abort() when system call is unknown.
1998-02-11 07:11:28 +00:00
Andrew Cagney
19431a0280
Ensure zero-hardwired bits in DPSW remain zero.
1998-02-11 06:34:30 +00:00
Ian Carmichael
52793fab2f
* Many changes to make sky sim build with --enable-sim-warnings.
1998-02-10 20:08:16 +00:00
Andrew Cagney
8904ad6940
D10v memory map changed. Update.
...
Initialize IMAP/DMAP registers to hardware reset value.
1998-02-10 07:26:55 +00:00
Doug Evans
dc4e95adcc
* decode.c, sem.c: Regenerate.
...
start-sanitize-m32rx
* cpux.h, decodex.c, readx.c, semx.c: Regenerate.
* m32rx.c (m32rx_h_accums_set): New function.
(m32rx_model_mark_[gs]et_h_gr): New function.
* mloopx.in: Rewrite.
* Makefile.in (mloopx.o): Build with -parallel.
* sim-main.h (_sim_cpu): Delete member `par_exec'.
* tconfig.in (WITH_SEM_SWITCH_FULL): Define as 0 for m32rx.
end-sanitize-m32rx
1998-02-10 03:51:12 +00:00
Doug Evans
6b373fab44
(PAREXEC): Renamed from PARALLEL_EXEC. All uses updated.
...
(SEMANTIC{,_CACHE}_FN): Fix return type.
1998-02-10 03:37:49 +00:00
Doug Evans
e61871cedc
* cgen-sim.h (DECODE): Always use switch for `read' for now.
...
* cgen.sh (decode): Add s/@arch@/$arch/.
* genmloop.sh (@cpu@_engine_run): Delete `current_state'.
(engine_resume): Likewise. Make `engine' volatile. Save copy
of cpu pointer in volatile object. Initialize read switch if
-parallel.
1998-02-10 01:43:42 +00:00
Ian Carmichael
dde66fa756
* Make it so vu.bin is an optional file.
1998-02-10 00:13:54 +00:00
Ian Carmichael
2c88fae9ad
* Add hardware_init hook.
1998-02-09 23:53:33 +00:00
Doug Evans
dde54cb845
* genmloop.sh (@cpu@_engine_run): Delete `current_state'.
...
(engine_resume): Likewise. Make `engine' volatile. Save copy
of cpu pointer in volatile object.
1998-02-09 22:51:21 +00:00
Andrew Cagney
452b380811
Fix double dependency for itable.[hc]. Was causing both the mips16 and the
...
normal mips simulators to be built.
1998-02-07 06:24:51 +00:00
Frank Ch. Eigler
fba9bfed2d
- Added almost all code needed for PKE0/1 simulation. Considers
...
clarifications given in SCEI question/answer batches #1 and #2 .
1998-02-07 00:12:14 +00:00
Doug Evans
f3534b6867
sky sanitization
1998-02-06 03:27:55 +00:00
Doug Evans
5759734b2c
* Makefile.in (SIM_SKY_OBJS,MIPS_EXTRA_OBJS): New vars.
...
(SIM_OBJS): Add $(MIPS_EXTRA_OBJS).
* configure.in: Set mips_extra_objs to sky files if mips64r59*-sky-*.
* configure: Regenerated.
1998-02-06 03:19:56 +00:00
Doug Evans
72db5610de
Prepend sky- to sky header file names.
1998-02-06 03:11:44 +00:00
Doug Evans
803f52b9dc
Second pass at moving sky files into mips dir,
...
prepend sky- to all #include's of sky headers.
1998-02-06 03:09:03 +00:00
Doug Evans
0b0caaf11b
delete txvu/dvp/sky stuff, lives in mips dir now, configured with
...
mips64r5900-sky-elf.
1998-02-06 02:42:34 +00:00
Doug Evans
aea481da17
First pass at moving sky stuff from ../txvu to mips dir.
1998-02-06 02:29:22 +00:00
Andrew Cagney
8c9ee21e2f
New files, update .Sanitize
1998-02-05 22:08:33 +00:00
Doug Evans
61b62559ba
* cgen-sim.h (EX_FN_NAME): _exc_ -> _ex_.
...
(SEM_INSN): New macro.
1998-02-05 21:29:18 +00:00
Doug Evans
d542677191
Sanitize m32rx from cpu.h and m32r-sim.h.
1998-02-05 21:16:08 +00:00
Doug Evans
b8a9943dd4
* Makefile.in (m32r.o): Depend on cpu.h
...
(extract.o): Pass -DSCACHE_P.
* mloop.in (extract{16,32}): Update call to m32r_decode.
* arch.h,cpu.h,cpuall.h,decode.[ch]: Regenerate.
* extract.c,model.c,sem-switch.c,sem.c: Regenerate.
* sim-main.h: #include "ansidecl.h".
Don't include cpu-opc.h, done by arch.h.
start-sanitize-m32rx
* Makefile.in (M32RX_OBJS): Build m32rx support now.
(m32rx.o): New rule.
* m32r-sim.h (m32rx_h_cr_[gs]et): Define.
* m32rx.c (m32rx_{fetch,store}_register): Update {get,set} of PC.
(m32rx_h_accums_get): New function.
* mloopx.in: Update call to m32rx_decode. Rewrite exec loop.
* cpux.h,decodex.[ch],modelx.c,readx.c,semx.c: Regenerate.
end-sanitize-m32rx
1998-02-05 21:01:06 +00:00
Ian Carmichael
e46ede536a
* Update configure: txvu-elf changed to dvp-elf.
1998-02-04 18:46:18 +00:00
Andrew Cagney
37379a256b
IGEN - Replace IMEM (IMEM_IMMED) macro with IMEM<insn-size> macro,
...
update v850, tic80 and mips simulators.
IGEN - Prepend prefix to more generated symbols and macros
(idecode_issue, instruction_word).
IGEN - Add -Wnowith option to supress warnings about word size
inflicts in input files.
MIPS - Clean up Makefile.in, m16.igen, m16.dc (new), m16run.c (new) so
that a mips16 simulator built using IGEN can be compiled.
1998-02-03 05:39:15 +00:00
Jason Molenda
240dd45fde
Add sim-main.h to v850e_files for sanitization.
1998-02-03 01:37:25 +00:00
Andrew Cagney
4634263c4c
Make IGEN the generator for all but mips16 simulators.
...
Clean up botched merge in interp.c:sim_open().
1998-02-02 14:14:17 +00:00
Andrew Cagney
a97f304b04
Add support for configuring the size of the floating point unit (fp_word).
...
For mips, move fp_registers into a separate array of type fp_word[].
1998-02-02 14:06:52 +00:00
Andrew Cagney
2acd126a47
Rewrite the mipsI/II/III pending-slot code.
1998-02-02 13:49:17 +00:00
Andrew Cagney
192ae475f9
Always compile FP code (test for FP at run-time).
...
Remove dependance of interp.c on gencode.c's output.
1998-02-02 08:25:33 +00:00
Andrew Cagney
fcb12def35
New test - verify sdl insn.
1998-02-02 06:16:07 +00:00
Andrew Cagney
01737f42d8
mips: Add multi-processor support for r5900. Others might work.
...
common, igen: Fix MP related bugs.
1998-02-01 03:29:48 +00:00
Andrew Cagney
412c4e940e
Add config support for the size of the target address and OF cell.
1998-01-31 14:07:23 +00:00
Andrew Cagney
c4db5b04f8
mips - for r5900 generate igen simulator.
...
igen - stop crash when simulator isn't multi-sim'ed
1998-01-31 06:56:13 +00:00
Andrew Cagney
9ec6741b17
igen: Fix SMP simulator generator support.
...
Use the bfd-processor name in the sim-engine switch.
Add nr_cpus argument to sim_engine_run.
tic80, v850, d30v, mips, common:
Update
mips: Fill in bfd-processor field of model records so that
they match ../bfd/archures.
1998-01-31 06:23:41 +00:00
Doug Evans
d034002794
* Makefile.in (M32RX_OBJS): Comment out until m32rx port working.
...
* arch.h (HAVE_CPU_M32R{,X}): Delete, moved to m32r-opc.h.
* arch.c (machs): Check ifdef HAVE_CPU_FOO for each entry.
1998-01-29 21:03:41 +00:00
Doug Evans
7649e13e67
* Makefile.in (M32RX_OBJS): Comment out until m32rx port working.
...
* arch.h (HAVE_CPU_M32RX): Likewise.
* arch.c (machs): Check ifdef HAVE_CPU_FOO for each entry.
1998-01-29 19:25:37 +00:00
Doug Evans
7caebec6f6
* cgen.sh: Portably read parms past $9.
1998-01-29 12:14:10 +00:00
Michael Meissner
241b462435
Print compare bits in human readible form
1998-01-28 23:48:13 +00:00
Ian Carmichael
8ae6b5cd79
* Very, very early support for vu1 based on sce code.
...
* Modified Files:
* ChangeLog Makefile.in hardware.c vu1.c vu1.h
* Added Files:
* libvpe.c libvpe.h vpe.h vu.h
1998-01-28 02:04:32 +00:00
Ian Carmichael
53a560f95a
* Incorporate GPR_SET() macro from mips/sim-main.h
1998-01-27 23:16:23 +00:00
Michael Meissner
629cfff05f
Exit status is in r0, not r2
1998-01-26 03:23:55 +00:00
Michael Meissner
88f7d309fd
If DEBUG has 0x20 set, turn traps into batch debugging
1998-01-25 00:13:19 +00:00
Doug Evans
ea32bce773
sanitize m32rx piece of _sim_cpu
1998-01-23 23:03:29 +00:00
Doug Evans
84af43e37d
add m32rx sanitization to tconfig.in
1998-01-23 23:01:06 +00:00
Doug Evans
ed6f14718b
* Make-common.in (stamp-tvals): New rule.
...
(targ-vals.h,targ-map.c): Depend on it.
(clean): Remove stamp-tvals.
1998-01-23 22:22:23 +00:00
Michael Meissner
8831cb01b0
First round of d10v ABI changes
1998-01-23 16:30:08 +00:00
Frank Ch. Eigler
d1a18c2f83
- added first batch of PKE code
...
- PKE memory region registration
- basic R/W operations
- combined pke[01] -> pke
1998-01-23 00:38:10 +00:00
Fred Fish
cee687386d
* interp.c (UMEM_SEGMENTS): New define, set to 128.
...
(sim_size): Use UMEM_SEGMENTS rather than hardwired constant.
(sim_close): Reset prog_bfd to NULL after closing it. Also
reset prog_bfd_was_opened_p after closing prog_bfd.
(sim_load): Reset prog_bfd_was_opened_p after closing prog_bfd.
(sim_create_inferior): Get start address from abfd not prog_bfd.
(xfer_mem): Do bounds checking on addresses and return zero length
read/write on bad addresses, rather than aborting. Prepare to
be able to handle xfers that cross segment boundaries, but not
yet implemented. Only emit debug message when d10v_debug is
set as well as DEBUG being defined.
1998-01-22 21:51:31 +00:00
Ian Carmichael
34cf4e9aa6
* Incorporate GPR_SET() macro from mips/sim-main.h
1998-01-22 20:48:22 +00:00
Andrew Cagney
2d44e12a27
Use macro GPR_SET(N,VAL) to clear zero registers.
1998-01-21 22:08:37 +00:00
Andrew Cagney
5a32e7eedb
Delete bogus line in ChangeLog
1998-01-21 22:08:32 +00:00
Michael Meissner
e9ae18efdb
#if 0 unused variable
1998-01-21 02:38:09 +00:00
Nick Clifton
34a3df1d20
Fixed duplicate definition of h_accums field in fmt_53_sadd structure
1998-01-20 22:23:34 +00:00
Ian Carmichael
1035731b50
* Devices now get a issue() call.
...
*
* Modified Files:
* ChangeLog configure engine-sky.c hardware.h pke0.c pke0.h
* pke1.c pke1.h vu0.c vu0.h vu1.c vu1.h
1998-01-20 19:22:25 +00:00
Doug Evans
94188a771a
Add m32rx sanitization for new files.
1998-01-20 10:43:37 +00:00
Doug Evans
8e42015266
* Makefile.in: Add m32rx objs, and rules to build them.
...
* cpux.h, decodex.h, decodex.c, readx.c, semx.c, modelx.c: New files.
* m32rx.c, mloopx.in: New files.
1998-01-20 10:43:16 +00:00
Doug Evans
d4feafa692
Regenerate.
1998-01-20 10:38:29 +00:00
Doug Evans
462cfbc4eb
* aclocal.m4: Recognize --enable-maintainer-mode.
...
*/configure: Regenerated.
1998-01-20 06:37:00 +00:00
Doug Evans
2ddc0492e4
* arch-defs.h: Deleted.
...
* sem-switch.c: Regenerate.
1998-01-20 06:24:44 +00:00
Doug Evans
47d57be1db
* cpu.h: New file.
1998-01-20 06:20:45 +00:00
Doug Evans
9d70630e0d
Regenerate.
1998-01-20 06:18:51 +00:00
Doug Evans
369fba3089
* arch.c, arch.h, cpuall.h: New files.
...
* arch-defs.h: Deleted.
* mloop.in: Renamed from mainloop.in.
* sem.c: Renamed from semantics.c.
* Makefile.in: Update.
* sem-ops.h: Deleted.
* mem-ops.h: Deleted.
start-sanitize-cygnus
Add cgen support for generating files.
end-sanitize-cygnus
(arch): Renamed from CPU.
* decode.c: Redone.
* decode.h: Redone.
* extract.c: Redone.
* model.c: Redone.
* sem-switch.c: Redone.
* sem.c: Renamed from semantics.c, and redone.
* m32r-sim.h (PROFILE_COUNT_FILLNOPS): Update.
(GETTWI,SETTWI,BRANCH_NEW_PC): Define.
* m32r.c (WANT_CPU,WANT_CPU_M32R): Define.
(m32r_{fetch,store}_register): New functions.
(model_mark_{get,set}_h_gr): Prefix with m32r_.
(m32r_model_mark_{busy,unbusy}_reg): Prefix with m32r_.
(h_cr_{get,set}): Prefix with m32r_.
(do_trap): Fetch state from current_cpu, not current_state.
Call sim_engine_halt instead of engine_halt.
* sim-if.c (alloc_cpu): New function.
(free_state): New function.
(sim_open): Call sim_state_alloc, and malloc space for selected cpu
type. Call sim_analyze_program.
(sim_create_inferior): Handle selected cpu type when setting PC.
start-sanitize-m32rx
(sim_resume): Handle m32rx.
end-sanitize-m32rx
(sim_stop_reason): Deleted.
(print_m32r_misc_cpu): Update.
start-sanitize-m32rx
(sim_{fetch,store}_register): Handle m32rx.
end-sanitize-m32rx
(sim_{read,write}): Deleted.
(sim_engine_illegal_insn): New function.
* sim-main.h: Don't include arch-defs.h,sim-core.h,sim-events.h.
Include arch.h,cpuall.h. Include cpu.h,decode.h if m32r.
start-sanitize-m32rx
Include cpux.h,decodex.h if m32rx.
end-sanitize-m32rx
(_sim_cpu): Include member appropriate cpu_data member for the cpu.
(M32R_MISC_PROFILE): Renamed from M32R_PROFILE.
(sim_state): Delete members core,events,halt_jmp_buf.
Change `cpu' member to be a pointer to the cpu's struct, rather than
record inside the state struct.
* tconfig.in (WITH_DEVICES): Define here.
(WITH_FAST,WITH_SEM_SWITCH_{FULL,FAST}): Define for the cpu.
1998-01-20 06:17:32 +00:00
Doug Evans
4a44afd5c7
* Make-common.in (cgen-run.o,cgen-scache.o): Delete cgen-scache.h dep.
1998-01-20 03:57:14 +00:00
Doug Evans
36de6f40d4
sanitize keep-cygnus cgen generation
1998-01-20 02:36:21 +00:00
Doug Evans
189e2694ad
* Make-common.in (cgen-{arch,cpu,decode}): New targets.
...
* cgen.sh: New file.
* cgen-scache.h: Deleted.
* cgen-scache.c: Only compile contents if WITH_SCACHE.
(scache_init): Use runtime computed size of SCACHE.
(scache_flush): Likewise.
* cgen-mem.h (GETIMEMU[QHSD]I): Declare.
([GS]ETT{QI,UQI,HI,UHI,SI,USI,DI,UDI}): Declare.
* cgen-sim.h: Scache support moved here.
(PC): Redo definition.
(ARGBUF,SCACHE,PARALLEL_EXEC): Provide forward decls.
(DECODE): Add parallel execution support.
Only include semantic label members if using switch.
(SWITCH,CASE,BREAK,DEFAULT,ENDSWITCH): Portable computed goto support.
(CGEN_CPU): Delete members exec_state, halt_sigrc, halt_jmp_buf.
(IADDR,CIA,SEM_ARG,EX_FN_NAME,SEM_FN_NAME,RECORD_IADDR,SEM_ARGBUF,
SEM_NEXT_PC,SEM_BRANCH_VIA_{CACHE,ADDR},SEM_NEW_PC_ADDR): Moved here
from cgen-types.h.
(engine_{stop,run,resume,halt,signal}): Delete decls.
* cgen-types.h (CGEN_{XCAT3,CAT3}): Delete.
(argbuf,scache): Delete forward decls.
(STATE): Delete decl.
* cgen-utils.c: Don't include decode.h, mem-ops.h, sem-ops.h.
Include cgen-mem.h, cgen-ops.h.
(engine_halt,engine_signal): Delete.
({ex,exc,sem,semc}_illegal): Delete.
(sim_disassemble_insn): Result of extract fn is in bits.
* genmloop.sh: Rewrite.
1998-01-19 21:14:14 +00:00
Doug Evans
8cc6a83b83
* sim-base.h (sim_state_base): Delete member `model'.
...
(sim_cpu_base): Add member `model'.
* sim-model.h (IMP_PROPERTIES): New type.
(MACH): New members imp_props, models.
(models): Delete decl.
* sim-model.c (set_model): Update.
* sim-profile.c (profile_print_model): Update.
1998-01-19 21:11:00 +00:00
Doug Evans
7e13b93461
* sim-utils.c (sim_state_alloc): Delete setting of cpu backlink here.
1998-01-19 21:09:43 +00:00
Doug Evans
76da664703
Fix comment.
1998-01-19 14:13:30 +00:00
Nick Clifton
ef13d3e3ed
replaced call to CGEN_INSN_SYNTAX()->mnemonic with CGEN_INSN_MNEMONIC()
1998-01-16 20:36:07 +00:00
Nick Clifton
ea9cac8aee
Fix typo: .syntax.name should have been .name
1998-01-16 20:19:21 +00:00
Ian Carmichael
1e1e3b618f
* Initial Device Support
...
*
*Modified Files:
* .Sanitize ChangeLog
*Added Files:
* Makefile.in README.Cygnus config.in configure configure.in
* device.c device.h dma.c dma.h engine-sky.c gencode.c gpuif.c
* gpuif.h hardware.c hardware.h interp.c m16.igen mdmx.igen
* mips.dc mips.igen pke0.c pke0.h pke1.c pke1.h r5900.igen
* sim-main.h tconfig.in vr5400.igen vu0.c vu0.h vu1.c vu1.h
1998-01-16 19:27:02 +00:00
Andrew Cagney
13151a934d
Document existence of old (gencode) and new (igen) MIPS ISA simulators.
1998-01-16 01:09:15 +00:00
Ian Carmichael
1d37a68fe4
* configure.in: Add sky support
...
* configure: Regenerated
1998-01-15 15:45:41 +00:00
Ian Carmichael
b749e0e847
Initial file creation
1998-01-15 15:24:16 +00:00
Ian Carmichael
eba01826a5
Sky Sanitization
1998-01-15 15:12:51 +00:00
Mark Alexander
e0e0fc765e
* interp.c (sim_monitor): Handle Densan monitor outbyte
...
and inbyte functions.
1998-01-05 23:43:30 +00:00
Felix Lee
76ef416550
* interp.c (sim_engine_run): msvc cpp barfs on #if (a==b!=c).
1997-12-29 16:03:23 +00:00
Andrew Cagney
9c8ec16d78
In nrun.c, look for sigaction & SA_RESTART. When both present,
...
install cntrl-c (SIGINT) handler with no SA_RESTART bit set.
1997-12-15 12:33:59 +00:00
Andrew Cagney
b17d2d1474
For MADD et.al. instructions sign extend 32 bit result assigned to a
...
register.
1997-12-13 04:23:31 +00:00
Jeff Law
255cbbf190
* configure.in (sim_igen_filter): Multi-sim vr5000 - vr5000 or
...
vr5400 with the vr5000 as the default.
1997-12-12 19:24:34 +00:00
Nick Clifton
61c550e0bd
Renamed v850eq -> v850ea
1997-12-12 19:12:11 +00:00
Nick Clifton
e317cee2ba
Parent directory renamed.
1997-12-12 02:01:21 +00:00
Felix Lee
06434f5f16
sanitization fixes. (files not mentioned, fences misspelled)
1997-12-11 04:18:47 +00:00
Jeff Law
23850e9219
* mips.igen (MSUB): Fix to work like MADD.
...
* gencode.c (MSUB): Similarly.
1997-12-11 00:11:04 +00:00
Andrew Cagney
c10ae9ad33
Test/fix d10v RTE instruction.
1997-12-09 05:46:48 +00:00
Andrew Cagney
c02ed6a8a3
For bfd, add vr5400 and vr5000 mips machine variants to list of machines.
...
For sim/mips, enable multi-sim support when mips64vr5400-elf is target.
For sim/igen, allow specification of a default machine (will need
more work later).
1997-12-09 04:01:06 +00:00
Andrew Cagney
38d0ccc27a
Fix typo, REP_S was refering to REP_E register.
...
Add test.
1997-12-08 23:44:11 +00:00
Andrew Cagney
bc6df23d14
For "trap", IBT and RIE exceptions, mask all PSW.SM. NB: Stepping
...
through an exception may not work correctly.
For GDB reads/writes to the control registers, ensure the cpu state is
updated correctly.
1997-12-08 03:22:58 +00:00
Nick Clifton
4098c12318
Reverrt breakpoint back to its old value.
1997-12-05 17:30:44 +00:00
Nick Clifton
22c39e1487
Reverrt BREAK value back to its old value
1997-12-05 17:27:34 +00:00
Doug Evans
62381069c9
* m32r-sim.h (MSPR_ADDR): New macro.
...
(m32r_mspr_device): Declare.
(struct _devicep: Define.
* m32r.c (m32r_mspr_device): New global.
(device_{io_{read,write}_buffer,error}): New functions.
* mem-ops.h (SETMEM*): Use sim_core_write_map, not read map.
* sim-if.c: Delete redundant inclusion of cpu-sim.h.
(sim_open): Attach device to handle MSPR register.
* sim-main.h (WITH_DEVICES): Define as 1.
Include cpu-sim.h.
1997-12-05 00:48:05 +00:00
Doug Evans
9bb68e2096
* Make-common.in (sim-core.o): Depend on $(sim_main_headers).
...
* sim-config.h (WITH_TREE_PROPERTIES): Define as 0.
* sim-config.c (sim_config): Replace WITH_DEVICES with
WITH_TREE_PROPERTIES.
1997-12-05 00:04:46 +00:00
Doug Evans
6e51f990a2
Regenerate configure files.
1997-12-04 17:26:06 +00:00
Andrew Cagney
7f48c9fe1d
Add DM (bit 4) to PSW. See 7-1 for more info.
...
Test.
1997-12-04 07:01:30 +00:00
Doug Evans
bbb9b83c5e
* configure.in (SIM_AC_OPTION_ENVIRONMENT): Call.
...
* configure: Regenerated.
1997-12-04 02:09:26 +00:00
Doug Evans
22469a10e8
* Make-common.in (SIM_ENVIRONMENT): New variable.
...
(CONFIG_CFLAGS): Add it.
* aclocal.m4 (SIM_AC_OPTION_ENVIRONMENT): Handle
--enable-sim-environment option.
* configure: Regenerated.
* sim-config.h (environment support): Rewrite.
* sim-config.c (current_environment): Define as enum, unconditionally.
(current_alignment): Define unconditionally.
(config_environment_to_a): Update.
(config_alignment_to_a): Fix type of argument. Define unconditionally.
(sim_config): Handle environment and alignment determination
unconditionally. Delete sanity checks of current_environment,
unnecessary.
(print_sim_config): Update.
* sim-options.c (STANDARD_OPTIONS enum): Add OPTION_ENVIRONMENT.
(standard_options): Add --environment.
(standard_option_handler): Likewise.
1997-12-04 02:04:42 +00:00
Nick Clifton
b65b4d8b06
Fixed sanitization,
...
Changed pattern for break insn.
1997-12-04 01:29:25 +00:00
Andrew Cagney
0931ce5aa7
Missing change log entry.
1997-12-03 22:54:44 +00:00
Andrew Cagney
aa49c64f3e
* d10v_sim.h (SEXT56): Define.
...
* simops.c (OP_4201): For "rac", sign extend 56 bit value before
it is shifted.
* d10v_sim.h (MAX32, MIN32, MASK32, MASK40): Re-define using
SIGNED64 macro.
1997-12-03 08:03:33 +00:00
Fred Fish
193e528cd4
* interp.c (sim_resume): Call do_2_short with LEFT_FIRST or
...
RIGHT_FIRST, as appropriate, instead of hardcoded ints that
don't match enum values.
PR 13496
1997-12-02 23:13:56 +00:00
Nick Clifton
89b993af84
Add support for Thumb target.
1997-12-02 18:17:13 +00:00
Andrew Cagney
9d9972a38a
For "sub", compute carry by comparing inputs.
...
Test.
1997-12-02 07:59:52 +00:00
Andrew Cagney
d294a657d5
For "msbu", subtract unsigned product from ACC,
...
Test.
1997-12-02 07:18:53 +00:00
Andrew Cagney
9420287ed2
For "mulxu", store unsigned product in ACC.
...
Test.
1997-12-02 06:37:09 +00:00
Andrew Cagney
e8b925f1fd
Test mv[tf]ac instructions.
1997-12-02 05:31:33 +00:00
Andrew Cagney
ae55807561
For MACU add unsigned multiply to accumulator.
...
Test.
1997-12-02 05:18:27 +00:00
Andrew Cagney
51b057f27b
For sub2w, compute carry according to negated addition rules.
...
Test.
1997-12-02 00:27:27 +00:00
Andrew Cagney
70ee56c585
Rework sim/common/sim-alu.h to differentiate between direcct
...
subtraction (involves borrow) and negated addition (involves carry).
Update d30v so that it uses this method. Add more tests.
1997-12-01 06:27:02 +00:00
Michael Meissner
97b25f990d
Delete sim_io_syscalls and sim_io_getstring
1997-11-30 22:42:08 +00:00
Michael Meissner
f2907f7425
Switch to using cb_syscall; Fix bug in cb_syscall write
1997-11-29 01:29:20 +00:00
Michael Meissner
465db791ec
Fix problems with d30v addc/subb
1997-11-29 01:14:58 +00:00
Doug Evans
1294727e84
* gennltvals.sh: Redo syscall support to allow sanitization.
...
* nltvals.def: Regenerated.
And add d30v sanitization.
1997-11-28 19:18:01 +00:00
Doug Evans
6be035091a
* Make-common.in (run.o): Depend on remote-sim.h.
...
(nrun.o,sim-hload.o,sim-hrw.o): Likewise.
(sim-io.o,sim-reason.o,sim-resume.o): Likewise.
1997-11-26 22:11:31 +00:00
Michael Meissner
ac07041378
Flush writes to stdout, stderr
1997-11-26 21:52:16 +00:00
Andrew Cagney
3885125c8e
* sim-io.c (sim_io_getstring): Delete unused len2. (sim_io_syscalls):
...
Ditto for sys_errno.
1997-11-26 21:35:53 +00:00
Doug Evans
6b8d6a1c49
Delete magic number FIXME.
1997-11-26 19:53:26 +00:00
Doug Evans
4123aca810
Undo last change. callback.h changed instead.
...
Plus:
* syscall.c (cb_syscall): Test CB_SYSCALL struct magic number.
1997-11-26 19:52:34 +00:00
Doug Evans
fc63d75ab3
* syscall.c (cb_syscall, cases stat, fstat): Handle -Wall -Werror.
1997-11-26 19:19:58 +00:00
Andrew Cagney
0d5d0d102d
Fix typo in format argument to sim_io_eprintf.
1997-11-26 12:07:27 +00:00
Andrew Cagney
35c246c9d7
Move MDMX instructions which are public knowledge from vr5400.igen
...
into mdmx.igen (MDMX is MMX on steroids). Keep the file secret.
1997-11-26 11:47:36 +00:00
Michael Meissner
69628a60ea
nuke lseek
1997-11-26 01:13:40 +00:00
Andrew Cagney
8c31916d92
sanitize-r5900 not v5900
1997-11-25 22:02:59 +00:00
Andrew Cagney
fd9223f9af
Strip ChangeLog of v850e information
1997-11-25 22:00:26 +00:00
Andrew Cagney
bd4ba9023a
Add file alu-n-tst.h
1997-11-25 21:59:39 +00:00
Andrew Cagney
58fb5d0a4f
vr5400 sanitize cleanups
1997-11-25 21:47:16 +00:00
Doug Evans
4ee2892be8
Add comment.
1997-11-25 18:43:29 +00:00
Doug Evans
f33673061f
* callback.c (os_stat): Make 3rd arg a host struct stat ptr.
...
(os_fstat): Likewise. Validate fd argument.
(cb_host_to_target_stat): Delete big_p arg. If HS arg is NULL,
just compute target stat struct length.
* syscall.c: #include "libiberty.h", <sys/types.h>, <sys/stat.h>.
(ENOSYS,ENAMETOOLONG): Provide definitions if missing.
(get_string): Return host errno values so they can be properly
translated later.
(cb_syscall): Likewise.
(cb_syscall, cases open,unlink): Use get_path instead of get_string.
(cb_syscall, case read): Use read_stdin for file descriptor 0.
(cb_syscall, case write): Use write_stderr for file descriptor 2.
(cb_syscall): Add cases for lseek, unlink, stat, fstat, time.
(get_path): New function.
1997-11-25 09:33:34 +00:00
Doug Evans
c76e66831a
* gennltvals.sh: Generate syscall values for d30v.
...
Use libgloss/syscall.h for sparc.
* nltvals.def: Regenerate.
1997-11-25 08:18:57 +00:00
Michael Meissner
3445e1cefb
Add sim_io_syscalls to do common system call emulation
1997-11-24 23:59:20 +00:00
Doug Evans
c5ecfceb13
* cpu.h (TRACE_COND_BR): Use TRACE_BRANCH_P, not TRACE_ALU_P.
1997-11-24 22:58:47 +00:00
Doug Evans
091521c48b
* sim-trace.c (trace_option_handler): Set state trace file
...
for --trace-file in addition to cpu's values.
(trace_vprintf): If cpu == NULL, try state's trace file.
1997-11-24 22:21:51 +00:00
Doug Evans
8f3cfc0efb
Entries for .gdbinit additions and sim-model.c option fix.
1997-11-24 22:09:12 +00:00
Doug Evans
4b5545c9f0
* sim-model.c (model_options): Use '\0' for `shortopt'.
1997-11-24 20:43:38 +00:00
Doug Evans
f375dd7d0e
* Make-common.in (all): Add .gdbinit.
...
* gdbinit.in: Add dump command.
1997-11-24 20:14:35 +00:00
Doug Evans
f2ea891349
* sim-core.c (sim_core_signal): Fix spelling error in message.
...
* sim-hrw.c (sim_read): Use read map, not write map.
1997-11-24 20:11:02 +00:00
Andrew Cagney
9dcdd9ad73
Sanitization
1997-11-24 13:34:52 +00:00
Andrew Cagney
4ba8d09fe2
Change MIPS simulator so that it uses the (software) module sim_fpu
...
for floating point operations. Eliminates all dependencies the
simulator had on the hosts FP implemantation.
Add sim_fpu_{inv,abs,neg} functions to sim_fpu.[hc]
1997-11-23 03:34:15 +00:00
Andrew Cagney
aaa11abe42
Clarify meaning of sim_signalled's SIGRC argument. Document that this
...
isn't possible in sim-reason.c and just return the target SIGRC
instead.
For simulators that rely on sim-reason.c, replace SIG* with SIM_SIG*.
Hack nrun.c so that when it is executed (ARGV[0]) as `step' instead
of `run' it single steps the simulator. Allows testing of single step
without full GDB.
1997-11-22 12:52:44 +00:00
Andrew Cagney
a1cf18dc76
Pacify GCC - SIM_SIGNONE missing in enum, xmalloc/free VS ZALLOC/zfree.
1997-11-20 22:56:11 +00:00
Andrew Cagney
232156dee9
o Add SIM_SIGFPE to sim-signals
...
o Start SIM_SIG* at 64 so that the use of host signal numbers can be
detected and reported.
o Update MIPS simulator to use sim-signal.
1997-11-20 09:50:36 +00:00
Andrew Cagney
a09a30d298
Allow reads/writes to C0_CONFIG register.
1997-11-20 09:17:06 +00:00
Doug Evans
c6475c41bb
(enosys): Delete.
1997-11-20 00:50:40 +00:00
Doug Evans
ac1d2660b2
* callback.c (cb_host_to_target_stat): Fix return values.
1997-11-20 00:47:02 +00:00
Doug Evans
998d2c8275
* cgen-sim.h (enum_signal_type): Delete.
...
(engine_signal): Update prototype.
* cgen-utils.c: Don't include <signal.h>.
(sim_signal_to_host): Delete, lives in sim-signal.c now.
(engine_signal): Update.
1997-11-19 20:44:35 +00:00
Doug Evans
62fb62925f
* mem-ops.h: Rename SIM_SIG{ACCESS,ALIGN} to SIM_SIG{SEGV,BUS}.
...
* sim-if.c (sim_open): Call sim_config.
(sim_stop_reason): Update call to sim_signal_to_host.
1997-11-19 20:18:56 +00:00
Doug Evans
398057b722
* sim-utils.c (sim_state_alloc): Call SIM_STATE_ALLOC if defined.
...
(sim_state_free): Call SIM_STATE_FREE if defined.
* sim-module.c (sim_module_install): Don't leave any modules
installed if one fails to install.
1997-11-19 20:13:11 +00:00
Michael Meissner
e163bbbf2a
Do not include alloca-conf.h since alloca is not used.
1997-11-19 18:40:49 +00:00
Michael Meissner
eb5f3fcd1a
Fix carry/overflow problems
1997-11-19 18:30:47 +00:00
Doug Evans
fccbeeb639
(sim_stop_reason): Add comment.
1997-11-19 08:10:40 +00:00
Doug Evans
a4b44a2b08
* sim-core.c (sim_core_signal): Use sim_stopped instead of
...
sim_signalled.
1997-11-19 08:03:53 +00:00
Doug Evans
1ebc7e0e24
* sim-signal.c, sim-signal.h: New files.
...
* Make-common.in (sim-signal.o): Add rule for.
(SIM_NEW_COMMON_OBJS): Add sim-signal.o.
* sim-abort.c: Don't include <signal.h>.
* sim-basics.h: #include "sim-signal.h".
* sim-break.c: Don't include <signal.h>.
(sim_handle_breakpoint): Replace SIGTRAP with SIM_SIGTRAP.
* sim-core.c: Don't include <signal.h>.
(SIGBUS): Delete definition.
(sim_core_signal): Replace SIGSEGV,SIGBUS with SIM_SIGSEGV,SIM_SIGBUS.
* sim-engine.c: Don't include <signal.h>.
(sim_engine_abort): Replace SIGABRT with SIM_SIGABRT.
* sim-reason.c (sim_stop_reason): Call sim_signal_to_host.
* sim-resume.c: Don't include <signal.h>.
(SIGTRAP): Delete definition.
(has_stepped): Replace SIGTRAP with SIM_SIGTRAP.
* sim-stop.c: Don't include <signal.h>.
(control_c_simulation): Replace SIGINT with SIM_SIGINT.
* sim-watch.c: Don't include <signal.h>.
(handle_watchpoint): Replace SIGINT with SIM_SIGINT.
1997-11-19 08:00:37 +00:00
Doug Evans
13c9499d4e
* sim-core.c (sim_core_signal): Use CIA_ADDR to fetch value.
...
* sim-break.c (sim_handle_breakpoint): Likewise.
1997-11-19 02:37:58 +00:00
Doug Evans
340d8e209e
* sim-core.c (sim_core_signal): Use CIA_ADDR to fetch value.
1997-11-18 23:59:29 +00:00
Doug Evans
e5ce1670c1
* Make-common.in (SIM_NEW_COMMON_OBJS): New variable.
...
* sim-base.h (CIA_ADDR): Provide default definition.
1997-11-18 23:55:33 +00:00
Doug Evans
590fc16693
* Makefile.in (SIM_OBJS): Use $(SIM_NEW_COMMON_OBJS).
1997-11-18 23:46:14 +00:00
Doug Evans
486740ce01
* Makefile.in (SIM_OBJS): Use $(SIM_NEW_COMMON_OBJS).
1997-11-18 23:40:40 +00:00
Doug Evans
d5d9a1e155
* sim-main.h (CIA_ADDR): Define.
...
* Makefile.in (SIM_OBJS): Use $(SIM_NEW_COMMON_OBJS).
1997-11-18 23:36:46 +00:00
Doug Evans
38377b3a48
* Make-common.in (srccom): New variable.
1997-11-18 07:14:20 +00:00
Doug Evans
9b51b3ddd3
Tweak comment.
1997-11-17 23:17:31 +00:00
Doug Evans
f7abc1ca0c
* Make-common.in (DEP, COMMON_DEP_CFLAGS): Define.
...
(LIB_OBJS): Add syscall.o.
(gentmap): Pass $(NL_TARGET) to $(CC).
(syscall.o): Add rule for.
(sim_main_headers): Add $(SIM_EXTRA_DEPS).
(sim-bits.o): Depend on $(sim-n-bits_h).
(sim-load.o): Depend on callback.h.
* Make-common.in (cgen-*.o): Update dependencies, mem-ops.h renamed to
cgen-mem.h, sem-ops.h renamed to cgen-ops.h.
* cgen-mem.h, cgen-ops.h: New files.
* aclocal.m4 (--enable-sim-scache): Pass -DWITH_SCACHE=0 for "=no".
* Makefile.in (nltvals.def): Depend on gennltvals.sh.
Rewrite build rule.
* callback.c: #include string.h or strings.h.
#include sys/types.h and sys/stat.h.
(cb_init_syscall_map,cb_init_errno_map,cb_init_open_map): Declare.
(enosys): New function.
(os_get_errno,os_open): Update.
(os_stat,os_fstat): New functions.
(os_init): Initialize syscall_map, errno_map, open_map.
(default_callback): Add entries for os_stat, os_fstat, syscall_map,
errno_map, open_map, signal_map, stat_map.
(cb_read_target_syscall_maps): New function.
(cb_target_to_host_syscall): New function.
(cb_host_to_target_errno): Renamed from host_to_target_errno.
(cb_target_to_host_open): Renamed from target_to_host_open.
(store): New function.
(cb_host_to_target_stat): New function.
* gentmap.c (sys_tdefs): New global.
(gen_targ_vals_h): Output target syscall numbers.
(gen_targ_map_c): Update. Output target syscall translation map.
* gentvals.sh: New first argument `target'. Preface table with
#ifdef NL_TARGET_$target if non-null target passed.
* gennltvals.sh: New file.
* nltvals.def: Regenerated.
1997-11-17 23:09:08 +00:00
Andrew Cagney
891703e5e8
Test SUBI omsn
1997-11-17 22:36:19 +00:00
Doug Evans
cf02c13ce2
(sim_core_signal): Add missing "\n" in message.
...
Forgot to check in yesterday.
1997-11-14 21:52:04 +00:00
Andrew Cagney
f23e93dab0
* mips.igen: Tag vr5000 instructions.
...
(ANDI): Was missing mipsIV model, fix assembler syntax.
(do_c_cond_fmt): New function.
(C.cond.fmt): Handle mips I-III which do not support CC field
separatly.
(bc1): Handle mips IV which do not have a delaed FCC separatly.
(SDR): Mask paddr when BigEndianMem, not the converse as specified
in IV3.2 spec.
(DMULT, DMULTU): Force use of hosts 64bit multiplication. Handle
vr5000 which saves LO in a GPR separatly.
* configure.in (enable-sim-igen): For vr5000, select vr5000
specific instructions.
* configure: Re-generate.
1997-11-14 08:27:38 +00:00
Doug Evans
9e8a900adf
* sim-base.h (sim_state_base): Move `magic' to end of struct.
...
* sim-base.h (sim_state_base): Add member trace_data.
(STATE_TRACE_DATA): New macro.
* sim-trace.h (TRACE_DEBUG_IDX,TRACE_debug): New macros.
({WITH_,}TRACE_DEBUG_P): New macros.
(STATE_TRACE_FLAGS,STRACE_P,STRACE_DEBUG_P): New macros.
(_sim_cpu): Delete forward reference.
(debug_printf): Update.
* sim-trace.c (OPTION_TRACE_DEBUG): Define.
(trace_options): Add --trace-debug.
(set_trace_options): Handle it.
(trace_option_handler): Likewise.
(trace_install): Init state trace_data struct.
(trace_uninstall): Close state trace file.
* sim-events.c (ETRACE): Only print source file and number if
--trace-debug.
* sim-n-core.h (sim_core_trace_M): Likewise.
* sim-core.c (sim_core_signal): Add missing "\n" in message.
1997-11-13 21:18:14 +00:00
Felix Lee
c7e3f734a7
* sim-n-core.h (sim_core_read_unaligned_N): illegal empty
...
initializer.
* sim-types.h (unsigned128,signed128): fix typo for MSVC.
1997-11-13 18:45:21 +00:00
Doug Evans
5dcf955d46
* Make-common.in (BUILT_SRC_FROM_COMMON): Remove files no longer
...
built this way.
(sim-config.o): Remove non-existent $(sim-nconfig_h) dependency.
(clean): Don't delete $(BUILT_SRC_FROM_COMMON) if building in
source tree.
1997-11-12 20:29:53 +00:00
Doug Evans
15f5035c7d
* aclocal.m4 (SIM_AC_OPTION_SCACHE): Fix typo.
...
Updating of configure's left for later.
1997-11-12 20:19:34 +00:00
Jeff Law
fc615b0b1e
* simops.c (call:16 call:32): Stack adjustment is determined solely
...
by the imm8 field.
1997-11-11 17:37:04 +00:00
Andrew Cagney
a94c5493a7
Make the signess of compares between GPR's explicit using a cast to
...
signed_word.
1997-11-11 12:31:24 +00:00
Andrew Cagney
030843d7f8
Fix IGEN version of MFC0, MTC0, SWC1, LWC1, SDC1, LDC1, LWXC1,
...
SWXC1MTC1, MFC1, DMTC1, DMFC1, CFC1, CTC1, MULT, MULTU, BEQZ, ...MTHI,
MFHI instructions.
Trace nullified instruction.
1997-11-11 07:50:13 +00:00
Andrew Cagney
f445a8902d
* sim-events.c (sim_events_process): Re-compute the time -
...
update_time_from_event - as each event is processed. Reverses
previous change.
1997-11-11 07:48:05 +00:00
Andrew Cagney
87192c630a
* simops.c (OP_4201): "rachi". Sign extend bit 40 of ACC. Sign
...
extend bit 44 all constants.
(OP_4201): Replace GCC specific 0x..LL with SIGNED64 macro.
1997-11-10 22:40:14 +00:00
Andrew Cagney
51624b4bf6
Test rachi instruction.
1997-11-10 08:27:15 +00:00
Andrew Cagney
8cb060b6b0
* callback.c (os_poll_quit): Replace _WIN32 with _MSC_VER.
1997-11-10 02:08:50 +00:00
Andrew Cagney
95469cebdd
Replace global IPC with function argument cia or current instruction
...
address.
Pass cia into calls to sim_engine_stop so that breakpoints et.al. work.
1997-11-06 14:24:57 +00:00
Andrew Cagney
549bf95051
Fix computation of sim_events_time when sim_events_slip is loosing it.
1997-11-06 14:14:33 +00:00
Andrew Cagney
7ce8b9178c
IGEN likes to cache the current instruction address (CIA). Change the
...
MIPS simulator so that correctly writes the value of CIA back int PC
(the global previously used) when the simulation halts.
Fix implementation of DELAY_SLOT and NULLIFY_NEXT_INSTRUCTION macros.
1997-11-06 09:16:16 +00:00
Andrew Cagney
864519b9fd
Allow separate single character and long options.
...
Avoid overflow of options buffer.
Provide examples of sim-options use.
1997-11-06 05:00:09 +00:00
Andrew Cagney
44b8585a3d
Add option --enable-sim-igen to mips configuration. Allows user to
...
attempt a build of an older MIPS simulator using igen.
1997-11-05 09:43:34 +00:00
Andrew Cagney
63be8febf7
Rewrite the MIPS simulator's memory model so that it uses the generic
...
common/sim-core.
Add support for 3, 5, 6, 7 byte transfers to sim core.
1997-11-05 08:17:26 +00:00
Andrew Cagney
22de994d0e
Delete -l and -n options, didn't do anything.
...
Rename option trace to dinero-trace & dinero-file - -t clashed with
common options.
Enable common trace options.
1997-11-05 01:08:12 +00:00
Andrew Cagney
525d929e49
Rewrite sim_monitor (implements read, write, open, et.al. system
...
calls) and sim_open so that they uses the virtual memory data transfer
functions sim_read & sim_write. This eliminates all code (other than
in load_memory & store_memory) that makes assumptions about the
implementation of the underlying memory model.
1997-11-05 00:08:14 +00:00
Andrew Cagney
a26ecda4ec
* sim-endian.h (U16_8): Implement
...
* sim-endian.c (sim_endian_split_16, sim_endian_join_16): New functions
* sim-endian.h (VL8_16, VH8_16): Implement.
* sim-memopt.c (memory_option_handler): Typecast 64bit value to long in printf.
(memory_option_handler): Only zalloc modulo bytes when non-zero.
(memory_option_handler): Skip comma in alias address list
1997-11-04 23:59:41 +00:00
Brendan Kehoe
3b5bd034f5
* gen-idecode.c (print_jump_until_stop_body): Use `#if 0' instead of
...
`#ifdef 0' around this.
1997-11-04 17:36:37 +00:00
Michael Meissner
5aa52e3d26
do not assume NULL is an integer constant
1997-11-04 13:19:49 +00:00
Gavin Romig-Koch
0425cfb3af
Correct r5900 sanitization.
1997-11-04 05:50:22 +00:00
Andrew Cagney
fcc86d82f7
Make memory regions layered (just like existing device regions) so
...
that overlapping regions can be defined.
Allow the layer (level) of a memory region to be specified as part of
an address parameter to memory options.
Update simulators.
1997-10-31 08:49:10 +00:00
Nick Clifton
d3e9ca1a88
Patches to support generating an executing environment.
...
Patches from Tony Thompson at ARM: athompso@arm.com
1997-10-30 21:52:16 +00:00
Doug Evans
d048b52dbb
* sim-core.h (sim_core_write_8): Define.
1997-10-30 21:45:12 +00:00
Gavin Romig-Koch
6205f37913
* gencode.c: Add tx49 configury and insns.
...
* configure.in: Add tx49 configury.
* configure: Update.
1997-10-29 19:42:49 +00:00
Andrew Cagney
01b9cd49ca
common/sim-bits.h: Document ROTn macro.
...
igen/{igen.c,ld-insns.h}: Document mnemonic string formats.
mips/Makefile.in: Add dependencies for files included by mips.igen
mips/vr5400.igen: checkpoint vr5400 instructions.
1997-10-29 04:02:30 +00:00
Andrew Cagney
89d0973831
Add support for 16 byte quantities to sim-endian macro H2T.
...
Add model-filter field to option, include, model anf function igen records
1997-10-28 07:10:36 +00:00
Andrew Cagney
a86809d323
Implement sim_core_{read,write}_word using sim_core_{read,write}_<N>.
1997-10-28 02:13:09 +00:00
Doug Evans
084219a513
* sem-ops.h (U{DIV,MOD}[BHSD]I): Use unsigned division.
1997-10-27 20:45:56 +00:00
Doug Evans
c3e3e4ad2f
* sim-endian.h: Disable 16 byte support.
...
So things will build.
1997-10-27 19:47:24 +00:00
Doug Evans
374b95c1b0
* sim-n-endian.h: Add TAGS entrys for 16 byte versions.
1997-10-27 19:25:59 +00:00
Doug Evans
2fc2f8d8a4
Fix typo.
1997-10-27 19:25:05 +00:00
Andrew Cagney
16bd5d6e52
Separate r5900 specifoc and mips16 instructions.
...
Add support for this to configure (vr5400 target only)
1997-10-27 07:55:24 +00:00
Andrew Cagney
90ad43b2de
Add mips64vr5400 to configuration list
...
Mark mipsIV instructions as being implemented by the vr5400.
Sanitize.
1997-10-27 06:42:13 +00:00
Andrew Cagney
e2880fadf3
Add include-file support to igen.
1997-10-27 06:30:35 +00:00
Andrew Cagney
f45dd42b32
Add 128 bit transfers to sim core.
1997-10-27 03:00:12 +00:00
Gavin Romig-Koch
635ae9cb7c
* sim/mips/gencode.c (build_instruction): Follow sim_write's lead in using
...
BigEndianMem instead of !ByteSwapMem.
1997-10-25 20:53:46 +00:00
Andrew Cagney
b5da31ac7c
Correct name of file given in ChangeLog for change: Pass lma_p and
...
sim_write args to sim_load_file.
1997-10-25 05:04:25 +00:00
Andrew Cagney
122edc03de
Add basic igen configuration to autoconf. Disable.
1997-10-24 07:54:21 +00:00
Andrew Cagney
dad6f1f326
Add function to fetch 32bit instructions
...
When address translation of insn fetch fails raise exception immediatly.
Use address_word as type of all address variables (instead of unsigned64),
the former is configured as either 32 or 64 bit type.
Always compile fpu code (no #if has fpu)
1997-10-24 06:43:51 +00:00
Andrew Cagney
49a7683337
Checkpoint IGEN version of mips sim
1997-10-24 06:38:44 +00:00
Andrew Cagney
4a203fbae2
Add function sim_events_slip()
...
Clear work_pending flag as part of processing any pending work.
1997-10-24 05:53:01 +00:00
Andrew Cagney
1315b4cb60
Address MSC compiler issues in d10v_sim.h
1997-10-24 00:52:23 +00:00
Andrew Cagney
9e03a68f13
Add LMA_P and DO_WRITE arguments to sim/common/sim-load.c:sim_load_file().
...
Update all simulators.
Clarify behavour of sim_load in remote-sim.h
1997-10-22 05:26:27 +00:00
Doug Evans
2328ef1c98
* nrun.c (main): Exit if bfd_openr fails.
...
Call bfd_check_format after bfd_openr.
1997-10-22 02:12:41 +00:00
Doug Evans
897a1d7863
* nrun.c (main): Remove useless test of name != NULL.
1997-10-22 01:38:49 +00:00
Jeff Law
f4ab2b2fdc
* simops.c: Correctly handle register restores for "ret" and "retf"
...
instructions.
pr13306 related stuff.
1997-10-21 16:07:53 +00:00
Andrew Cagney
92ad193bb0
Use SIM*_OVERFLOW_RESULT defined in sim-alu.h
1997-10-21 07:57:33 +00:00
Andrew Cagney
b7432f0f27
Pacify GCC -Wall
1997-10-21 07:41:46 +00:00
Andrew Cagney
aa324b9b1e
Output pc profile statistics once gathered.
1997-10-21 07:40:00 +00:00
Andrew Cagney
e2f8ffb736
Delete profile support from MIPS simulator, use sim/common/sim-profile
...
module instead.
Generate a "gmon.out" (gprof) when profiling the target PC.
Add target PC profiling option --profile-pc-granularity (bucket size)
1997-10-21 03:41:21 +00:00
Andrew Cagney
293a0876f8
Have single bit macros return an unsigned result. Avoids risk (and
...
need) of sign extending results.
1997-10-20 07:27:55 +00:00
Andrew Cagney
fb5a2a3e39
Make mips registers of type unsigned_word.
...
Ensure all references to MIPS registers use same type.
1997-10-20 06:28:53 +00:00
Andrew Cagney
0a0ecb2120
Add 8 bit arithmetic to sim-alu.
...
Fix flags (Carry, oVerflow) for negate and subtract.
Add ALU*_RESULT macros for accessing final result of ALU op.
1997-10-20 02:03:06 +00:00
Andrew Cagney
afb1dbe851
Preliminary tests for sim-alu module.
1997-10-17 03:57:53 +00:00
Andrew Cagney
ea985d2472
Move register definitions and macros out of interp.c and into sim-main.h
1997-10-16 03:50:48 +00:00
Andrew Cagney
085c1cb988
Checkpoint IGEN version of MIPS simulator.
1997-10-16 03:41:57 +00:00
Andrew Cagney
284e759d1f
Rename generated file engine.c to oengine.c.
1997-10-16 03:39:13 +00:00
Andrew Cagney
339fb14904
* gencode.c (build_instruction): Use FPR_STATE not fpr_state.
1997-10-16 03:29:47 +00:00
Andrew Cagney
8b70f83790
* gencode.c (build_instruction): For "FPSQRT", output correct number
...
of arguments to Recip.
1997-10-16 03:23:16 +00:00
Andrew Cagney
eaa202ddd4
* gen-semantics.c (print_semantic_body): Use CIA not cia.ip. Escape
...
newlines at end of generated call to sim_engine_abort.
1997-10-16 03:19:41 +00:00
Andrew Cagney
81b3b32cda
Sanitize additional files.
1997-10-15 00:05:28 +00:00
Andrew Cagney
5a9bddea84
Enable d10v simulator testsuite - two tests: Hello World and exit47.
1997-10-15 00:00:41 +00:00
Andrew Cagney
fd89abc204
Handle core regions which start at a poorly aligned address.
1997-10-14 23:45:52 +00:00
Andrew Cagney
7456a10d9b
* sim-alu.h (ALU64_HAD_OVERFLOW): Define.
...
(ALU64_SUB): Define.
* Make-common.in (all): Build SIM_EXTRA_ALL first.
(.gdbinit): Remove dependencies, generate once per build.
1997-10-14 09:39:05 +00:00
Andrew Cagney
055ee2977f
Checkpoint IGEN version of MIPS simulator.
1997-10-14 09:34:08 +00:00
Andrew Cagney
0c2c5f6141
Move global MIPS simulator variables into sim_cpu struct.
1997-10-14 09:26:03 +00:00
Andrew Cagney
1b217de0f3
Correct type of address argument for sim_core_{read,write}
1997-10-14 09:24:57 +00:00
Andrew Cagney
18c64df613
o Add support for configuring wordsize, fp hardware and target
...
endianness. Provide defaults for some tier-1 mips targets.
o Parameterize all functions with SIM_DESC.
1997-10-14 07:27:31 +00:00
Andrew Cagney
d5cecca93c
Output line-ref to original igen source file when generating trace
...
statements.
Define NIA macro (dependant on gen-delayed-branch).
Verify opening/closing quote in input assembler strings.
1997-10-14 02:54:08 +00:00
Fred Fish
1155e06e3f
* simops.c (OP_6A01): Change OP_POSTDEC to OP_POSTINC and move
...
exception generation code to OP_6E01.
(OP_6E01): Change OP_POSTINC to OP_POSTDEC and insert exception
generation code.
PR 13550
1997-10-13 18:26:52 +00:00
Fred Fish
b83093ff79
* simops.c (OP_6401): postdecrement on r15 is OK, remove exception.
...
(OP_6601): Ditto.
PR 13498
1997-10-11 16:50:05 +00:00
Fred Fish
93f0cb6975
* simops.c (OP_6401): postdecrement on r15 is OK, remove exception.
...
(OP_6601): Ditto.
1997-10-11 16:48:47 +00:00
Andrew Cagney
49a6eed58a
Snap. Gets through igen's checks.
1997-10-09 08:38:22 +00:00
Andrew Cagney
8782bfcfc4
Add -Wnodiscard option so that warning about discarded instructions
...
can be suppressed.
Allow ``<insn-spec> { <nmemonic> | <model> }'' in instruction file.
1997-10-09 08:35:33 +00:00
Andrew Cagney
2875c6c685
Build IGEN with the MIPS simulator.
1997-10-09 00:41:14 +00:00
Andrew Cagney
f2b3001251
MIPS/IGEN checkpoint - doesn't build.
1997-10-08 04:16:01 +00:00
Andrew Cagney
391c71708e
Checkpoint IGEN input file for MIPS simulator.
1997-10-07 08:45:11 +00:00
Andrew Cagney
b3c77578dc
Rewrite simulator floating point module. Do not rely on host FP
...
implementation. Add preliminary support for different IEEE-754
rounding modes. Implement SQRT in software.
Update TiC80 simulator.
Add sim-fpu -> TestFloat interface for testing.
1997-10-03 00:03:35 +00:00
Andrew Cagney
63fe2cc799
Fix typo, WITH_TARGET_WORD_BITSIZE not WITH_TARGET_BITSIZE.
1997-10-02 23:37:30 +00:00
Andrew Cagney
adf4739efe
Add access to hi part of r5900 128 bit registers.
1997-09-30 03:45:51 +00:00
Bob Manson
26b20b0a0e
* configure: Regenerated.
...
Can't hack one without the other...
1997-09-29 21:46:32 +00:00
Andrew Cagney
e9b53280ba
Do not sanitize out sim/testsuite/common directory.
1997-09-29 00:24:08 +00:00
Fred Fish
5f90b21e40
* d10v_sim.h (INC_ADDR): Align MOD_E to increment before testing
...
for end condition.
PR 13334
1997-09-27 20:04:22 +00:00
Fred Fish
823f2df47f
* interp.c (pc_addr): Discard upper bit(s) of PC in case
...
IMAP1 selects unified memory.
PR 13275
1997-09-27 19:57:05 +00:00
Mark Alexander
6eedf3f4e5
* interp.c: Allow Debug, DEPC, and EPC registers to be examined in GDB.
1997-09-26 20:56:55 +00:00
Felix Lee
b28ad90b4d
* sim-main.h: delete null override of SIM_ENGINE_HALT_HOOK and
...
SIM_ENGINE_RESTART_HOOK.
1997-09-26 19:24:45 +00:00
Stu Grossman
68f92f98ac
* sim-break.c (sim_set_breakpoint sim_clear_breakpoint): Use ZALLOC
...
and zfree instead of xmalloc and free. Prevents warnings.
1997-09-25 18:22:46 +00:00
Andrew Cagney
af51b8d56d
Add/use SIM_AC_OPTION_BITSIZE.
1997-09-25 07:19:05 +00:00
Andrew Cagney
7a3fb4e6ea
* config/v850/tm-v850.h (BREAKPOINT): Use 1 word DIVH insn with
...
RRRRR=0 for simulator breakpoint. Previous breakpoint insn was two
words.
1997-09-25 07:01:21 +00:00
Andrew Cagney
e63bc706fe
Allow gencode.c to generate input to the igen generator.
1997-09-25 04:23:24 +00:00
Andrew Cagney
eb2e3c85ca
Pacify GCC -Wall
1997-09-25 04:13:50 +00:00
Stu Grossman
b9d580a4b0
* Make-common.in: New files sim-break.c, sim-break.h.
...
* sim-base.h: Add point to breakpoint list to sim_state_base.
* sim-break.c sim-break.h: New modules that implement intrinsic
breakpoint support.
* sim-module.c: Add breakpoint module.
1997-09-25 00:51:17 +00:00
Jeff Law
bfebf1a52a
r5900 sanitization fixes.
1997-09-24 07:27:43 +00:00
Jeff Law
c118539e6b
mips64vr5900el-elf -> mips64r5900-elf.
1997-09-23 21:45:43 +00:00
Felix Lee
34d07b7867
* sim-events.c (SIM_EVENTS_POLL_RATE): poll more often than once
...
an hour.
* sim-n-core.h (WITH_XOR_ENDIAN): MSVC barfs on
if (0) { 1 % 0; }
* sim-core.c (sim_core_xor_write_buffer): WITH_XOR_ENDIAN + 1.
(SIGBUS) define for Windows.
* sim-trace.c (trace_printf,debug_printf): added ALMOST_STDC.
* sim-resume.c: define SIGTRAP for windows.
* sim-xcat.h: use token pasting if ALMOST_STDC.
1997-09-23 18:08:09 +00:00
Jeff Law
832f05e865
vr5900-r5900.
1997-09-23 16:21:23 +00:00
Andrew Cagney
1398204eb0
Check v850eq popm[hl] instructions.
...
Check v850 NMI/RETI.
1997-09-23 08:40:55 +00:00
Andrew Cagney
4141b1c63d
* Make-common.in (SIM_SCACHE, SIM_DEFAULT_MODEL): Assign configured values.
...
(CONFIG_CFLAGS): Add same.
1997-09-23 04:05:50 +00:00
Felix Lee
9f4fd82344
* sim-types.h (SIGNED64): ##i64 when _MSC_VER, not _WIN32.
...
(SIGNED32): use ##i32.
1997-09-23 03:51:33 +00:00
Felix Lee
8f80453197
* configure.in: i386-windows is a cross, so don't expect
...
libiberty to be there.
* configure: updated.
1997-09-23 03:48:59 +00:00
Andrew Cagney
92f91d1ff0
Remove need to update <targ>/Makefile.in when adding optional options
...
to <targ>/configure.in.
Simplify logic used to select target [default] endianness.
1997-09-23 01:25:26 +00:00
Andrew Cagney
76a6247f07
Add memory alignment config option.
1997-09-22 09:40:57 +00:00
Andrew Cagney
8d332f9c1a
Enable --alignment option, stop sim-options.c hardwiring the alignment.
1997-09-22 09:34:28 +00:00
Andrew Cagney
4ca7d6d25b
Fix disabling of model code when simulator does not support modeling.
...
Stops `-p' crashing simulators.
1997-09-22 09:16:14 +00:00
Andrew Cagney
794e9ac96a
Simplify logic behind the generic configuration option --enable-sim-alignment.
1997-09-22 02:49:57 +00:00
Andrew Cagney
b45caf050c
Add support for --enable-sim-alignment to simulator common aclocal.m4
...
Add support for --alignment={strict,nonstrict,forced} to simulator common
run-time options.
For v850 use, make the default NONSTRICT_ALIGNMENT.
1997-09-22 00:24:46 +00:00
Nick Clifton
f13f11b494
Removed the v850eq sanitization
1997-09-20 23:40:50 +00:00
Gavin Romig-Koch
c476ac5560
Add handling for 3900's SDBBP, DERET, and RFE insns.
...
* gencode.c (SDBBP,DERET): Added (3900) insns.
(RFE): Turn on for 3900.
* interp.c (DebugBreakPoint,DEPC,Debug,Debug_*): Added.
(dsstate): Made global.
(SUBTARGET_R3900): Added.
(CANCELDELAYSLOT): New.
(SignalException): Ignore SystemCall rather than ignore and
terminate. Add DebugBreakPoint handling.
(decode_coproc): New insns RFE, DERET; and new registers Debug
and DEPC protected by SUBTARGET_R3900.
(sim_engine_run): Use CANCELDELAYSLOT rather than clearing
bits explicitly.
* Makefile.in,configure.in: Add mips subtarget option.
* configure: Update.
1997-09-20 18:22:22 +00:00
Gavin Romig-Koch
7afa8d4edc
* gencode.c: Add r3900 (tx39).
...
* gencode.c: Fix some configuration problems by improving
the relationship between tx19 and tx39.
1997-09-19 13:39:55 +00:00
Andrew Cagney
8122e3e471
Add alignment option.
...
Add support for hardwired and default alignment to configuration.
1997-09-19 08:11:40 +00:00
Andrew Cagney
f4822f1e6e
More tests.
...
Have sld check verify that the processor is a v850eq.
1997-09-19 06:40:11 +00:00
Andrew Cagney
a276b6f057
Clean up tracing for Bcond & jmp insns.
...
Fix computation of disp16 and disp22.
Clean up tracing of sld* insns.
1997-09-19 06:39:21 +00:00
Andrew Cagney
4410c4b925
Correctly locate `_' in generated names.
1997-09-19 04:41:01 +00:00
Andrew Cagney
bd4c35cc6d
Fix cmov immed.
1997-09-19 02:20:02 +00:00
Andrew Cagney
6a4c8f1e29
Change semantic function name to semantic_<INSN>_<FMT> instead of
...
semantic_<FMT>_<INSN>.
1997-09-19 00:50:24 +00:00
Andrew Cagney
60fe0e06a8
Fix cmov insn.
1997-09-19 00:50:19 +00:00
Felix Lee
3e906c081a
sanitization fixes. typoes, missing fences, "start" instead of "end", etc.
1997-09-18 06:03:52 +00:00
Felix Lee
88770c1c90
add missing files.
1997-09-18 04:56:22 +00:00
Felix Lee
e1625ed217
v850 files that weren't being removed if !keep-v850
1997-09-18 01:33:24 +00:00
Felix Lee
2001e533ff
* sim-main.h (kill): macro was missing args.
...
(SIGTRAP): define for MSVC.
1997-09-17 23:46:49 +00:00
Andrew Cagney
8bd89725a7
Test US bit of v850eq.
...
Loop program for testing interrupt delivery.
1997-09-17 13:46:29 +00:00
Andrew Cagney
a72f8fb439
Clean up more tracing.
...
FIX interrupt delivery - was zapping PSW before it had been saved.
FIX interrupt return, was one instruction out.
1997-09-17 08:14:23 +00:00
Andrew Cagney
175c6fd375
* sim-events.c (ETRACE): Use trace_printf not sim_io_printf for
...
trace output.
* sim-core.c (sim_core_signal): When bad access halt simulator
SIGSEGV / SIGBUS instead of aborting.
(signal.h): Include.
* sim-watch.c (sim_watchpoint_install): Handler for watchpoint
options was missing.
1997-09-17 08:13:07 +00:00
Andrew Cagney
6aead89a5f
Fix tracing for: "ctret", "bsw", "hsw"
...
Fix bugs in: "bsh", "callt", "stsr".
1997-09-17 05:31:00 +00:00
Andrew Cagney
dfa5c0ca02
Define MOVED macro, move sub-bitfield from XXX to YYY.
1997-09-17 05:28:32 +00:00
Andrew Cagney
fc07e279aa
More v850 simulator tests.
1997-09-17 05:27:56 +00:00
Andrew Cagney
1a6eb36b62
More v850 simulator tests.
1997-09-17 03:31:09 +00:00
Andrew Cagney
b52e58c24f
Add/test 8bit bit manipuation macros.
...
Test LS and MS versions of SEXT macro.
Simplify/test macro returning a single bit.
1997-09-17 03:25:54 +00:00
Andrew Cagney
8603b0f0ff
Generic rules for building simple simulator test programs.
1997-09-16 23:57:57 +00:00
Gavin Romig-Koch
667065d0d4
* sim/mips/gencode.c (build_instruction): Don't need to subtract 4 for
...
JALR, just 2.
1997-09-16 20:01:00 +00:00
Gavin Romig-Koch
9cb8397f86
* sim/mips/interp.c: Correct some HASFPU problems.
1997-09-16 15:36:18 +00:00
Andrew Cagney
fb1fd47514
Smooth some of ALU tracing's rough edges.
...
Fix switch insn.
1997-09-16 14:00:15 +00:00
Andrew Cagney
6a0f95864a
More sim-bits testing.
1997-09-16 13:58:44 +00:00
Andrew Cagney
aa5e6a5a78
Add {LS,MS}SEXT and {LS,MS}INSERTED macros. Eliminates bug in SEXT.
1997-09-16 07:04:46 +00:00
Andrew Cagney
3f33acd039
Use trace_one_insn in trace functions. Buffer up trace data so that
...
it is displayed in a single block.
1997-09-16 07:03:41 +00:00
Andrew Cagney
65a87fa9e1
v850eq simulator tests.
1997-09-16 07:01:57 +00:00
Andrew Cagney
c7db488f71
Restrict ldsr (load system register) to modifying just non-reserved PSW bits.
...
For v850eq, include PSW[US] in bits that can be modified.
1997-09-16 04:49:24 +00:00
Andrew Cagney
721478d51b
Add v850e version of breakpoint instruction.
1997-09-16 02:15:55 +00:00
Andrew Cagney
3484de0091
Differentiate between a non-zero string and a constant zero field.
1997-09-16 02:14:18 +00:00
Jim Wilson
5262de2167
* simops.c (Multiply64): Don't store into register zero.
1997-09-16 01:45:23 +00:00
Andrew Cagney
4dda50b052
For instructions moved into v850.igen was computing (wrong) NIA when
...
this wasn't needed.
1997-09-15 23:09:26 +00:00
Andrew Cagney
0604253676
* igen.c (gen_run_c): Handle non-multi-sim case.
1997-09-15 22:40:14 +00:00
Andrew Cagney
bda6163995
Fix sanitization for v850 V v850e V v850eq
1997-09-15 14:42:51 +00:00
Andrew Cagney
a2ab5e65eb
Update to reflect change to sim/common/aclocal.m4 (allow sim/common
...
directory to specify its own unqiue config.h file).
1997-09-15 08:25:04 +00:00
Andrew Cagney
658303f7d4
For v850eq start up with US bit set.
...
Let sim_analyze_program determine the architecture.
Fix various sanitizations.
1997-09-15 08:18:20 +00:00
Andrew Cagney
08547b1f1d
Determine ARCHITECTURE from program if possible.
...
Rename common's generated config.h to cconfig.h.
1997-09-15 08:11:50 +00:00
Andrew Cagney
4bdab45adb
* callback.c (os_write): divert stdout and stderr to their
...
respective hooks.
1997-09-15 08:02:23 +00:00
Andrew Cagney
410230cf6d
Check reserved bits before executing instructions.
...
Make v850[eq] the the default simulator.
Report illegal instructions.
Include v850e instructions in v850eq.
1997-09-12 05:56:38 +00:00
Andrew Cagney
944deab68e
v850eq wasn't building igen directory.
1997-09-12 03:13:27 +00:00
Andrew Cagney
93e7a1b5b7
Add profiling support to v850*.
1997-09-12 02:44:03 +00:00
Andrew Cagney
11ac69e013
Short form of sample-size option had wrong value.
1997-09-12 02:29:04 +00:00
Andrew Cagney
7a2f7ea758
v850* wants igen
1997-09-12 02:27:22 +00:00
Andrew Cagney
cf5c6e6e5d
Generate instruction profile call with each instruction.
1997-09-12 02:26:31 +00:00
Martin Hunt
30d8198448
Wed Sep 10 22:30:24 1997 Martin M. Hunt <hunt@cygnus.com>
...
* interp.c (sim_resume): Increment PC at end of rep
loop.
* simops.c (OP_4201): Fix rachi instruction.
1997-09-11 05:32:23 +00:00
Andrew Cagney
972f3a34f5
mips/sim_info was just returning?????
1997-09-10 23:50:32 +00:00
Andrew Cagney
cad7297e80
o Wordwrap usage messages from sim-options
...
o Clarify how to use alias options
o use in sim-watch (better usage message)
o Don't pass something on the stack into the
watch-point interrupt hander.
1997-09-10 22:47:12 +00:00
Andrew Cagney
8f050205eb
(gen_itable_h): Output an enum defining the max size of the itable
...
string members.
1997-09-10 22:07:06 +00:00
Andrew Cagney
02508bb179
Have trace_input, trace_output use sim-trace for IO.
1997-09-10 05:40:04 +00:00
Felix Lee
d6cef44df4
* inst.h (sim_state): rename to h8300_sim_state, to avoid conflict
...
with sim/common.
* configure.in: check for sys/param.h
* compile.c: #ifdef HAVE_SYS_PARAM_H.
#define SIGTRAP for wingdb.
(sim_resume): poll keyboard at least once per call.
(sim_resume): use host_callback instead of printf for syscall
output.
1997-09-10 05:20:37 +00:00
Andrew Cagney
d0b59aa593
Add option architecture-info to list supported architectures.
1997-09-10 05:16:34 +00:00
Gavin Romig-Koch
318b499d8e
Support tx19 sanitation.
1997-09-10 04:53:18 +00:00
Felix Lee
31dda65aff
* sim-core.h (sim_cpu_core): [WITH_XOR_ENDIAN + 1], to avoid
...
illegal zero-sized array.
* sim-core.c (sim_core_xor_read_buffer): same.
1997-09-10 04:46:37 +00:00
Felix Lee
a1efa0d880
* interp.c (sim_resume): poll_quit() at least once per call;
...
otherwise gdb can loop sim_resume() uninterruptably.
1997-09-10 03:52:48 +00:00
David Edelsohn
7b4aeebabe
* nltvals.def: Regenerate.
1997-09-09 18:20:57 +00:00
Andrew Cagney
9eeaaefa0f
Better word error messages.
1997-09-09 10:38:39 +00:00
Andrew Cagney
c31c13b481
Remove GCC specific `0x...LL', replace with SIGNED64 (0x...).
1997-09-09 07:02:02 +00:00
Andrew Cagney
db511584c9
Add basic tests for d10v-elf simulator.
1997-09-09 02:22:07 +00:00
Andrew Cagney
5d37a07bc5
Add multi-sim support to v850/v850e/v850eq simulators.
1997-09-08 17:42:48 +00:00
Andrew Cagney
687f3f1cef
Add multi-sim support to simulator.
1997-09-08 17:40:24 +00:00
Andrew Cagney
70c8abdb4c
Use updated MSMASK, MSMASKED macros.
...
Fix sat problem in d30v.
1997-09-08 17:23:16 +00:00
Andrew Cagney
75faf9aecb
Check MS* macros from sim/common.
1997-09-08 17:22:01 +00:00
Andrew Cagney
75b3697d5f
Add/use LSEXTRACTED, MSEXTRACTED macros.
...
Add CPU_CIA macro to extract the PC.
1997-09-08 17:21:13 +00:00
Andrew Cagney
986cb931ca
Sanity check for tic80 simulator.
1997-09-08 17:19:21 +00:00
Gavin Romig-Koch
b637f306ba
tx19 and related necessary changes.
...
* config.sub: Add tx19/r1900.
* sim/mips/configure.in, sim/mips/gencode: Add tx19/r1900.
* gcc/config.sub, gcc/configure: Add tx19/r1900.
* gcc/config/mips/r1900.h, config/mips/t-r1900: New.
* gas/config/tc-mips.c: Add tx19/r1900.
* gcc/config/mips/mips.c: Don't build 16 bit to 32 bit stubs for
TARGET_SOFT_FLOAT.
* config.sub: Add "marketing-names" patch.
* gcc/config.sub: Add "marketing-names" patch.
* gcc/configure: Change "as" link from "../gas/as.new" to "../gas/as-new";
Same for "ld" link.
1997-09-07 20:33:22 +00:00
Andrew Cagney
1bba340afe
Redo watchpoint code so that it target can specify interrupt names.
...
Replace v850 interrupt code with this common watchpoint code.
Other minor fixes to core.
1997-09-05 08:16:23 +00:00
Andrew Cagney
1b465b54e1
Add sim_do_commandf - printf version of sim_do_command.
1997-09-05 07:57:27 +00:00
David Edelsohn
6fea47635b
* configure: Regenerated to track ../common/aclocal.m4 changes.
1997-09-05 00:42:05 +00:00
Andrew Cagney
30efae3acd
Define SIGNED64 and UNSIGNED64 macros - handle MSC/GCC LL issue.
1997-09-05 00:30:38 +00:00
Andrew Cagney
da3a66e5ca
Replace memory model with one from sim/common directory.
1997-09-04 10:10:02 +00:00
Andrew Cagney
6dbaff8f60
Finish implementation of sim-memopt.
...
Use in d30v and tic80.
Make available a generic sim_read, sim_write implementation.
1997-09-04 10:08:44 +00:00
Andrew Cagney
a34abff813
o Add modulo argument to sim_core_attach
...
o Add sim-memopt module - memory option processing.
1997-09-04 03:47:39 +00:00
David Edelsohn
600d83316c
* sim-hload.c (sim_load): Add assert for SIM_MAGIC_NUMBER.
1997-09-04 00:57:21 +00:00
David Edelsohn
88d5f8e854
* gdbinit.in: New file.
...
* aclocal.m4 (SIM_AC_OUTPUT): Build .gdbinit.
* Make-common.in (distclean): Delete .gdbinit.
(.gdbinit): Add rule for.
* configure: Regenerated to track ../common/aclocal.m4 changes.
1997-09-04 00:49:57 +00:00
Nick Clifton
2636486389
removed v850 sanitization
...
Added v850/sim-main.h to list of files to keep after sanitization.
1997-09-03 22:27:28 +00:00
Andrew Cagney
cb6a7127d9
Basic tests for tic80 simulator.
1997-09-03 07:41:35 +00:00
Andrew Cagney
2bc779d782
Doc directory - README.
...
Make suffix of executables to be run on simulator .run
1997-09-03 07:36:09 +00:00
Andrew Cagney
b83adf4eeb
Doc C language guidelines.
1997-09-03 07:34:59 +00:00
Andrew Cagney
b5e935ae85
Pacify gcc-current -Wall.
1997-09-03 07:30:17 +00:00
Andrew Cagney
fdd64f952d
Add support for suspending/resumeing the simulator in sim-modules.
...
Use in sim-events.
1997-09-03 07:26:11 +00:00
Andrew Cagney
cabedd5871
Standard simulator header file.
1997-09-03 04:13:45 +00:00
Andrew Cagney
9cdd2c6d72
Add real SIM_DESC arg to v850 simulator.
...
Add --enable-sim-warnings, use/fix errors.
Add --enable-sim-endian, don't use.
Add common modules. Don't yet use most.
1997-09-03 04:10:33 +00:00
Andrew Cagney
80c651f02d
Stanify error reporting memory overlaps.
1997-09-03 04:06:27 +00:00
Joern Rennecke
134f75d8ba
Support restore-sanitize-sh4 .
1997-09-02 22:57:50 +00:00
Joern Rennecke
552c6220e0
Comment typo fix.
1997-09-02 22:43:55 +00:00
David Edelsohn
51037f28cf
Add note on TAGS support.
1997-09-02 22:07:54 +00:00
David Edelsohn
645ab3ec42
(TAGS): Add support for "/* TAGS: foo */" marker.
1997-09-02 22:03:41 +00:00
David Edelsohn
74db699d1d
* Makefile.in (TAGS): Add support for "/* TAGS: foo */" marker.
...
* sim-n-bits.h: Add TAGS comments for all functions.
* sim-n-core.h: Likewise.
* sim-n-endian.h: Likewise.
1997-09-02 21:58:58 +00:00
Joern Rennecke
bbce7567b6
Sanitation fixes.
1997-09-02 21:43:06 +00:00
Andrew Cagney
4de6b5d361
Merge SH4 branch simulator in to devo.
1997-09-02 03:49:55 +00:00
Andrew Cagney
52352d38d6
Test/fix pabsh, pabsw, psrlvw.
1997-09-01 09:47:03 +00:00
Andrew Cagney
0ffba68fdc
Compile from UNIX to cygwin32.
1997-09-01 03:43:56 +00:00
Andrew Cagney
4b2a6aed84
Use sim_state_alloc to create common sim object.
1997-09-01 03:26:31 +00:00
Andrew Cagney
9f3f352539
Passify cross compilation and GCC -Wall
1997-09-01 03:21:59 +00:00
Andrew Cagney
f90b720ba1
Passify GCC. Convert 0x0LL to something more portable in the FP code.
1997-08-30 00:02:19 +00:00
Andrew Cagney
4113ba4cd7
Passify GCC.
1997-08-30 00:01:12 +00:00
David Edelsohn
36db8e64ab
* sim-options.c (standard_option_handler): Use xstrdup, not strdup.
1997-08-28 17:37:30 +00:00
Andrew Cagney
04258deea2
Make igen available when v850 is being build.
1997-08-28 09:55:55 +00:00
Andrew Cagney
18c319ae59
Add --target=BFDTARGET and --architecture=MACHINE options.
1997-08-28 09:44:42 +00:00
Andrew Cagney
8811705410
Fix doco on enable-sim-inline.
1997-08-27 22:43:18 +00:00
Andrew Cagney
d6fea803dc
Add MSBIT* and LSBIT* macro's to sim-bits.h
...
Add more macro's for extracting sub word quantites to sim-endian.h
1997-08-27 07:56:27 +00:00
Andrew Cagney
230a95ce5a
New file - generic implementation of sim_load for hardware only
...
simulators.
1997-08-27 04:45:59 +00:00
Andrew Cagney
fafce69ab1
Add ABFD argument to sim_create_inferior. Document.
...
Add file sim-hload.c - generic load for hardware only simulators.
Review each simulators sim_open, sim_load, sim_create_inferior so that
they more closely match required behavour.
1997-08-27 04:44:41 +00:00
Andrew Cagney
9f64f00ada
* idecode_expression.h (ALU_END): From Charles Lefurgy - Extract
...
sign bit using 64 bit and not a 32 bit mask.
* sim_calls.c (sim_load): From Ian Lance Taylor - free argv after
it has been used, not before.
1997-08-27 00:44:05 +00:00
Andrew Cagney
d07dddd2b2
Save a copy of argv, not just a pointer.
1997-08-27 00:35:34 +00:00
Andrew Cagney
3f1a33d673
Make building of w65 simulator conditional on --enable-sim.
1997-08-26 08:38:34 +00:00
Andrew Cagney
7230ff0faa
Flush defunct sim_kill.
1997-08-26 02:05:18 +00:00
Andrew Cagney
247fccdeb5
Add ABFD argument to sim_open call. Pass through to sim_config so
...
that image properties such as endianness can be checked.
More strongly document the expected behavour of each of the sim_*
interfaces.
Add default endian argument to simulator config macro
SIM_AC_OPTION_ENDIAN. Use in sim_config.
1997-08-25 23:14:25 +00:00
Nick Clifton
6061622830
Updated with respect to the HDD-tool-0611 document.
1997-08-22 17:41:20 +00:00
Nick Clifton
64ad9cecb6
Added N step divide routines, courtesy of Sugimoto at NEC.
1997-08-20 22:42:55 +00:00
Nick Clifton
70caad98c1
Fixed interpretation of SR bit in list18 structures.
1997-08-20 20:57:05 +00:00
Nick Clifton
27161f9e55
Add suport for v850e and v850eq
1997-08-18 18:01:42 +00:00
Nick Clifton
6ba5294adf
Add support for V850eq variant opcodes.
1997-08-18 18:01:08 +00:00
David Edelsohn
dddbd8c586
Add comment.
1997-08-14 20:36:00 +00:00
David Edelsohn
052d7984df
* callback.c (os_poll_quit): Make static.
...
Call sim_cb_eprintf, not p->eprintf.
(sim_cb_printf, sim_cb_eprintf): New functions.
1997-08-14 19:53:10 +00:00
Nick Clifton
a0a6db4bfa
Tidied up sanitization.
1997-08-14 19:45:14 +00:00
Nick Clifton
f7fcba7a84
Added support for v850e and v850eq instructions.
1997-08-14 02:13:32 +00:00
Mark Alexander
9e61ae7d3c
* sim-calls.c (sim_store_register): Allow accumulators
...
other than A0 to be modified. Correct error message.
1997-08-09 04:54:08 +00:00
Andrew Cagney
f1bea83b2b
Add test for "mtsa"
1997-07-29 00:57:39 +00:00
Andrew Cagney
9204a35e78
Handle overflow from signed divide by -1.
1997-07-28 13:46:53 +00:00
Andrew Cagney
64f0e81628
More checks for pdivuw
1997-07-28 10:52:39 +00:00
Gavin Romig-Koch
c12e2e4c48
gencode.c: Two arg MADD should not assign result to /bin/bash.
1997-07-25 19:10:05 +00:00
David Edelsohn
63f6871728
* configure.in (sparc*-*-*): Don't build erc32.
...
* configure: Regenerate.
1997-07-25 18:41:12 +00:00