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