1 Wed Oct 16 13:50:06 1996 Michael Meissner <meissner@tiktok.cygnus.com>
3 * endian.c: New file. Move endian functions here from interp.c.
4 Optimize code, and make it work as either inline functions or as a
7 * interp.c: Move endian functions from here to endian.c.
9 * Makefile.in (INCLUDE): Add endian.c.
10 (run,libsim.a): Add dependency on endian.o.
11 (endian.o): Add dependency.
13 * d10v_sim.h (read/write support): Always go through the machine
14 independent endian functions. If compiling with GCC and
15 optimizing, include endian.c so the endian functions are inlined.
17 * simops.c (OP_5F00): Correct tracing of accumulators.
19 Tue Oct 15 10:57:50 1996 Michael Meissner <meissner@tiktok.cygnus.com>
21 * simops.c (OP_5F00): Add support for getpid, kill system calls.
23 * interp.c (do_{2_short,parallel}): If an exception is raised,
24 don't execute the second instruction.
26 Sat Oct 12 22:17:43 1996 Michael Meissner <meissner@tiktok.cygnus.com>
28 * simops.c (OP_{31000000,6601,6201,6200}): Store address in a
29 temporary in case the register is overriden when loading.
30 (OP_6200): Output type is OP_DREG for tracing.
32 Fri Oct 4 23:46:18 1996 Michael Meissner <meissner@tiktok.cygnus.com>
34 * d10v_sim.h (struct _state): Add mem_{min,max} fields.
36 * interp.c (sim_size): Initialize mem_{min,max} fields.
37 (sim_write): Update mem_{min,max} fields.
38 (sim_resume): If PC is not in the minimum/maximum memory range,
40 (sim_create_inferior): Preserve mem_{min,max} fields.
42 Fri Sep 27 13:11:58 1996 Mark Alexander <marka@cygnus.com>
44 * simops.c (OP_5F00): Add support for time() system call.
46 Wed Sep 25 16:31:41 1996 Michael Meissner <meissner@tiktok.cygnus.com>
48 * simops.c (OP_{6E01,6A01,6E1F,6A00}): Print both words being
50 (OP_5F00,trace_{in,out}put_func): Add finer grain tracing for
53 Mon Sep 23 17:55:30 1996 Michael Meissner <meissner@tiktok.cygnus.com>
55 * simops.c (op_types): Add OP_{CONSTANT8,R2,R3}.
56 (trace_input_func): Add support for OP_{CONSTANT8,R2,R3}.
57 (OP_{4900,24800000,4800,4A00,4B00,4D00,4C00}): Add OP_R2 and OP_R3
58 to call/subroutine returns to trace the first two arguments and
59 the return value. For small jumps, use CONSTANT8, not CONSTANT16.
61 Fri Sep 20 15:36:45 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
63 * interp.c (sim_create_inferior): Reinitialize State every time
64 sim_create_inferior() is called.
66 Thu Sep 19 21:38:20 1996 Michael Meissner <meissner@wogglebug.ziplink.net>
68 * simops.c (OP_{401,2000000,601,3000000,23000000}): Get sign right
70 (OP_401): Fix tracing information.
72 Thu Sep 19 10:30:22 1996 Michael Meissner <meissner@tiktok.cygnus.com>
74 * simops.c (SIZE_{PC,LINE_NUMBER}): New default sizes for output.
75 (trace_input_func): Use them.
76 (trace_input_func): Make sure there is a trailing space after the
78 (OP_6200): Fix tracing info.
80 * Makefile.in (run): Add dependencies on libbfd.a and
83 Wed Sep 18 09:13:25 1996 Michael Meissner <meissner@tiktok.cygnus.com>
85 * d10v_sim.h (DEBUG_INSTRUCTION): New debug value to include line
86 numbers and function names in debug trace.
87 (DEBUG): If not defined, set to DEBUG_TRACE, DEBUG_VALUES, and
89 (SIG_D10V_{STOP,EXIT}): Values to represent the stop instruction
90 and exit system call trap being executed.
92 * interp.c (sim_stop_reason): Set exit code correctly for stop
93 instruction and exit system call trap.
95 * configure.in (--enable-sim-cflags): Remove trace case.
96 (--enable-sim-debug): New switch to set the debug values.
97 * configure: Regenerate.
99 * simops.c (trace_{input,output}_func): Rename from
100 trace_{input,output}.
101 (trace_{input,output}): Call trace_{input,output}_func if
102 d10v_debug is non-zero.
103 (SIZE_INSTRUCTION): Cut down to 8.
104 (SIZE_OPERANDS): Cut down to 18.
105 (SIZE_LOCATION): New value for size of line number, function name
107 (init_text_p,text{,_start,_end}): New static variables for
108 printing line number and function name.
109 (exec_bfd): New external that run.c sets.
110 (trace_input_func): Print line number and function name if
111 available and if desired.
112 (OP_4E09): Don't print out DBT message.
113 (OP_5FE0): Set exception field to SIG_D10V_STOP.
114 (OP_5F00): Set exception field to SIG_D10V_EXIT.
116 Sat Sep 14 22:18:43 1996 Michael Meissner <meissner@tiktok.cygnus.com>
118 * interp.c (do_2_short): If the instruction encodes jump->ins,
119 don't do the second instruction if the jump succeeds.
121 Fri Sep 13 22:35:19 1996 Michael Meissner <meissner@tiktok.cygnus.com>
123 * simops.c (OP_5F00): Use unknown traps to print all GPRs,
124 accumulators, PC, and F0/F1/C flags.
126 Thu Sep 12 12:50:11 1996 Mark Alexander <marka@cygnus.com>
128 * simops.c (OP_5F00): Fix problems with system calls.
130 Thu Sep 12 12:19:28 1996 Michael Meissner <meissner@tiktok.cygnus.com>
132 * simops.c (OP_5F00): Correct tracing information for trap.
134 Wed Sep 11 18:55:50 1996 Michael Meissner <meissner@tiktok.cygnus.com>
136 * Makefile.in (CSEARCH): Correctly find opcodes directory.
138 Mon Sep 9 13:27:26 1996 Michael Meissner <meissner@tiktok.cygnus.com>
140 * simops.c (trace_output): Properly align accumulator output.
141 (OP_3{0,2,4}00): Properly parenthesize test expression. Add error
142 if shift count is too high.
143 (OP_4E{00,02,04,20,22,40,42}): Make tests agree with book.
144 (OP_4E09): Make cpfg properly trace the input flags.
145 (op_types): Add OP_FLAG_OUTPUT.
146 (trace_{input,output}): Support OP_FLAG_OUTPUT.
147 (OP_31000000): This ld2w varient is a 16-bit memory reference, not
148 an 8-bit memory reference instruction for tracing purposes.
149 (OP_201): Addi needs to set the carry.
151 Fri Sep 6 17:56:17 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
153 * simops.c (OP_2600, OP_2601): Changed min and max comparisons
154 to use signed register values.
156 Wed Sep 4 11:35:17 1996 Michael Meissner <meissner@tiktok.cygnus.com>
158 * d10v_sim.h (DEBUG_*): Add bit flags for controlling debug
160 (_ins_type): New enumeration to specify which container an
161 instruction is in, and whether it is part of a parallel operation.
162 (_state): Add ins_type field.
163 ({,u}int{8,16,32,64}): Use limits.h to size the appropriate types.
164 (ins_type_counters): Counters for the various instruction types.
165 ({left,right}_nops): Counters for the number of nops in each
167 (d10v_debug): New variable to indicate whether debugging is turned
170 * simops.c: (all functions): Change all #ifdef DEBUG code so that
171 the input and output values can be traced, along with the
172 instruction type. Make the -t option enable tracing.
173 (all functions): Change printf calls to use the printf_filtered
174 function in the callback table.
176 * interp.c (_leftright): New enumeration to say whether 2 short
177 instructions are done left first or right first.
178 (do_{long,2_short,parallel}): Indicate in the machine state which
179 type of instruction this is. Count each of the types of
180 instructions executed.
181 (sim_size): Only print the memory sizes if DEBUG_MEMSIZE debug
183 (sim_resume): Pass left/right indication to do_2_short.
184 (all functions): Change printf calls to use the printf_filtered
185 function in the callback table.
186 (sim_trace): Turn on debug flag if DEBUG was defined, and call
188 (sim_info): Print out statistics on instructions.
189 (sim_{trace,create_inferior}): Eliminate extraneous output unless
191 (sim_open): If args == -t and DEBUG was defined, set d10v_debug.
192 Only initialize the hash table the first time sim_open is called.
194 * Makefile.in: Make objects depend on d10v_sim.h.
195 ({,SIM_}CFLAGS): Include configure dependent switches. Setting
196 CFLAGS does not override host/target defines or SIM_CFLAGS.
197 (CC_FOR_BUILD,gencode): Use CC_FOR_BUILD to compile gencode.
198 (run): By default, the math library is not needed to be linked
200 ({BFD,LIBIBERTY}_LIB): Define as variables so they can be
202 (VPATH): Don't set to anything but @srcdir@ to work with non-GNU
204 ({run,callback}.o): Provide explicit paths to their appropriate
206 (gencode{,.o},d10v-opc.o): Split compilation into creating object
207 and linking. Instead of linking in libopcodes.a, just compile
208 d10v-opc.o directly to handle canadian cross.
209 (CSEARCH): Add opcodes directory.
211 * configure.in (--enable-sim-cflags): New switch to allow user to
213 (CC_FOR_BUILD): Deal with canadian crosses.
214 * configure: Regenerate.
216 Wed Sep 04 04:45:34 1996 Mark Alexander <marka@cygnus.com>
218 * simops.c: Include correct syscall.h for d10v, not host's.
221 Tue Sep 3 14:00:04 1996 Michael Meissner <meissner@tiktok.cygnus.com>
223 * simops.c (OP_5F00): Wrap all SYS_xxx traps with #ifdef.
224 Add trap 2 to be printf and trap 3 to be putchar.
226 Wed Aug 28 21:42:34 1996 Mark Alexander <marka@cygnus.com>
228 * Makefile.in, d10v_sim.h, interp.c, simops.c: Add support
229 for low-level system calls.
231 Wed Aug 28 17:33:19 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
233 * Makefile.in, d10v_sim.h, interp.c: Fix byte-order problems.
235 Mon Aug 26 18:30:28 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
237 * d10v_sim.h (SEXT32): Added.
238 * interp.c: Commented out printfs.
239 * simops.c: Fixed error in sb and st2w.
241 Thu Aug 15 13:30:03 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
243 * Makefile.in, d10v_sim.h, interp.c, simops.c: Added remaining
244 DSP instructions. Added modulo addressing.
246 Sun Aug 11 12:57:15 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
248 * Makefile.in, d10v_sim.h, interp.c, simops.c: Snapshot.
250 Fri Aug 2 17:44:24 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
252 * d10v_sim.h, simops.c: Snapshot.
254 Thu Aug 1 17:05:24 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
256 * ChangeLog, Makefile.in, configure, configure.in, d10v_sim.h,
257 gencode.c, interp.c, simops.c: Created.