old-cross-binutils/sim/d10v/ChangeLog

352 lines
13 KiB
Text
Raw Normal View History

Thu Oct 31 19:13:55 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
* interp.c (sim_fetch_register, sim_store_register): Fix bug where
updating the accumulators was overwriting other parts of the global
State variable.
Wed Oct 30 17:35:14 1996 Michael Meissner <meissner@tiktok.cygnus.com>
* interp.c (bfd.h) Don't include it here any more.
(text{,_start,_end}): Move here from simops.c and make extern.
(decode_pc): New function to return the PC as an address that the
debugger can use.
(dmem_addr): Print decoded PC in error message.
(pc_addr): Ditto.
* simops.c (bfd.h) Don't include it here any more.
(text{,_start,_end}): Move to simops.c.
(trace_input_func): Move decoding of PC, and looking up .text
start to decode_pc.
* d10v_sim.h (bfd.h): Include it here.
(text{,_start,_end}): Add external declarations.
(exec_bfd): Ditto.
(decode_pc): Ditto.
Tue Oct 29 12:13:52 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
* interp.c (sim_size): Now allocates unified memory for imap segments
0,1,2, and 127. Initializes imap0 and imap1 to 0x1000. Initializes dmap to 0.
(sim_write): Just call xfer_mem().
(sim_read): Just call xfer_mem().
(xfer_mem): New function. Does appropriate memory mapping and copies bytes.
(dmem_addr): New function. Reads dmap register and translates data
addresses to local addresses.
(pc_addr): New function. Reads imap register and computes local address
corresponding to contents of the PC.
(sim_resume): Change to use pc_addr().
(sim_create_inferior): Change reinitialization code. Also reinitializes
imap[01] and dmap.
(sim_fetch_register): Add fake registers 32,33,34 for imap0, imap1, and dmap.
(sim_store_register): Add fake registers 32,33,34 for imap0, imap1, and dmap.
* simops.c (MEMPTR): Redefine to use dmem_addr().
(OP_5F00): Replace references to STate.imem with dmem_addr().
* d10v-sim.h (State): Remove mem_min and mem_max. Add umem[128].
(RB,SW,RW,SLW,RLW): Redefine to use dmem_addr().
(IMAP0,IMAP1,DMAP,SET_IMAP,SET_IMAP1,SET_DMAP): Define.
Tue Oct 22 15:22:33 1996 Michael Meissner <meissner@tiktok.cygnus.com>
* d10v_sim.h (_ins_type): Reorganize, so that we can provide
better statistics, like not counting NOPS as parallel
instructions, and printing total cycles.
(ins_type_counters): Make unsigned long.
(left_nops,right_nops): Fold into ins_type_counters.
* simops.c (trace_input_func): Print new instruction types.
Handle OP_R2R3 as input types.
(OP_{38000000,7000}): Correctly sign extend bytes.
(OP_5E00): Don't count NOPs as parallel instructions.
(OP_460B): Remove unused variable.
(OP_5F00): Ditto.
* interp.c (ins_type_counters): Make unsigned long.
(left_nops,right_nops): Delete.
(most functions): Add prototypes.
(INLINE): If GCC and optimize define as __inline__.
({,lookup_}hash,get_operands): Declare as INLINE.
(do_parallel): Count conditional operations.
(add_commas): New function, to add commas every 3 digits.
(sim_size): Call add_commas to print numbers.
(sim_{open,resume}): Delete unused variables.
(sim_info): Provide better statistics.
(sim_read): Add int return type.
Mon Oct 21 16:16:26 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
* interp.c (sim_resume): Change the way single-stepping and exceptions
are handled so single-stepping works again.
Thu Oct 17 12:24:16 1996 Michael Meissner <meissner@tiktok.cygnus.com>
* endian.c: Optimize simulated loads/stores on x86, AIX, and big
endian hosts.
* configure.in (--enable-sim-bswap): New switch to enable using
the BSWAP instruction on x86's.
* configure: Regenerate.
* Makefile.in ({SWAP,CONFIG}_CFLAGS): Add --enable-sim-bswap
support.
1996-10-16 17:52:31 +00:00
Wed Oct 16 13:50:06 1996 Michael Meissner <meissner@tiktok.cygnus.com>
* endian.c: New file. Move endian functions here from interp.c.
Optimize code, and make it work as either inline functions or as a
separate file.
* interp.c: Move endian functions from here to endian.c.
* Makefile.in (INCLUDE): Add endian.c.
(run,libsim.a): Add dependency on endian.o.
(endian.o): Add dependency.
* d10v_sim.h (read/write support): Always go through the machine
independent endian functions. If compiling with GCC and
optimizing, include endian.c so the endian functions are inlined.
1996-10-16 17:52:31 +00:00
* simops.c (OP_5F00): Correct tracing of accumulators.
Tue Oct 15 10:57:50 1996 Michael Meissner <meissner@tiktok.cygnus.com>
* simops.c (OP_5F00): Add support for getpid, kill system calls.
* interp.c (do_{2_short,parallel}): If an exception is raised,
don't execute the second instruction.
Sat Oct 12 22:17:43 1996 Michael Meissner <meissner@tiktok.cygnus.com>
* simops.c (OP_{31000000,6601,6201,6200}): Store address in a
temporary in case the register is overriden when loading.
(OP_6200): Output type is OP_DREG for tracing.
Fri Oct 4 23:46:18 1996 Michael Meissner <meissner@tiktok.cygnus.com>
* d10v_sim.h (struct _state): Add mem_{min,max} fields.
* interp.c (sim_size): Initialize mem_{min,max} fields.
(sim_write): Update mem_{min,max} fields.
(sim_resume): If PC is not in the minimum/maximum memory range,
abort.
(sim_create_inferior): Preserve mem_{min,max} fields.
Fri Sep 27 13:11:58 1996 Mark Alexander <marka@cygnus.com>
* simops.c (OP_5F00): Add support for time() system call.
1996-09-25 20:33:21 +00:00
Wed Sep 25 16:31:41 1996 Michael Meissner <meissner@tiktok.cygnus.com>
* simops.c (OP_{6E01,6A01,6E1F,6A00}): Print both words being
stored if tracing.
(OP_5F00,trace_{in,out}put_func): Add finer grain tracing for
system calls.
1996-09-25 20:33:21 +00:00
Mon Sep 23 17:55:30 1996 Michael Meissner <meissner@tiktok.cygnus.com>
* simops.c (op_types): Add OP_{CONSTANT8,R2,R3}.
(trace_input_func): Add support for OP_{CONSTANT8,R2,R3}.
(OP_{4900,24800000,4800,4A00,4B00,4D00,4C00}): Add OP_R2 and OP_R3
to call/subroutine returns to trace the first two arguments and
the return value. For small jumps, use CONSTANT8, not CONSTANT16.
Fri Sep 20 15:36:45 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
* interp.c (sim_create_inferior): Reinitialize State every time
sim_create_inferior() is called.
Thu Sep 19 21:38:20 1996 Michael Meissner <meissner@wogglebug.ziplink.net>
* simops.c (OP_{401,2000000,601,3000000,23000000}): Get sign right
on comparisons.
(OP_401): Fix tracing information.
1996-09-19 14:31:01 +00:00
Thu Sep 19 10:30:22 1996 Michael Meissner <meissner@tiktok.cygnus.com>
* simops.c (SIZE_{PC,LINE_NUMBER}): New default sizes for output.
(trace_input_func): Use them.
(trace_input_func): Make sure there is a trailing space after the
instruction.
1996-09-19 17:23:21 +00:00
(OP_6200): Fix tracing info.
1996-09-19 14:31:01 +00:00
* Makefile.in (run): Add dependencies on libbfd.a and
libiberity.a.
Wed Sep 18 09:13:25 1996 Michael Meissner <meissner@tiktok.cygnus.com>
* d10v_sim.h (DEBUG_INSTRUCTION): New debug value to include line
numbers and function names in debug trace.
(DEBUG): If not defined, set to DEBUG_TRACE, DEBUG_VALUES, and
DEBUG_LINE_NUMBER.
(SIG_D10V_{STOP,EXIT}): Values to represent the stop instruction
and exit system call trap being executed.
* interp.c (sim_stop_reason): Set exit code correctly for stop
instruction and exit system call trap.
* configure.in (--enable-sim-cflags): Remove trace case.
(--enable-sim-debug): New switch to set the debug values.
* configure: Regenerate.
* simops.c (trace_{input,output}_func): Rename from
trace_{input,output}.
(trace_{input,output}): Call trace_{input,output}_func if
d10v_debug is non-zero.
(SIZE_INSTRUCTION): Cut down to 8.
(SIZE_OPERANDS): Cut down to 18.
(SIZE_LOCATION): New value for size of line number, function name
field.
(init_text_p,text{,_start,_end}): New static variables for
printing line number and function name.
(exec_bfd): New external that run.c sets.
(trace_input_func): Print line number and function name if
available and if desired.
(OP_4E09): Don't print out DBT message.
(OP_5FE0): Set exception field to SIG_D10V_STOP.
(OP_5F00): Set exception field to SIG_D10V_EXIT.
Sat Sep 14 22:18:43 1996 Michael Meissner <meissner@tiktok.cygnus.com>
* interp.c (do_2_short): If the instruction encodes jump->ins,
don't do the second instruction if the jump succeeds.
Fri Sep 13 22:35:19 1996 Michael Meissner <meissner@tiktok.cygnus.com>
* simops.c (OP_5F00): Use unknown traps to print all GPRs,
accumulators, PC, and F0/F1/C flags.
Thu Sep 12 12:50:11 1996 Mark Alexander <marka@cygnus.com>
* simops.c (OP_5F00): Fix problems with system calls.
1996-09-12 16:20:05 +00:00
Thu Sep 12 12:19:28 1996 Michael Meissner <meissner@tiktok.cygnus.com>
* simops.c (OP_5F00): Correct tracing information for trap.
1996-09-11 22:56:25 +00:00
Wed Sep 11 18:55:50 1996 Michael Meissner <meissner@tiktok.cygnus.com>
* Makefile.in (CSEARCH): Correctly find opcodes directory.
1996-09-09 17:30:36 +00:00
Mon Sep 9 13:27:26 1996 Michael Meissner <meissner@tiktok.cygnus.com>
* simops.c (trace_output): Properly align accumulator output.
(OP_3{0,2,4}00): Properly parenthesize test expression. Add error
if shift count is too high.
1996-09-09 18:24:18 +00:00
(OP_4E{00,02,04,20,22,40,42}): Make tests agree with book.
1996-09-09 20:10:31 +00:00
(OP_4E09): Make cpfg properly trace the input flags.
(op_types): Add OP_FLAG_OUTPUT.
(trace_{input,output}): Support OP_FLAG_OUTPUT.
1996-09-09 20:45:33 +00:00
(OP_31000000): This ld2w varient is a 16-bit memory reference, not
an 8-bit memory reference instruction for tracing purposes.
1996-09-09 21:12:46 +00:00
(OP_201): Addi needs to set the carry.
1996-09-09 17:30:36 +00:00
Fri Sep 6 17:56:17 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
* simops.c (OP_2600, OP_2601): Changed min and max comparisons
to use signed register values.
1996-09-04 15:41:43 +00:00
Wed Sep 4 11:35:17 1996 Michael Meissner <meissner@tiktok.cygnus.com>
* d10v_sim.h (DEBUG_*): Add bit flags for controlling debug
output.
(_ins_type): New enumeration to specify which container an
instruction is in, and whether it is part of a parallel operation.
(_state): Add ins_type field.
({,u}int{8,16,32,64}): Use limits.h to size the appropriate types.
(ins_type_counters): Counters for the various instruction types.
({left,right}_nops): Counters for the number of nops in each
container.
(d10v_debug): New variable to indicate whether debugging is turned
on.
* simops.c: (all functions): Change all #ifdef DEBUG code so that
the input and output values can be traced, along with the
instruction type. Make the -t option enable tracing.
(all functions): Change printf calls to use the printf_filtered
function in the callback table.
1996-09-04 15:41:43 +00:00
* interp.c (_leftright): New enumeration to say whether 2 short
instructions are done left first or right first.
(do_{long,2_short,parallel}): Indicate in the machine state which
type of instruction this is. Count each of the types of
instructions executed.
1996-09-04 15:41:43 +00:00
(sim_size): Only print the memory sizes if DEBUG_MEMSIZE debug
flag is set.
(sim_resume): Pass left/right indication to do_2_short.
(all functions): Change printf calls to use the printf_filtered
function in the callback table.
(sim_trace): Turn on debug flag if DEBUG was defined, and call
sim_resume.
(sim_info): Print out statistics on instructions.
(sim_{trace,create_inferior}): Eliminate extraneous output unless
debugging.
(sim_open): If args == -t and DEBUG was defined, set d10v_debug.
Only initialize the hash table the first time sim_open is called.
* Makefile.in: Make objects depend on d10v_sim.h.
({,SIM_}CFLAGS): Include configure dependent switches. Setting
CFLAGS does not override host/target defines or SIM_CFLAGS.
(CC_FOR_BUILD,gencode): Use CC_FOR_BUILD to compile gencode.
(run): By default, the math library is not needed to be linked
in.
1996-09-04 19:11:53 +00:00
({BFD,LIBIBERTY}_LIB): Define as variables so they can be
overridden.
1996-09-04 19:11:53 +00:00
(VPATH): Don't set to anything but @srcdir@ to work with non-GNU
makes.
({run,callback}.o): Provide explicit paths to their appropriate
source directories.
(gencode{,.o},d10v-opc.o): Split compilation into creating object
and linking. Instead of linking in libopcodes.a, just compile
d10v-opc.o directly to handle canadian cross.
(CSEARCH): Add opcodes directory.
* configure.in (--enable-sim-cflags): New switch to allow user to
set the defaults.
(CC_FOR_BUILD): Deal with canadian crosses.
* configure: Regenerate.
1996-09-04 15:41:43 +00:00
Wed Sep 04 04:45:34 1996 Mark Alexander <marka@cygnus.com>
* simops.c: Include correct syscall.h for d10v, not host's.
Fix #ifdef SYS_stat.
Tue Sep 3 14:00:04 1996 Michael Meissner <meissner@tiktok.cygnus.com>
* simops.c (OP_5F00): Wrap all SYS_xxx traps with #ifdef.
Add trap 2 to be printf and trap 3 to be putchar.
Wed Aug 28 21:42:34 1996 Mark Alexander <marka@cygnus.com>
* Makefile.in, d10v_sim.h, interp.c, simops.c: Add support
for low-level system calls.
Wed Aug 28 17:33:19 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
* Makefile.in, d10v_sim.h, interp.c: Fix byte-order problems.
Mon Aug 26 18:30:28 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
* d10v_sim.h (SEXT32): Added.
* interp.c: Commented out printfs.
* simops.c: Fixed error in sb and st2w.
Thu Aug 15 13:30:03 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
* Makefile.in, d10v_sim.h, interp.c, simops.c: Added remaining
DSP instructions. Added modulo addressing.
Sun Aug 11 12:57:15 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
* Makefile.in, d10v_sim.h, interp.c, simops.c: Snapshot.
Fri Aug 2 17:44:24 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
* d10v_sim.h, simops.c: Snapshot.
Thu Aug 1 17:05:24 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
* ChangeLog, Makefile.in, configure, configure.in, d10v_sim.h,
gencode.c, interp.c, simops.c: Created.