Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
It is not yet properly tested.
Thu Jun 4 15:37:33 1998 Frank Ch. Eigler <fche@cygnus.com>
* dv-tx3904tmr.c: New file - implements tx3904 timer.
* dv-tx3904{irc,cpu}.c: Mild reformatting.
* configure.in: Include tx3904tmr in hw_device list.
* configure: Rebuilt.
* interp.c (sim_open): Instantiate three timer instances.
Fix address typo of tx3904irc instance.
|
|
checks on hi/lo usage but retain functions so that they can be used
for HI/LO stall counting code.
|
|
unlinking/freeing events. Couldn't handle the removal of a hw-event
that just been scheduled.
|
|
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.
|
|
|
|
|
|
* SKY: New memory mapping rules for k1seg, k0seg.
* Modified Files: ChangeLog.sky ChangeLog interp.c sim-main.c
|
|
* 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.
|
|
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.
|
|
(sqrt.s): Likewise.
|
|
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>
|
|
|
|
|
|
Update dv-*.c
Replace *_callback with more correct. *_method. Update dv-*.c
|
|
Move set_* macro's from hw-base to hw-device.
|
|
|
|
|
|
|
|
|
|
PROCESSOR and CIA arguments.
|
|
|
|
64 bit bus.
Test.
|
|
|
|
Move common hw-obj to Make-common
Pacify GCC
|
|
|
|
|
|
|
|
* sky-gpuif.[ch]: IMT burst support and queue manipulation ( see
ChangeLog.sky for complete details )
* sky-gs.c: modified name of GIF device
|
|
|
|
target byte order
|
|
(do_hw_poll_read): Do not assume EAGAIN.
|
|
and on/off option for "src line #"
|
|
* 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.
|
|
(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.
|
|
* sem.c,sem-switch.c: Regenerate.
* semx.c: Regenerate.
|
|
|
|
|
|
|
|
* 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
|
|
* genmloop.sh: Use them rather than static locals.
|
|
(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.
|
|
(sim_sync_stop): 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.
|
|
* sim/m32r/misc.exp: Ditto.
|
|
* 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}.
|
|
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.
|
|
|
|
|
|
* 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.
|