Make read/write memory functions inlined
[platform/upstream/binutils.git] / sim / d10v / ChangeLog
1 Wed Oct 16 13:50:06 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
2
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
5         separate file.
6
7         * interp.c: Move endian functions from here to endian.c.
8
9         * Makefile.in (INCLUDE): Add endian.c.
10         (run,libsim.a): Add dependency on endian.o.
11         (endian.o): Add dependency.
12
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.
16
17         * simops.c (OP_5F00): Correct tracing of accumulators.  
18
19 Tue Oct 15 10:57:50 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
20
21         * simops.c (OP_5F00): Add support for getpid, kill system calls.
22
23         * interp.c (do_{2_short,parallel}): If an exception is raised,
24         don't execute the second instruction.
25
26 Sat Oct 12 22:17:43 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
27
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.
31
32 Fri Oct  4 23:46:18 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
33
34         * d10v_sim.h (struct _state): Add mem_{min,max} fields.
35
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,
39         abort.
40         (sim_create_inferior): Preserve mem_{min,max} fields.
41
42 Fri Sep 27 13:11:58 1996  Mark Alexander  <marka@cygnus.com>
43
44         * simops.c (OP_5F00): Add support for time() system call.
45
46 Wed Sep 25 16:31:41 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
47
48         * simops.c (OP_{6E01,6A01,6E1F,6A00}): Print both words being
49         stored if tracing.
50         (OP_5F00,trace_{in,out}put_func): Add finer grain tracing for
51         system calls.
52
53 Mon Sep 23 17:55:30 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
54
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.
60
61 Fri Sep 20 15:36:45 1996  Martin M. Hunt  <hunt@pizza.cygnus.com>
62
63         * interp.c (sim_create_inferior): Reinitialize State every time 
64         sim_create_inferior() is called.
65
66 Thu Sep 19 21:38:20 1996  Michael Meissner  <meissner@wogglebug.ziplink.net>
67
68         * simops.c (OP_{401,2000000,601,3000000,23000000}): Get sign right
69         on comparisons.
70         (OP_401): Fix tracing information.
71
72 Thu Sep 19 10:30:22 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
73
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
77         instruction.
78         (OP_6200): Fix tracing info.
79
80         * Makefile.in (run): Add dependencies on libbfd.a and
81         libiberity.a.
82
83 Wed Sep 18 09:13:25 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
84
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
88         DEBUG_LINE_NUMBER. 
89         (SIG_D10V_{STOP,EXIT}): Values to represent the stop instruction
90         and exit system call trap being executed.
91
92         * interp.c (sim_stop_reason): Set exit code correctly for stop
93         instruction and exit system call trap.
94
95         * configure.in (--enable-sim-cflags): Remove trace case.
96         (--enable-sim-debug): New switch to set the debug values.
97         * configure: Regenerate.
98
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
106         field.
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.        
115
116 Sat Sep 14 22:18:43 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
117
118         * interp.c (do_2_short): If the instruction encodes jump->ins,
119         don't do the second instruction if the jump succeeds.
120
121 Fri Sep 13 22:35:19 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
122
123         * simops.c (OP_5F00): Use unknown traps to print all GPRs,
124         accumulators, PC, and F0/F1/C flags.
125
126 Thu Sep 12 12:50:11 1996  Mark Alexander  <marka@cygnus.com>
127
128         * simops.c (OP_5F00): Fix problems with system calls.
129
130 Thu Sep 12 12:19:28 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
131
132         * simops.c (OP_5F00): Correct tracing information for trap.
133
134 Wed Sep 11 18:55:50 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
135
136         * Makefile.in (CSEARCH): Correctly find opcodes directory.
137
138 Mon Sep  9 13:27:26 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
139
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.
150
151 Fri Sep  6 17:56:17 1996  Martin M. Hunt  <hunt@pizza.cygnus.com>
152
153         * simops.c (OP_2600, OP_2601): Changed min and max comparisons
154         to use signed register values.
155
156 Wed Sep  4 11:35:17 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
157
158         * d10v_sim.h (DEBUG_*): Add bit flags for controlling debug
159         output.
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
166         container.
167         (d10v_debug): New variable to indicate whether debugging is turned
168         on.
169
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.
175
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
182         flag is set.
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
187         sim_resume.
188         (sim_info): Print out statistics on instructions.
189         (sim_{trace,create_inferior}): Eliminate extraneous output unless
190         debugging.
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.
193
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
199         in.
200         ({BFD,LIBIBERTY}_LIB): Define as variables so they can be
201         overridden.
202         (VPATH): Don't set to anything but @srcdir@ to work with non-GNU
203         makes.
204         ({run,callback}.o): Provide explicit paths to their appropriate
205         source directories.
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.
210
211         * configure.in (--enable-sim-cflags): New switch to allow user to
212         set the defaults.
213         (CC_FOR_BUILD): Deal with canadian crosses.
214         * configure: Regenerate.
215
216 Wed Sep 04 04:45:34 1996  Mark Alexander  <marka@cygnus.com>
217
218         * simops.c: Include correct syscall.h for d10v, not host's.
219         Fix #ifdef SYS_stat.
220
221 Tue Sep  3 14:00:04 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
222
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.
225
226 Wed Aug 28 21:42:34 1996  Mark Alexander  <marka@cygnus.com>
227
228         * Makefile.in, d10v_sim.h, interp.c, simops.c: Add support
229         for low-level system calls.
230
231 Wed Aug 28 17:33:19 1996  Martin M. Hunt  <hunt@pizza.cygnus.com>
232
233         * Makefile.in, d10v_sim.h, interp.c: Fix byte-order problems.
234
235 Mon Aug 26 18:30:28 1996  Martin M. Hunt  <hunt@pizza.cygnus.com>
236
237         * d10v_sim.h (SEXT32): Added.
238         * interp.c: Commented out printfs.
239         * simops.c:  Fixed error in sb and st2w. 
240
241 Thu Aug 15 13:30:03 1996  Martin M. Hunt  <hunt@pizza.cygnus.com>
242
243         * Makefile.in, d10v_sim.h, interp.c, simops.c: Added remaining
244         DSP instructions.  Added modulo addressing.
245
246 Sun Aug 11 12:57:15 1996  Martin M. Hunt  <hunt@pizza.cygnus.com>
247
248         * Makefile.in, d10v_sim.h, interp.c, simops.c: Snapshot.
249
250 Fri Aug  2 17:44:24 1996  Martin M. Hunt  <hunt@pizza.cygnus.com>
251
252         * d10v_sim.h, simops.c: Snapshot.
253
254 Thu Aug  1 17:05:24 1996  Martin M. Hunt  <hunt@pizza.cygnus.com>
255
256         * ChangeLog, Makefile.in, configure, configure.in, d10v_sim.h, 
257         gencode.c, interp.c, simops.c: Created.
258