Commit graph

1376 commits

Author SHA1 Message Date
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