* Oops, added #ifdef TARGET_SKY around R5900 COP2 implementation skeleton.
[deliverable/binutils-gdb.git] / sim / mips / ChangeLog
CommitLineData
7dd4a466
FCE
1start-sanitize-sky
2Sun Mar 29 17:50:11 Frank Ch. Eigler <fche@cygnus.com>
3
4 * interp.c (decode_coproc): Added a missing TARGET_SKY check
5 around COP2 implementation skeleton.
6
7end-sanitize-sky
8
15232df4
FCE
9Fri Mar 27 16:19:29 1998 Frank Ch. Eigler <fche@cygnus.com>
10
11start-sanitize-sky
12 * Makefile.in (SIM_SKY_OBJS): Replaced sky-vu[01].o with sky-vu.o.
13
14 * interp.c (sim_{load,store}_register): Use new vu[01]_device
15 static to access VU registers.
16 (decode_coproc): Added skeleton of sky COP2 (VU) instruction
17 decoding. Work in progress.
18
19 * mips.igen (LDCzz, SDCzz): Removed *5900 case for this
20 overlapping/redundant bit pattern.
21 (LQC2, SQC2): Added *5900 COP2 instruction skeleta. Work in
22 progress.
23
24 * sim-main.h (status_CU[012]): Added COP[n]-enabled flags for
25 status register.
26
27end-sanitize-sky
28
29 * interp.c (cop_lq, cop_sq): New functions for future 128-bit
30 access to coprocessor registers.
31
32 * sim-main.h (COP_LQ, COP_SQ): New macro front-ends for above.
33
d8f53049
AC
34Fri Mar 27 16:15:52 1998 Andrew Cagney <cagney@b1.cygnus.com>
35
36 * configure: Regenerated to track ../common/aclocal.m4 changes.
37
82ea14fd
AC
38Fri Mar 27 15:01:50 1998 Andrew Cagney <cagney@b1.cygnus.com>
39
40 * interp.c (mips_option_handler): Iterate over MAX_NR_PROCESSORS.
41
42Wed Mar 25 16:44:27 1998 Ian Carmichael <iancarm@cygnus.com>
43
44 * configure: Regenerated to track ../common/aclocal.m4 changes.
45 * config.in: Regenerated to track ../common/aclocal.m4 changes.
46
d89fa2d8
AC
47Wed Mar 25 12:35:29 1998 Andrew Cagney <cagney@b1.cygnus.com>
48
49 * configure: Regenerated to track ../common/aclocal.m4 changes.
50
612a649e
AC
51Wed Mar 25 10:05:46 1998 Andrew Cagney <cagney@b1.cygnus.com>
52
53 * interp.c (Max, Min): Comment out functions. Not yet used.
54
55start-sanitize-vr4320
56Wed Mar 25 10:04:13 1998 Andrew Cagney <cagney@b1.cygnus.com>
57
58 * vr4320.igen (DCLZ): Pacify GCC, 64 bit arg, int format.
59
60end-sanitize-vr4320
61Wed Mar 18 12:38:12 1998 Andrew Cagney <cagney@b1.cygnus.com>
62
63 * configure: Regenerated to track ../common/aclocal.m4 changes.
64
9b23b76d
FCE
65Tue Mar 17 19:05:20 1998 Frank Ch. Eigler <fche@cygnus.com>
66
67 * Makefile.in (MIPS_EXTRA_LIBS, SIM_EXTRA_LIBS): Added
68 configurable settings for stand-alone simulator.
69
70start-sanitize-sky
71 * configure.in: Added --with-sim-gpu2 option to specify path of
72 sky GPU2 library. Triggers -DSKY_GPU2 for sky-gpuif.c, and
73 links/compiles stand-alone simulator with this library.
74
75 * interp.c (MEM_SIZE): Increased default sky memory size to 16MB.
76end-sanitize-sky
77
78 * configure.in: Added X11 search, just in case.
79
80 * configure: Regenerated.
81
82Wed Mar 11 14:09:10 1998 Andrew Cagney <cagney@b1.cygnus.com>
83
84 * interp.c (sim_write, sim_read, load_memory, store_memory):
85 Replace sim_core_*_map with read_map, write_map, exec_map resp.
86
5fa71251
GRK
87start-sanitize-vr4320
88Tue Mar 10 10:32:22 1998 Gavin Koch <gavin@cygnus.com>
89
90 * vr4320.igen (clz,dclz) : Added.
91 (dmac): Replaced 99, with LO.
92
93end-sanitize-vr4320
6ba4c153
AC
94start-sanitize-vr5400
95Fri Mar 6 08:30:58 1998 Andrew Cagney <cagney@b1.cygnus.com>
96
97 * mdmx.igen (SHFL.REPA.fmt, SHFL.REPB.fmt): Fix bit fields.
98
99end-sanitize-vr5400
dd15abd5
GRK
100start-sanitize-vr4320
101Tue Mar 3 11:56:29 1998 Gavin Koch <gavin@cygnus.com>
102
103 * vr4320.igen: New file.
104 * Makefile.in (vr4320.igen) : Added.
105 * configure.in (mips64vr4320-*-*): Added.
106 * configure : Rebuilt.
107 * mips.igen : Correct the bfd-names in the mips-ISA model entries.
108 Add the vr4320 model entry and mark the vr4320 insn as necessary.
109
110end-sanitize-vr4320
ca6f76d1
AC
111Tue Mar 3 13:58:43 1998 Andrew Cagney <cagney@b1.cygnus.com>
112
113 * sim-main.h (GETFCC): Return an unsigned value.
114
115start-sanitize-r5900
116 * r5900.igen: Use an unsigned array index variable `i'.
117 (QFSRV): Ditto for variable bytes.
118
119end-sanitize-r5900
120Tue Mar 3 13:21:37 1998 Andrew Cagney <cagney@b1.cygnus.com>
121
122 * mips.igen (DIV): Fix check for -1 / MIN_INT.
123 (DADD): Result destination is RD not RT.
124
125start-sanitize-r5900
126 * r5900.igen (DIV1): Fix check for -1 / MIN_INT.
127 (DIVU1): Don't check for MIN_INT / -1 as performing unsigned
128 divide.
129
130end-sanitize-r5900
0e701ac3
AC
131Fri Feb 27 13:49:49 1998 Andrew Cagney <cagney@b1.cygnus.com>
132
133 * sim-main.h (HIACCESS, LOACCESS): Always define.
134
135 * mdmx.igen (Maxi, Mini): Rename Max, Min.
136
137 * interp.c (sim_info): Delete.
138
7c5d88c1
DE
139Fri Feb 27 18:41:01 1998 Doug Evans <devans@canuck.cygnus.com>
140
141 * interp.c (DECLARE_OPTION_HANDLER): Use it.
142 (mips_option_handler): New argument `cpu'.
143 (sim_open): Update call to sim_add_option_table.
144
f89c0689
AC
145Wed Feb 25 18:56:22 1998 Andrew Cagney <cagney@b1.cygnus.com>
146
147 * mips.igen (CxC1): Add tracing.
148
149start-sanitize-r5900
150Wed Feb 25 13:59:03 1998 Andrew Cagney <cagney@b1.cygnus.com>
151
152 * r5900.igen (StoreFP): Delete.
153 (r59fp_store, r59fp_overflow, r59fp_op1, r59fp_op2, r59fp_op3):
154 New functions.
155 (rsqrt.s, sqrt.s): Implement.
156 (r59cond): New function.
157 (C.COND.S): Call r59cond in assembler line.
158 (cvt.w.s, cvt.s.w): Implement.
159
160 * mips.igen (rsqrt.fmt, sqrt.fmt, cvt.*.*): Remove from r5900
161 instruction set.
162
163 * sim-main.h: Define an enum of r5900 FCSR bit fields.
164
165end-sanitize-r5900
a48e8c8d 166start-sanitize-r5900
d3e1d594
AC
167Tue Feb 24 14:44:18 1998 Andrew Cagney <cagney@b1.cygnus.com>
168
169 * r5900.igen: Add tracing to all p* instructions.
170
a48e8c8d
AC
171Tue Feb 24 02:47:33 1998 Andrew Cagney <cagney@b1.cygnus.com>
172
173 * interp.c (sim_store_register, sim_fetch_register): Pull swifty
174 to get gdb talking to re-aranged sim_cpu register structure.
175
176end-sanitize-r5900
177Fri Feb 20 17:43:21 1998 Andrew Cagney <cagney@b1.cygnus.com>
178
179 * sim-main.h (Max, Min): Declare.
180
181 * interp.c (Max, Min): New functions.
182
183 * mips.igen (BC1): Add tracing.
184
185start-sanitize-vr5400
186Fri Feb 20 16:27:17 1998 Andrew Cagney <cagney@b1.cygnus.com>
187
188 * mdmx.igen: Tag all functions as requiring either with mdmx or
189 vr5400 processor.
190
191end-sanitize-vr5400
192start-sanitize-r5900
193Fri Feb 20 15:55:51 1998 Andrew Cagney <cagney@b1.cygnus.com>
194
195 * configure.in (SIM_AC_OPTION_FLOAT): For r5900, set FP bit size
196 to 32.
197 (SIM_AC_OPTION_BITSIZE): For r5900, set nr address bits to 32.
198
199 * mips.igen (C.cond.fmt, ..): Not part of r5900 insn set.
200
201 * r5900.igen: Rewrite.
202
203 * sim-main.h: Move r5900 registers to a separate _sim_r5900_cpu
204 struct.
205 (GPR_SB, GPR_SH, GPR_SW, GPR_SD, GPR_UB, GPR_UH, GPR_UW, GPR_UD):
206 Define in terms of GPR/GPR1 instead of REGISTERS/REGISTERS.1
207
208end-sanitize-r5900
209Thu Feb 19 14:50:00 1998 John Metzler <jmetzler@cygnus.com>
210
211 * interp.c Added memory map for stack in vr4100
212
f319bab2
GRK
213Thu Feb 19 10:21:21 1998 Gavin Koch <gavin@cygnus.com>
214
215 * interp.c (load_memory): Add missing "break"'s.
216
217Tue Feb 17 12:45:35 1998 Andrew Cagney <cagney@b1.cygnus.com>
218
219 * interp.c (sim_store_register, sim_fetch_register): Pass in
220 length parameter. Return -1.
221
222Tue Feb 10 11:57:40 1998 Ian Carmichael <iancarm@cygnus.com>
223
224 * interp.c: Added hardware init hook, fixed warnings.
225
452b3808
AC
226Sat Feb 7 17:16:20 1998 Andrew Cagney <cagney@b1.cygnus.com>
227
228 * Makefile.in (itable.h itable.c): Depend on SIM_@sim_gen@_ALL.
229
37379a25
AC
230Tue Feb 3 11:36:02 1998 Andrew Cagney <cagney@b1.cygnus.com>
231
232 * interp.c (ifetch16): New function.
233
234 * sim-main.h (IMEM32): Rename IMEM.
235 (IMEM16_IMMED): Define.
236 (IMEM16): Define.
237 (DELAY_SLOT): Update.
238
239 * m16run.c (sim_engine_run): New file.
240
241 * m16.igen: All instructions except LB.
242 (LB): Call do_load_byte.
243 * mips.igen (do_load_byte): New function.
244 (LB): Call do_load_byte.
245
246 * mips.igen: Move spec for insn bit size and high bit from here.
247 * Makefile.in (tmp-igen, tmp-m16): To here.
248
249 * m16.dc: New file, decode mips16 instructions.
250
251 * Makefile.in (SIM_NO_ALL): Define.
252 (tmp-m16): Generate both 16 bit and 32 bit simulator engines.
253
254start-sanitize-tx19
255 * m16.igen: Mark all mips16 insns as being part of the tx19 insn
256 set.
257
258end-sanitize-tx19
259Tue Feb 3 11:28:00 1998 Andrew Cagney <cagney@b1.cygnus.com>
260
261 * configure.in (mips_fpu_bitsize): For tx39, restrict floating
262 point unit to 32 bit registers.
263 * configure: Re-generate.
264
265Sun Feb 1 15:47:14 1998 Andrew Cagney <cagney@b1.cygnus.com>
266
267 * configure.in (sim_use_gen): Make IGEN the default simulator
268 generator for generic 32 and 64 bit mips targets.
269 * configure: Re-generate.
270
a97f304b
AC
271Sun Feb 1 16:52:37 1998 Andrew Cagney <cagney@b1.cygnus.com>
272
273 * sim-main.h (SizeFGR): Determine from floating-point and not gpr
274 bitsize.
275
276 * interp.c (sim_fetch_register, sim_store_register): Read/write
277 FGR from correct location.
278 (sim_open): Set size of FGR's according to
279 WITH_TARGET_FLOATING_POINT_BITSIZE.
280
281 * sim-main.h (FGR): Store floating point registers in a separate
282 array.
283
284Sun Feb 1 16:47:51 1998 Andrew Cagney <cagney@b1.cygnus.com>
285
286 * configure: Regenerated to track ../common/aclocal.m4 changes.
287
288start-sanitize-vr5400
289 * mdmx.igen: Mark all instructions as 64bit/fp specific.
290
291end-sanitize-vr5400
2acd126a
AC
292Tue Feb 3 00:10:50 1998 Andrew Cagney <cagney@b1.cygnus.com>
293
294 * interp.c (ColdReset): Call PENDING_INVALIDATE.
295
296 * sim-main.h (ENGINE_ISSUE_PREFIX_HOOK): Call PENDING_TICK.
297
298 * interp.c (pending_tick): New function. Deliver pending writes.
299
300 * sim-main.h (PENDING_FILL, PENDING_TICK, PENDING_SCHED,
301 PENDING_BIT, PENDING_INVALIDATE): Re-write pipeline code so that
302 it can handle mixed sized quantites and single bits.
303
192ae475
AC
304Mon Feb 2 17:43:15 1998 Andrew Cagney <cagney@b1.cygnus.com>
305
306 * interp.c (oengine.h): Do not include when building with IGEN.
307 (sim_open): Replace GPRLEN by WITH_TARGET_WORD_BITSIZE.
308 (sim_info): Ditto for PROCESSOR_64BIT.
309 (sim_monitor): Replace ut_reg with unsigned_word.
310 (*): Ditto for t_reg.
311 (LOADDRMASK): Define.
312 (sim_open): Remove defunct check that host FP is IEEE compliant,
313 using software to emulate floating point.
314 (value_fpr, ...): Always compile, was conditional on HASFPU.
315
01737f42
AC
316Sun Feb 1 11:15:29 1998 Andrew Cagney <cagney@b1.cygnus.com>
317
318 * sim-main.h (sim_state): Make the cpu array MAX_NR_PROCESSORS in
319 size.
320
321 * interp.c (SD, CPU): Define.
322 (mips_option_handler): Set flags in each CPU.
323 (interrupt_event): Assume CPU 0 is the one being iterrupted.
324 (sim_close): Do not clear STATE, deleted anyway.
325 (sim_write, sim_read): Assume CPU zero's vm should be used for
326 data transfers.
327 (sim_create_inferior): Set the PC for all processors.
328 (sim_monitor, store_word, load_word, mips16_entry): Add cpu
329 argument.
330 (mips16_entry): Pass correct nr of args to store_word, load_word.
331 (ColdReset): Cold reset all cpu's.
332 (signal_exception): Pass cpu to sim_monitor & mips16_entry.
333 (sim_monitor, load_memory, store_memory, signal_exception): Use
334 `CPU' instead of STATE_CPU.
335
336
337 * sim-main.h: Replace uses of STATE_CPU with CPU. Replace sd with
338 SD or CPU_.
339
340 * sim-main.h (signal_exception): Add sim_cpu arg.
341 (SignalException*): Pass both SD and CPU to signal_exception.
342 * interp.c (signal_exception): Update.
343
344 * sim-main.h (value_fpr, store_fpr, dotrace, ifetch32), interp.c:
345 Ditto
346 (sync_operation, prefetch, cache_op, store_memory, load_memory,
347 address_translation): Ditto
348 (decode_coproc, cop_lw, cop_ld, cop_sw, cop_sd): Ditto.
349
350start-sanitize-vr5400
351 * mdmx.igen (get_scale): Pass CPU_ to semantic_illegal instead of
352 `sd'.
353 (ByteAlign): Use StoreFPR, pass args in correct order.
354
355end-sanitize-vr5400
356start-sanitize-r5900
357Sun Feb 1 10:59:55 1998 Andrew Cagney <cagney@b1.cygnus.com>
358
359 * configure.in (sim_igen_filter): For r5900, configure as SMP.
360
361end-sanitize-r5900
412c4e94
AC
362Sat Jan 31 18:15:41 1998 Andrew Cagney <cagney@b1.cygnus.com>
363
364 * configure: Regenerated to track ../common/aclocal.m4 changes.
365
9ec6741b
AC
366Sat Jan 31 14:49:24 1998 Andrew Cagney <cagney@b1.cygnus.com>
367
c4db5b04
AC
368start-sanitize-r5900
369 * configure.in (sim_igen_filter): For r5900, use igen.
370 * configure: Re-generate.
371
372end-sanitize-r5900
9ec6741b
AC
373 * interp.c (sim_engine_run): Add `nr_cpus' argument.
374
375 * mips.igen (model): Map processor names onto BFD name.
376
377 * sim-main.h (CPU_CIA): Delete.
378 (SET_CIA, GET_CIA): Define
379
2d44e12a
AC
380Wed Jan 21 16:16:27 1998 Andrew Cagney <cagney@b1.cygnus.com>
381
382 * sim-main.h (GPR_SET): Define, used by igen when zeroing a
383 regiser.
384
385 * configure.in (default_endian): Configure a big-endian simulator
386 by default.
387 * configure: Re-generate.
388
462cfbc4
DE
389Mon Jan 19 22:26:29 1998 Doug Evans <devans@seba>
390
391 * configure: Regenerated to track ../common/aclocal.m4 changes.
392
e0e0fc76
MA
393Mon Jan 5 20:38:54 1998 Mark Alexander <marka@cygnus.com>
394
395 * interp.c (sim_monitor): Handle Densan monitor outbyte
396 and inbyte functions.
397
76ef4165
FL
3981997-12-29 Felix Lee <flee@cygnus.com>
399
400 * interp.c (sim_engine_run): msvc cpp barfs on #if (a==b!=c).
401
402Wed Dec 17 14:48:20 1997 Jeffrey A Law (law@cygnus.com)
403
404 * Makefile.in (tmp-igen): Arrange for $zero to always be
405 reset to zero after every instruction.
406
9c8ec16d
AC
407Mon Dec 15 23:17:11 1997 Andrew Cagney <cagney@b1.cygnus.com>
408
409 * configure: Regenerated to track ../common/aclocal.m4 changes.
410 * config.in: Ditto.
411
255cbbf1 412start-sanitize-vr5400
b17d2d14
AC
413Sat Dec 13 15:18:51 1997 Andrew Cagney <cagney@b1.cygnus.com>
414
415 * vr5400.igen (Low32Bits, High32Bits): Sign extend extracted 32
416 bit values.
417
418end-sanitize-vr5400
419start-sanitize-vr5400
255cbbf1
JL
420Fri Dec 12 12:26:07 1997 Jeffrey A Law (law@cygnus.com)
421
422 * configure.in (sim_igen_filter): Multi-sim vr5000 - vr5000 or
423 vr5400 with the vr5000 as the default.
424
425end-sanitize-vr5400
23850e92
JL
426Wed Dec 10 17:10:45 1997 Jeffrey A Law (law@cygnus.com)
427
428 * mips.igen (MSUB): Fix to work like MADD.
429 * gencode.c (MSUB): Similarly.
430
c02ed6a8
AC
431start-sanitize-vr5400
432Tue Dec 9 12:02:12 1997 Andrew Cagney <cagney@b1.cygnus.com>
433
434 * configure.in (sim_igen_filter): Multi-sim vr5400 - vr5000 or
435 vr5400.
436
437end-sanitize-vr5400
6e51f990
DE
438Thu Dec 4 09:21:05 1997 Doug Evans <devans@canuck.cygnus.com>
439
440 * configure: Regenerated to track ../common/aclocal.m4 changes.
441
35c246c9
AC
442Wed Nov 26 11:00:23 1997 Andrew Cagney <cagney@b1.cygnus.com>
443
444 * mips.igen (LWC1): Correct assembler - lwc1 not swc1.
445
446start-sanitize-vr5400
0d5d0d10 447 * mdmx.igen (value_vr): Correct sim_io_eprintf format argument.
0931ce5a 448 (value_cc, store_cc): Implement.
0d5d0d10 449
35c246c9
AC
450 * sim-main.h: Add 8*3*8 bit accumulator.
451
452 * vr5400.igen: Move mdmx instructins from here
453 * mdmx.igen: To here - new file. Add/fix missing instructions.
454 * mips.igen: Include mdmx.igen.
0931ce5a 455 * Makefile.in (IGEN_INCLUDE): Add mdmx.igen.
35c246c9 456
c02ed6a8 457end-sanitize-vr5400
58fb5d0a
AC
458Sun Nov 23 01:45:20 1997 Andrew Cagney <cagney@b1.cygnus.com>
459
460 * sim-main.h (sim-fpu.h): Include.
461
462 * interp.c (convert, SquareRoot, Recip, Divide, Multiply, Sub,
463 Add, Negate, AbsoluteValue, Equal, Less, Infinity, NaN): Rewrite
464 using host independant sim_fpu module.
465
a09a30d2
AC
466Thu Nov 20 19:56:22 1997 Andrew Cagney <cagney@b1.cygnus.com>
467
232156de
AC
468 * interp.c (signal_exception): Report internal errors with SIGABRT
469 not SIGQUIT.
a09a30d2 470
232156de
AC
471 * sim-main.h (C0_CONFIG): New register.
472 (signal.h): No longer include.
473
474 * interp.c (decode_coproc): Allow access C0_CONFIG to register.
a09a30d2 475
486740ce
DE
476Tue Nov 18 15:33:48 1997 Doug Evans <devans@canuck.cygnus.com>
477
478 * Makefile.in (SIM_OBJS): Use $(SIM_NEW_COMMON_OBJS).
479
f23e93da
AC
480Fri Nov 14 11:56:48 1997 Andrew Cagney <cagney@b1.cygnus.com>
481
482 * mips.igen: Tag vr5000 instructions.
483 (ANDI): Was missing mipsIV model, fix assembler syntax.
484 (do_c_cond_fmt): New function.
485 (C.cond.fmt): Handle mips I-III which do not support CC field
486 separatly.
487 (bc1): Handle mips IV which do not have a delaed FCC separatly.
488 (SDR): Mask paddr when BigEndianMem, not the converse as specified
489 in IV3.2 spec.
490 (DMULT, DMULTU): Force use of hosts 64bit multiplication. Handle
491 vr5000 which saves LO in a GPR separatly.
492
493 * configure.in (enable-sim-igen): For vr5000, select vr5000
494 specific instructions.
495 * configure: Re-generate.
496
497Wed Nov 12 14:42:52 1997 Andrew Cagney <cagney@b1.cygnus.com>
498
499 * Makefile.in (SIM_OBJS): Add sim-fpu module.
500
501 * interp.c (store_fpr), sim-main.h: Add separate fmt_uninterpreted_32 and
502 fmt_uninterpreted_64 bit cases to switch. Convert to
503 fmt_formatted,
504
505 * sim-main.h (ENGINE_ISSUE_PREFIX_HOOK): Define,
506
507 * mips.igen (SWR): Mask paddr when BigEndianMem, not the converse
508 as specified in IV3.2 spec.
509 (MTC1, DMTC1): Call StoreFPR to store the GPR in the FPR.
510
030843d7
AC
511Tue Nov 11 12:38:23 1997 Andrew Cagney <cagney@b1.cygnus.com>
512
513 * mips.igen: Delay slot branches add OFFSET to NIA not CIA.
514 (MFC0, MTC0, SWC1, LWC1, SDC1, LDC1): Implement.
515 (start-sanitize-r5900):
516 (LWXC1, SWXC1): Delete from r5900 instruction set.
517 (end-sanitize-r5900):
518 (MTC1, MFC1, DMTC1, DMFC1, CFC1, CTC1): Implement separate non
a94c5493 519 PENDING_FILL versions of instructions. Simplify.
030843d7
AC
520 (X): New function.
521 (MULT, MULTU): Implement separate RD==0 and RD!=0 versions of
522 instructions.
a94c5493
AC
523 (BEQZ, ..., SLT, SLTI, TLT, TLE, TLI, ...): Explicitly cast GPR to
524 a signed value.
030843d7
AC
525 (MTHI, MFHI): Disable code checking HI-LO.
526
527 * sim-main.h (dotrace,tracefh), interp.c: Make dotrace & tracefh
528 global.
529 (NULLIFY_NEXT_INSTRUCTION): Call dotrace.
530
7ce8b917
AC
531Thu Nov 6 16:36:35 1997 Andrew Cagney <cagney@b1.cygnus.com>
532
95469ceb
AC
533 * gencode.c (build_mips16_operands): Replace IPC with cia.
534
535 * interp.c (sim_monitor, signal_exception, cache_op, store_fpr,
536 value_fpr, cop_ld, cop_lw, cop_sw, cop_sd, decode_coproc): Replace
537 IPC to `cia'.
538 (UndefinedResult): Replace function with macro/function
539 combination.
540 (sim_engine_run): Don't save PC in IPC.
541
542 * sim-main.h (IPC): Delete.
543
544 start-sanitize-vr5400
545 * vr5400.igen (vr): Add missing cia argument to value_fpr.
546 (do_select): Rename function select.
547 end-sanitize-vr5400
548
7ce8b917
AC
549 * interp.c (signal_exception, store_word, load_word,
550 address_translation, load_memory, store_memory, cache_op,
551 prefetch, sync_operation, ifetch, value_fpr, store_fpr, convert,
95469ceb
AC
552 cop_lw, cop_ld, cop_sw, cop_sd, decode_coproc, sim_monitor): Add
553 current instruction address - cia - argument.
7ce8b917
AC
554 (sim_read, sim_write): Call address_translation directly.
555 (sim_engine_run): Rename variable vaddr to cia.
95469ceb
AC
556 (signal_exception): Pass cia to sim_monitor
557
7ce8b917
AC
558 * sim-main.h (SignalException, LoadWord, StoreWord, CacheOp,
559 Prefetch, SyncOperation, ValueFPR, StoreFPR, Convert, COP_LW,
560 COP_LD, COP_SW, COP_SD, DecodeCoproc): Update.
561
562 * sim-main.h (SignalExceptionSimulatorFault): Delete definition.
563 * interp.c (sim_open): Replace SignalExceptionSimulatorFault with
564 SIM_ASSERT.
565
566 * interp.c (signal_exception): Pass restart address to
567 sim_engine_restart.
568
569 * Makefile.in (semantics.o, engine.o, support.o, itable.o,
570 idecode.o): Add dependency.
571
572 * sim-main.h (SIM_ENGINE_HALT_HOOK, SIM_ENGINE_RESUME_HOOK):
573 Delete definitions
574 (DELAY_SLOT): Update NIA not PC with branch address.
575 (NULLIFY_NEXT_INSTRUCTION): Set NIA to instruction after next.
576
577 * mips.igen: Use CIA not PC in branch calculations.
578 (illegal): Call SignalException.
579 (BEQ, ADDIU): Fix assembler.
580
63be8feb
AC
581Wed Nov 5 12:19:56 1997 Andrew Cagney <cagney@b1.cygnus.com>
582
44b8585a
AC
583 * m16.igen (JALX): Was missing.
584
585 * configure.in (enable-sim-igen): New configuration option.
586 * configure: Re-generate.
587
63be8feb
AC
588 * sim-main.h (MAX_INSNS, INSN_NAME): Define.
589
590 * interp.c (load_memory, store_memory): Delete parameter RAW.
591 (sim_read, sim_write): Use sim_core_{read,write}_buffer directly
592 bypassing {load,store}_memory.
593
594 * sim-main.h (ByteSwapMem): Delete definition.
595
596 * Makefile.in (SIM_OBJS): Add sim-memopt module.
597
598 * interp.c (sim_do_command, sim_commands): Delete mips specific
599 commands. Handled by module sim-options.
600
601 * sim-main.h (SIM_HAVE_FLATMEM): Undefine, use sim-core.o module.
602 (WITH_MODULO_MEMORY): Define.
603
604 * interp.c (sim_info): Delete code printing memory size.
605
606 * interp.c (mips_size): Nee sim_size, delete function.
607 (power2): Delete.
608 (monitor, monitor_base, monitor_size): Delete global variables.
609 (sim_open, sim_close): Delete code creating monitor and other
610 memory regions. Use sim-memopts module, via sim_do_commandf, to
611 manage memory regions.
612 (load_memory, store_memory): Use sim-core for memory model.
613
614 * interp.c (address_translation): Delete all memory map code
615 except line forcing 32 bit addresses.
616
22de994d
AC
617Wed Nov 5 11:21:11 1997 Andrew Cagney <cagney@b1.cygnus.com>
618
619 * sim-main.h (WITH_TRACE): Delete definition. Enables common
620 trace options.
621
622 * interp.c (logfh, logfile): Delete globals.
623 (sim_open, sim_close): Delete code opening & closing log file.
624 (mips_option_handler): Delete -l and -n options.
625 (OPTION mips_options): Ditto.
626
627 * interp.c (OPTION mips_options): Rename option trace to dinero.
628 (mips_option_handler): Update.
629
525d929e
AC
630Wed Nov 5 09:35:59 1997 Andrew Cagney <cagney@b1.cygnus.com>
631
632 * interp.c (fetch_str): New function.
633 (sim_monitor): Rewrite using sim_read & sim_write.
634 (sim_open): Check magic number.
635 (sim_open): Write monitor vectors into memory using sim_write.
636 (MONITOR_BASE, MONITOR_SIZE, MEM_SIZE): Define.
637 (sim_read, sim_write): Simplify - transfer data one byte at a
638 time.
639 (load_memory, store_memory): Clarify meaning of parameter RAW.
640
641 * sim-main.h (isHOST): Defete definition.
642 (isTARGET): Mark as depreciated.
643 (address_translation): Delete parameter HOST.
644
645 * interp.c (address_translation): Delete parameter HOST.
646
6205f379
GRK
647start-sanitize-tx49
648Wed Oct 29 14:21:32 1997 Gavin Koch <gavin@cygnus.com>
649
650 * gencode.c: Add tx49 configury and insns.
651 * configure.in: Add tx49 configury.
652 * configure: Update.
653
654end-sanitize-tx49
01b9cd49
AC
655Wed Oct 29 11:13:56 1997 Andrew Cagney <cagney@b1.cygnus.com>
656
657 * mips.igen:
658
659 * Makefile.in (IGEN_INCLUDE): Files included by mips.igen.
660 (tmp-igen, tmp-m16): Depend on IGEN_INCLUDE.
661
89d09738
AC
662Tue Oct 28 11:06:47 1997 Andrew Cagney <cagney@b1.cygnus.com>
663
664 * mips.igen: Add model filter field to records.
665
16bd5d6e
AC
666Mon Oct 27 17:53:59 1997 Andrew Cagney <cagney@b1.cygnus.com>
667
668 * Makefile.in (SIM_NO_CFLAGS): Define. Define WITH_IGEN=0.
669
670 interp.c (sim_engine_run): Do not compile function sim_engine_run
671 when WITH_IGEN == 1.
672
673 * configure.in (sim_igen_flags, sim_m16_flags): Set according to
674 target architecture.
675
676 Makefile.in (tmp-igen, tmp-m16): Drop -F and -M options to
677 igen. Replace with configuration variables sim_igen_flags /
678 sim_m16_flags.
679
16bd5d6e 680 start-sanitize-r5900
8c31916d
AC
681 * r5900.igen: New file. Copy r5900 insns here.
682 end-sanitize-r5900
16bd5d6e 683 start-sanitize-vr5400
58fb5d0a 684 * vr5400.igen: New file.
255cbbf1 685 end-sanitize-vr5400
16bd5d6e
AC
686 * m16.igen: New file. Copy mips16 insns here.
687 * mips.igen: From here.
688
90ad43b2
AC
689Mon Oct 27 13:53:59 1997 Andrew Cagney <cagney@b1.cygnus.com>
690
691 start-sanitize-vr5400
692 * mips.igen: Tag all mipsIV instructions with vr5400 model.
693
694 * configure.in: Add mips64vr5400 target.
695 * configure: Re-generate.
696
697 end-sanitize-vr5400
698 * Makefile.in (SIM_NO_OBJ): Define, move SIM_M16_OBJ, SIM_IGEN_OBJ
699 to top.
700 (tmp-igen, tmp-m16): Pass -I srcdir to igen.
701
635ae9cb
GRK
702Sat Oct 25 16:51:40 1997 Gavin Koch <gavin@cygnus.com>
703
704 * gencode.c (build_instruction): Follow sim_write's lead in using
705 BigEndianMem instead of !ByteSwapMem.
706
122edc03
AC
707Fri Oct 24 17:41:49 1997 Andrew Cagney <cagney@b1.cygnus.com>
708
709 * configure.in (sim_gen): Dependent on target, select type of
710 generator. Always select old style generator.
711
712 configure: Re-generate.
713
714 Makefile.in (tmp-igen, tmp-m16, clean-m16, clean-igen): New
715 targets.
716 (SIM_M16_CFLAGS, SIM_M16_ALL, SIM_M16_OBJ, BUILT_SRC_FROM_M16,
717 SIM_IGEN_CFLAGS, SIM_IGEN_ALL, SIM_IGEN_OBJ, BUILT_SRC_FROM_IGEN,
718 IGEN_TRACE, IGEN_INSN, IGEN_DC): Define
719 (SIM_EXTRA_CFLAGS, SIM_EXTRA_ALL, SIM_OBJS): Add member
720 SIM_@sim_gen@_*, set by autoconf.
721
dad6f1f3
AC
722Wed Oct 22 12:52:06 1997 Andrew Cagney <cagney@b1.cygnus.com>
723
724 * sim-main.h (NULLIFY_NEXT_INSTRUCTION, DELAY_SLOT): Define.
725
726 * interp.c (ColdReset): Remove #ifdef HASFPU, check
727 CURRENT_FLOATING_POINT instead.
728
729 * interp.c (ifetch32): New function. Fetch 32 bit instruction.
730 (address_translation): Raise exception InstructionFetch when
731 translation fails and isINSTRUCTION.
732
733 * interp.c (sim_open, sim_write, sim_monitor, store_word,
734 sim_engine_run): Change type of of vaddr and paddr to
735 address_word.
736 (address_translation, prefetch, load_memory, store_memory,
737 cache_op): Change type of vAddr and pAddr to address_word.
738
739 * gencode.c (build_instruction): Change type of vaddr and paddr to
740 address_word.
741
92ad193b
AC
742Mon Oct 20 15:29:04 1997 Andrew Cagney <cagney@b1.cygnus.com>
743
744 * sim-main.h (ALU64_END, ALU32_END): Use ALU*_OVERFLOW_RESULT
745 macro to obtain result of ALU op.
746
aa324b9b
AC
747Tue Oct 21 17:39:14 1997 Andrew Cagney <cagney@b1.cygnus.com>
748
749 * interp.c (sim_info): Call profile_print.
750
e2f8ffb7
AC
751Mon Oct 20 13:31:20 1997 Andrew Cagney <cagney@b1.cygnus.com>
752
753 * Makefile.in (SIM_OBJS): Add sim-profile.o module.
754
755 * sim-main.h (WITH_PROFILE): Do not define, defined in
756 common/sim-config.h. Use sim-profile module.
757 (simPROFILE): Delete defintion.
758
759 * interp.c (PROFILE): Delete definition.
760 (mips_option_handler): Delete 'p', 'y' and 'x' profile options.
761 (sim_close): Delete code writing profile histogram.
762 (mips_set_profile, mips_set_profile_size, writeout16, writeout32):
763 Delete.
764 (sim_engine_run): Delete code profiling the PC.
765
fb5a2a3e
AC
766Mon Oct 20 13:31:20 1997 Andrew Cagney <cagney@b1.cygnus.com>
767
768 * sim-main.h (SIGNEXTEND): Force type of result to unsigned_word.
769
770 * interp.c (sim_monitor): Make register pointers of type
771 unsigned_word*.
772
773 * sim-main.h: Make registers of type unsigned_word not
774 signed_word.
775
ea985d24
AC
776Thu Oct 16 10:31:39 1997 Andrew Cagney <cagney@b1.cygnus.com>
777
778start-sanitize-r5900
779 * sim-main.h (BYTES_IN_MMI_REGS, ..., SUB_REG_FETCH, ..., GPR_SB,
780 ...): Move to sim-main.h
781
782end-sanitize-r5900
783 * interp.c (sync_operation): Rename from SyncOperation, make
784 global, add SD argument.
785 (prefetch): Rename from Prefetch, make global, add SD argument.
786 (decode_coproc): Make global.
787
788 * sim-main.h (SyncOperation, DecodeCoproc, Pefetch): Define.
789
790 * gencode.c (build_instruction): Generate DecodeCoproc not
791 decode_coproc calls.
792
793 * interp.c (SETFCC, GETFCC, PREVCOC1): Move to sim-main.h
794 (SizeFGR): Move to sim-main.h
795 (simHALTEX, simHALTIN, simTRACE, simPROFILE, simDELAYSLOT,
796 simSIGINT, simJALDELAYSLOT): Move to sim-main.h
797 (FP_FLAGS, FP_ENABLE, FP_CAUSE, IR, UF, OF, DZ, IO, UO): Move to
798 sim-main.h.
799 (FP_FS, FP_MASK_RM, FP_SH_RM, FP_RM_NEAREST, FP_RM_TOPINF,
800 FP_RM_TOMINF, GETRM): Move to sim-main.h.
801 (Uncached, CachedNoncoherent, CachedCoherent, Cached,
802 isINSTRUCTION, ..., AccessLength_BYTE, ...): Move to sim-main.h.
803 (UserMode, BigEndianMem, ByteSwapMem, ReverseEndian,
804 BigEndianCPU, status_KSU_mask, ...). Moved to sim-main.h
805
806 * sim-main.h (ALU32_END, ALU64_END): Define. When overflow raise
807 exception.
808 (sim-alu.h): Include.
809 (NULLIFY_NIA, NULL_CIA, CPU_CIA): Define.
810 (sim_cia): Typedef to instruction_address.
811
284e759d
AC
812Thu Oct 16 10:31:41 1997 Andrew Cagney <cagney@b1.cygnus.com>
813
814 * Makefile.in (interp.o): Rename generated file engine.c to
815 oengine.c.
816
817 * interp.c: Update.
818
339fb149
AC
819Thu Oct 16 10:31:40 1997 Andrew Cagney <cagney@b1.cygnus.com>
820
821 * gencode.c (build_instruction): Use FPR_STATE not fpr_state.
822
8b70f837
AC
823Thu Oct 16 10:31:39 1997 Andrew Cagney <cagney@b1.cygnus.com>
824
825 * gencode.c (build_instruction): For "FPSQRT", output correct
826 number of arguments to Recip.
827
0c2c5f61
AC
828Tue Oct 14 17:38:18 1997 Andrew Cagney <cagney@b1.cygnus.com>
829
830 * Makefile.in (interp.o): Depends on sim-main.h
831
832 * interp.c (mips16_entry, ColdReset,dotrace): Add SD argument. Use GPR not registers.
833
834 * sim-main.h (sim_cpu): Add registers, register_widths, fpr_state,
835 ipc, dspc, pending_*, hiaccess, loaccess, state, dsstate fields.
836 (REGISTERS, REGISTER_WIDTHS, FPR_STATE, IPC, DSPC, PENDING_*,
837 STATE, DSSTATE): Define
838 (GPR, FGRIDX, ..): Define.
839
840 * interp.c (registers, register_widths, fpr_state, ipc, dspc,
841 pending_*, hiaccess, loaccess, state, dsstate): Delete globals.
842 (GPR, FGRIDX, ...): Delete macros.
843
844 * interp.c: Update names to match defines from sim-main.h
845
18c64df6
AC
846Tue Oct 14 15:11:45 1997 Andrew Cagney <cagney@b1.cygnus.com>
847
848 * interp.c (sim_monitor): Add SD argument.
849 (sim_warning): Delete. Replace calls with calls to
850 sim_io_eprintf.
851 (sim_error): Delete. Replace calls with sim_io_error.
852 (open_trace, writeout32, writeout16, getnum): Add SD argument.
853 (mips_set_profile): Rename from sim_set_profile. Add SD argument.
854 (mips_set_profile_size): Rename from sim_set_profile_size. Add SD
855 argument.
856 (mips_size): Rename from sim_size. Add SD argument.
857
858 * interp.c (simulator): Delete global variable.
859 (callback): Delete global variable.
860 (mips_option_handler, sim_open, sim_write, sim_read,
861 sim_store_register, sim_fetch_register, sim_info, sim_do_command,
862 sim_size,sim_monitor): Use sim_io_* not callback->*.
863 (sim_open): ZALLOC simulator struct.
864 (PROFILE): Do not define.
865
866Tue Oct 14 13:35:48 1997 Andrew Cagney <cagney@b1.cygnus.com>
867
868 * interp.c (sim_open), support.h: Replace CHECKSIM macro found in
869 support.h with corresponding code.
870
871 * sim-main.h (word64, uword64), support.h: Move definition to
872 sim-main.h.
873 (WORD64LO, WORD64HI, SET64LO, SET64HI, WORD64, UWORD64): Ditto.
874
875 * support.h: Delete
876 * Makefile.in: Update dependencies
877 * interp.c: Do not include.
878
879Tue Oct 14 13:35:48 1997 Andrew Cagney <cagney@b1.cygnus.com>
880
881 * interp.c (address_translation, load_memory, store_memory,
882 cache_op): Rename to from AddressTranslation et.al., make global,
883 add SD argument
884
885 * sim-main.h (AddressTranslation, LoadMemory, StoreMemory,
886 CacheOp): Define.
887
888 * interp.c (SignalException): Rename to signal_exception, make
889 global.
890
891 * interp.c (Interrupt, ...): Move definitions to sim-main.h.
892
893 * sim-main.h (SignalException, SignalExceptionInterrupt,
894 SignalExceptionInstructionFetch, SignalExceptionAddressStore,
895 SignalExceptionAddressLoad, SignalExceptionSimulatorFault,
896 SignalExceptionIntegerOverflow, SignalExceptionCoProcessorUnusable):
897 Define.
898
899 * interp.c, support.h: Use.
900
901Tue Oct 14 13:19:20 1997 Andrew Cagney <cagney@b1.cygnus.com>
902
903 * interp.c (ValueFPR, StoreFPR), sim-main.h: Make global, rename
904 to value_fpr / store_fpr. Add SD argument.
905 (NaN, Infinity, Less, Equal, AbsoluteValue, Negate, Add, Sub,
906 Multiply, Divide, Recip, SquareRoot, Convert): Make global.
907
908 * sim-main.h (ValueFPR, StoreFPR): Define.
909
910Tue Oct 14 13:06:55 1997 Andrew Cagney <cagney@b1.cygnus.com>
911
912 * interp.c (sim_engine_run): Check consistency between configure
913 WITH_TARGET_WORD_BITSIZE and WITH_FLOATING_POINT and gensim GPRLEN
914 and HASFPU.
915
916 * configure.in (mips_bitsize): Configure WITH_TARGET_WORD_BITSIZE.
917 (mips_fpu): Configure WITH_FLOATING_POINT.
918 (mips_endian): Configure WITH_TARGET_ENDIAN.
919 * configure: Update.
920
921Fri Oct 3 09:28:00 1997 Andrew Cagney <cagney@b1.cygnus.com>
922
923 * configure: Regenerated to track ../common/aclocal.m4 changes.
924
adf4739e
AC
925start-sanitize-r5900
926Mon Aug 25 19:11:15 1997 Andrew Cagney <cagney@b1.cygnus.com>
927
928 * interp.c (MAX_REG): Allow up-to 128 registers.
929 (LO1, HI1): Define value that matches REGISTER_NAMES in gdb.
930 (REGISTER_SA): Ditto.
931 (sim_open): Initialize register_widths for r5900 specific
932 registers.
933 (sim_fetch_register, sim_store_register): Check for request of
934 r5900 specific SA register. Check for request for hi 64 bits of
935 r5900 specific registers.
936
937end-sanitize-r5900
26b20b0a
BM
938Mon Sep 29 14:45:00 1997 Bob Manson <manson@charmed.cygnus.com>
939
940 * configure: Regenerated.
941
6eedf3f4
MA
942Fri Sep 26 12:48:18 1997 Mark Alexander <marka@cygnus.com>
943
944 * interp.c: Allow Debug, DEPC, and EPC registers to be examined in GDB.
945
e63bc706
AC
946Thu Sep 25 11:15:22 1997 Andrew Cagney <cagney@b1.cygnus.com>
947
6eedf3f4
MA
948 * gencode.c (print_igen_insn_models): Assume certain architectures
949 include all mips* instructions.
950 (print_igen_insn_format): Use data_size==-1 as marker for MIPS16
951 instruction.
952
e63bc706
AC
953 * Makefile.in (tmp.igen): Add target. Generate igen input from
954 gencode file.
955
956 * gencode.c (FEATURE_IGEN): Define.
957 (main): Add --igen option. Generate output in igen format.
958 (process_instructions): Format output according to igen option.
959 (print_igen_insn_format): New function.
960 (print_igen_insn_models): New function.
961 (process_instructions): Only issue warnings and ignore
962 instructions when no FEATURE_IGEN.
963
eb2e3c85
AC
964Wed Sep 24 17:38:57 1997 Andrew Cagney <cagney@b1.cygnus.com>
965
966 * interp.c (COP_SD, COP_LD): Add UNUSED to pacify GCC for some
967 MIPS targets.
968
92f91d1f
AC
969Tue Sep 23 11:04:38 1997 Andrew Cagney <cagney@b1.cygnus.com>
970
971 * configure: Regenerated to track ../common/aclocal.m4 changes.
972
973Tue Sep 23 10:19:51 1997 Andrew Cagney <cagney@b1.cygnus.com>
974
975 * Makefile.in (SIM_ALIGNMENT, SIM_ENDIAN, SIM_HOSTENDIAN,
976 SIM_RESERVED_BITS): Delete, moved to common.
977 (SIM_EXTRA_CFLAGS): Update.
978
794e9ac9
AC
979Mon Sep 22 11:46:20 1997 Andrew Cagney <cagney@b1.cygnus.com>
980
76a6247f 981 * configure.in: Configure non-strict memory alignment.
794e9ac9
AC
982 * configure: Regenerated to track ../common/aclocal.m4 changes.
983
b45caf05
AC
984Fri Sep 19 17:45:25 1997 Andrew Cagney <cagney@b1.cygnus.com>
985
986 * configure: Regenerated to track ../common/aclocal.m4 changes.
987
988Sat Sep 20 14:07:28 1997 Gavin Koch <gavin@cygnus.com>
989
990 * gencode.c (SDBBP,DERET): Added (3900) insns.
991 (RFE): Turn on for 3900.
992 * interp.c (DebugBreakPoint,DEPC,Debug,Debug_*): Added.
993 (dsstate): Made global.
994 (SUBTARGET_R3900): Added.
995 (CANCELDELAYSLOT): New.
996 (SignalException): Ignore SystemCall rather than ignore and
997 terminate. Add DebugBreakPoint handling.
998 (decode_coproc): New insns RFE, DERET; and new registers Debug
999 and DEPC protected by SUBTARGET_R3900.
1000 (sim_engine_run): Use CANCELDELAYSLOT rather than clearing
1001 bits explicitly.
1002 * Makefile.in,configure.in: Add mips subtarget option.
1003 * configure: Update.
1004
7afa8d4e
GRK
1005Fri Sep 19 09:33:27 1997 Gavin Koch <gavin@cygnus.com>
1006
1007 * gencode.c: Add r3900 (tx39).
1008
1009start-sanitize-tx19
1010 * gencode.c: Fix some configuration problems by improving
1011 the relationship between tx19 and tx39.
1012end-sanitize-tx19
1013
667065d0
GRK
1014Tue Sep 16 15:52:04 1997 Gavin Koch <gavin@cygnus.com>
1015
1016 * gencode.c (build_instruction): Don't need to subtract 4 for
1017 JALR, just 2.
1018
9cb8397f
GRK
1019Tue Sep 16 11:32:28 1997 Gavin Koch <gavin@cygnus.com>
1020
1021 * interp.c: Correct some HASFPU problems.
1022
a2ab5e65
AC
1023Mon Sep 15 17:36:15 1997 Andrew Cagney <cagney@b1.cygnus.com>
1024
1025 * configure: Regenerated to track ../common/aclocal.m4 changes.
1026
11ac69e0
AC
1027Fri Sep 12 12:01:39 1997 Andrew Cagney <cagney@b1.cygnus.com>
1028
1029 * interp.c (mips_options): Fix samples option short form, should
1030 be `x'.
1031
972f3a34
AC
1032Thu Sep 11 09:35:29 1997 Andrew Cagney <cagney@b1.cygnus.com>
1033
1034 * interp.c (sim_info): Enable info code. Was just returning.
1035
9eeaaefa
AC
1036Tue Sep 9 17:30:57 1997 Andrew Cagney <cagney@b1.cygnus.com>
1037
1038 * interp.c (decode_coproc): Clarify warning about unsuported MTC0,
1039 MFC0.
1040
c31c13b4
AC
1041Tue Sep 9 16:28:28 1997 Andrew Cagney <cagney@b1.cygnus.com>
1042
1043 * gencode.c (build_instruction): Use SIGNED64 for 64 bit
1044 constants.
1045 (build_instruction): Ditto for LL.
1046
b637f306
GRK
1047start-sanitize-tx19
1048Sun Sep 7 16:05:46 1997 Gavin Koch <gavin@cygnus.com>
1049
1050 * mips/configure.in, mips/gencode: Add tx19/r1900.
1051
1052end-sanitize-tx19
6fea4763
DE
1053Thu Sep 4 17:21:23 1997 Doug Evans <dje@seba>
1054
1055 * configure: Regenerated to track ../common/aclocal.m4 changes.
1056
52352d38
AC
1057start-sanitize-r5900
1058Mon Sep 1 18:43:30 1997 Andrew Cagney <cagney@b1.cygnus.com>
1059
1060 * gencode.c (build_instruction): For "pabsw" and "pabsh", check
1061 for overflow due to ABS of MININT, set result to MAXINT.
1062 (build_instruction): For "psrlvw", signextend bit 31.
1063
1064end-sanitize-r5900
88117054
AC
1065Wed Aug 27 18:13:22 1997 Andrew Cagney <cagney@b1.cygnus.com>
1066
1067 * configure: Regenerated to track ../common/aclocal.m4 changes.
1068 * config.in: Ditto.
1069
fafce69a
AC
1070Wed Aug 27 14:12:27 1997 Andrew Cagney <cagney@b1.cygnus.com>
1071
1072 * interp.c (sim_open): Add call to sim_analyze_program, update
1073 call to sim_config.
1074
7230ff0f
AC
1075Tue Aug 26 10:40:07 1997 Andrew Cagney <cagney@b1.cygnus.com>
1076
1077 * interp.c (sim_kill): Delete.
fafce69a
AC
1078 (sim_create_inferior): Add ABFD argument. Set PC from same.
1079 (sim_load): Move code initializing trap handlers from here.
1080 (sim_open): To here.
1081 (sim_load): Delete, use sim-hload.c.
1082
1083 * Makefile.in (SIM_OBJS): Add sim-hload.o module.
7230ff0f 1084
247fccde
AC
1085Mon Aug 25 17:50:22 1997 Andrew Cagney <cagney@b1.cygnus.com>
1086
1087 * configure: Regenerated to track ../common/aclocal.m4 changes.
1088 * config.in: Ditto.
1089
1090Mon Aug 25 15:59:48 1997 Andrew Cagney <cagney@b1.cygnus.com>
1091
1092 * interp.c (sim_open): Add ABFD argument.
1093 (sim_load): Move call to sim_config from here.
1094 (sim_open): To here. Check return status.
1095
1096start-sanitize-r5900
1097 * gencode.c (build_instruction): Do not define x8000000000000000,
1098 x7FFFFFFFFFFFFFFF, or xFFFFFFFF80000000.
1099
1100end-sanitize-r5900
1101start-sanitize-r5900
1102Mon Jul 28 19:49:29 1997 Andrew Cagney <cagney@b1.cygnus.com>
1103
1104 * gencode.c (build_instruction): For "pdivw", "pdivbw" and
1105 "pdivuw" check for overflow due to signed divide by -1.
1106
1107end-sanitize-r5900
c12e2e4c
GRK
1108Fri Jul 25 15:00:45 1997 Gavin Koch <gavin@cygnus.com>
1109
1110 * gencode.c (build_instruction): Two arg MADD should
1111 not assign result to $0.
1112
1e851d2c
AC
1113start-sanitize-r5900
1114Thu Jul 10 11:58:48 1997 Andrew Cagney <cagney@critters.cygnus.com>
1115
1116 * gencode.c (build_instruction): For "ppac5" use unsigned
1117 arrithmetic so that the sign bit doesn't smear when right shifted.
1118 (build_instruction): For "pdiv" perform sign extension when
1119 storing results in HI and LO.
1120 (build_instructions): For "pdiv" and "pdivbw" check for
1121 divide-by-zero.
1122 (build_instruction): For "pmfhl.slw" update hi part of dest
1123 register as well as low part.
1124 (build_instruction): For "pmfhl" portably handle long long values.
1125 (build_instruction): For "pmfhl.sh" correctly negative values.
1126 Store half words 2 and three in the correct place.
1127 (build_instruction): For "psllvw", sign extend value after shift.
1128
1129end-sanitize-r5900
1130Thu Jun 26 12:13:17 1997 Angela Marie Thomas (angela@cygnus.com)
1131
1132 * sim/mips/configure: Change default_sim_endian to 0 (bi-endian)
1133 * sim/mips/configure.in: Regenerate.
1134
1135Wed Jul 9 10:29:21 1997 Andrew Cagney <cagney@critters.cygnus.com>
1136
1137 * interp.c (SUB_REG_UW, SUB_REG_SW, SUB_REG_*): Use more explicit
1138 signed8, unsigned8 et.al. types.
1139
1140start-sanitize-r5900
1141 * gencode.c (build_instruction): For PMULTU* do not sign extend
1142 registers. Make generated code easier to debug.
1143
1144end-sanitize-r5900
1145 * interp.c (SUB_REG_FETCH): Handle both little and big endian
1146 hosts when selecting subreg.
1147
1148start-sanitize-r5900
1149Tue Jul 8 18:07:20 1997 Andrew Cagney <cagney@andros.cygnus.com>
1150
1151 * gencode.c (type_for_data_len): For 32bit operations concerned
1152 with overflow, perform op using 64bits.
1153 (build_instruction): For PADD, always compute operation using type
1154 returned by type_for_data_len.
1155 (build_instruction): For PSUBU, when overflow, saturate to zero as
1156 actually underflow.
1157
1158end-sanitize-r5900
ae19b07b
JL
1159Wed Jul 2 11:54:10 1997 Jeffrey A Law (law@cygnus.com)
1160
649625bb 1161start-sanitize-r5900
64435234
JL
1162 * gencode.c (build_instruction): Handle "pext5" according to
1163 version 1.95 of the r5900 ISA.
1164
649625bb
JL
1165 * gencode.c (build_instruction): Handle "ppac5" according to
1166 version 1.95 of the r5900 ISA.
649625bb 1167
1e851d2c 1168end-sanitize-r5900
05d1322f
JL
1169 * interp.c (sim_engine_run): Reset the ZERO register to zero
1170 regardless of FEATURE_WARN_ZERO.
ae19b07b
JL
1171 * gencode.c (FEATURE_WARNINGS): Remove FEATURE_WARN_ZERO.
1172
1173Wed Jun 4 10:43:14 1997 Andrew Cagney <cagney@b1.cygnus.com>
1174
1175 * interp.c (decode_coproc): Implement MTC0 N, CAUSE.
1176 (SignalException): For BreakPoints ignore any mode bits and just
1177 save the PC.
1178 (SignalException): Always set the CAUSE register.
1179
56e7c849
AC
1180Tue Jun 3 05:00:33 1997 Andrew Cagney <cagney@b1.cygnus.com>
1181
1182 * interp.c (SignalException): Clear the simDELAYSLOT flag when an
1183 exception has been taken.
1184
1185 * interp.c: Implement the ERET and mt/f sr instructions.
1186
ae19b07b 1187start-sanitize-r5900
56e7c849
AC
1188Mon Jun 2 23:28:19 1997 Andrew Cagney <cagney@b1.cygnus.com>
1189
1190 * gencode.c (build_instruction): For paddu, extract unsigned
1191 sub-fields.
1192
1193 * gencode.c (build_instruction): Saturate padds instead of padd
1194 instructions.
1195
1196end-sanitize-r5900
1197Sat May 31 00:44:16 1997 Andrew Cagney <cagney@b1.cygnus.com>
1198
1199 * interp.c (SignalException): Don't bother restarting an
1200 interrupt.
1201
1202Fri May 30 23:41:48 1997 Andrew Cagney <cagney@b1.cygnus.com>
1203
1204 * interp.c (SignalException): Really take an interrupt.
1205 (interrupt_event): Only deliver interrupts when enabled.
1206
1207Tue May 27 20:08:06 1997 Andrew Cagney <cagney@b1.cygnus.com>
1208
1209 * interp.c (sim_info): Only print info when verbose.
1210 (sim_info) Use sim_io_printf for output.
1211
2f2e6c5d
AC
1212Tue May 27 14:22:23 1997 Andrew Cagney <cagney@b1.cygnus.com>
1213
1214 * interp.c (CoProcPresent): Add UNUSED attribute - not used by all
1215 mips architectures.
1216
1217Tue May 27 14:22:23 1997 Andrew Cagney <cagney@b1.cygnus.com>
1218
1219 * interp.c (sim_do_command): Check for common commands if a
1220 simulator specific command fails.
1221
d3d2a9f7
GRK
1222Thu May 22 09:32:03 1997 Gavin Koch <gavin@cygnus.com>
1223
1224 * interp.c (sim_engine_run): ifdef out uses of simSTOP, simSTEP
1225 and simBE when DEBUG is defined.
1226
50a2a691
AC
1227Wed May 21 09:08:10 1997 Andrew Cagney <cagney@b1.cygnus.com>
1228
1229 * interp.c (interrupt_event): New function. Pass exception event
1230 onto exception handler.
1231
1232 * configure.in: Check for stdlib.h.
1233 * configure: Regenerate.
1234
1235 * gencode.c (build_instruction): Add UNUSED attribute to tempS
1236 variable declaration.
1237 (build_instruction): Initialize memval1.
1238 (build_instruction): Add UNUSED attribute to byte, bigend,
1239 reverse.
1240 (build_operands): Ditto.
1241
1242 * interp.c: Fix GCC warnings.
1243 (sim_get_quit_code): Delete.
1244
1245 * configure.in: Add INLINE, ENDIAN, HOSTENDIAN and WARNINGS.
1246 * Makefile.in: Ditto.
1247 * configure: Re-generate.
1248
1249 * Makefile.in (SIM_OBJS): Add sim-watch.o module.
1250
1251Tue May 20 15:08:56 1997 Andrew Cagney <cagney@b1.cygnus.com>
1252
1253 * interp.c (mips_option_handler): New function parse argumes using
1254 sim-options.
1255 (myname): Replace with STATE_MY_NAME.
1256 (sim_open): Delete check for host endianness - performed by
1257 sim_config.
1258 (simHOSTBE, simBE): Delete, replaced by sim-endian flags.
1259 (sim_open): Move much of the initialization from here.
1260 (sim_load): To here. After the image has been loaded and
1261 endianness set.
1262 (sim_open): Move ColdReset from here.
1263 (sim_create_inferior): To here.
1264 (sim_open): Make FP check less dependant on host endianness.
1265
1266 * Makefile.in (SIM_RUN_OBJS): Set to nrun.o - use new version or
1267 run.
1268 * interp.c (sim_set_callbacks): Delete.
1269
1270 * interp.c (membank, membank_base, membank_size): Replace with
1271 STATE_MEMORY, STATE_MEM_SIZE, STATE_MEM_BASE.
1272 (sim_open): Remove call to callback->init. gdb/run do this.
1273
1274 * interp.c: Update
1275
1276 * sim-main.h (SIM_HAVE_FLATMEM): Define.
1277
1278 * interp.c (big_endian_p): Delete, replaced by
1279 current_target_byte_order.
1280
1281Tue May 20 13:55:00 1997 Andrew Cagney <cagney@b1.cygnus.com>
1282
1283 * interp.c (host_read_long, host_read_word, host_swap_word,
1284 host_swap_long): Delete. Using common sim-endian.
1285 (sim_fetch_register, sim_store_register): Use H2T.
1286 (pipeline_ticks): Delete. Handled by sim-events.
1287 (sim_info): Update.
1288 (sim_engine_run): Update.
1289
1290Tue May 20 13:42:03 1997 Andrew Cagney <cagney@b1.cygnus.com>
1291
1292 * interp.c (sim_stop_reason): Move code determining simEXCEPTION
1293 reason from here.
1294 (SignalException): To here. Signal using sim_engine_halt.
1295 (sim_stop_reason): Delete, moved to common.
1296
1297Tue May 20 10:19:48 1997 Andrew Cagney <cagney@b2.cygnus.com>
1298
1299 * interp.c (sim_open): Add callback argument.
1300 (sim_set_callbacks): Delete SIM_DESC argument.
1301 (sim_size): Ditto.
1302
2e61a3ad
AC
1303Mon May 19 18:20:38 1997 Andrew Cagney <cagney@b1.cygnus.com>
1304
1305 * Makefile.in (SIM_OBJS): Add common modules.
1306
1307 * interp.c (sim_set_callbacks): Also set SD callback.
1308 (set_endianness, xfer_*, swap_*): Delete.
1309 (host_read_word, host_read_long, host_swap_word, host_swap_long):
1310 Change to functions using sim-endian macros.
1311 (control_c, sim_stop): Delete, use common version.
1312 (simulate): Convert into.
1313 (sim_engine_run): This function.
1314 (sim_resume): Delete.
1315
1316 * interp.c (simulation): New variable - the simulator object.
1317 (sim_kind): Delete global - merged into simulation.
1318 (sim_load): Cleanup. Move PC assignment from here.
1319 (sim_create_inferior): To here.
1320
1321 * sim-main.h: New file.
1322 * interp.c (sim-main.h): Include.
1323
1324Thu Apr 24 00:39:51 1997 Doug Evans <dje@canuck.cygnus.com>
1325
1326 * configure: Regenerated to track ../common/aclocal.m4 changes.
1327
3be0e228
DE
1328Wed Apr 23 17:32:19 1997 Doug Evans <dje@canuck.cygnus.com>
1329
1330 * tconfig.in (SIM_HAVE_BIENDIAN): Define.
1331
d654ba0a
GRK
1332Mon Apr 21 17:16:13 1997 Gavin Koch <gavin@cygnus.com>
1333
1334 * gencode.c (build_instruction): DIV instructions: check
1335 for division by zero and integer overflow before using
1336 host's division operation.
1337
9d52bcb7
DE
1338Thu Apr 17 03:18:14 1997 Doug Evans <dje@canuck.cygnus.com>
1339
1340 * Makefile.in (SIM_OBJS): Add sim-load.o.
1341 * interp.c: #include bfd.h.
1342 (target_byte_order): Delete.
1343 (sim_kind, myname, big_endian_p): New static locals.
1344 (sim_open): Set sim_kind, myname. Move call to set_endianness to
1345 after argument parsing. Recognize -E arg, set endianness accordingly.
1346 (sim_load): Return SIM_RC. New arg abfd. Call sim_load_file to
1347 load file into simulator. Set PC from bfd.
1348 (sim_create_inferior): Return SIM_RC. Delete arg start_address.
1349 (set_endianness): Use big_endian_p instead of target_byte_order.
1350
87e43259
AC
1351Wed Apr 16 17:55:37 1997 Andrew Cagney <cagney@b1.cygnus.com>
1352
1353 * interp.c (sim_size): Delete prototype - conflicts with
1354 definition in remote-sim.h. Correct definition.
1355
1356Mon Apr 7 15:45:02 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
1357
1358 * configure: Regenerated to track ../common/aclocal.m4 changes.
1359 * config.in: Ditto.
1360
fbda74b1
DE
1361Wed Apr 2 15:06:28 1997 Doug Evans <dje@canuck.cygnus.com>
1362
8a7c3105
DE
1363 * interp.c (sim_open): New arg `kind'.
1364
fbda74b1
DE
1365 * configure: Regenerated to track ../common/aclocal.m4 changes.
1366
a35e91c3
AC
1367Wed Apr 2 14:34:19 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
1368
1369 * configure: Regenerated to track ../common/aclocal.m4 changes.
1370
1371Tue Mar 25 11:38:22 1997 Doug Evans <dje@canuck.cygnus.com>
1372
1373 * interp.c (sim_open): Set optind to 0 before calling getopt.
1374
1375Wed Mar 19 01:14:00 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
1376
1377 * configure: Regenerated to track ../common/aclocal.m4 changes.
1378
6efa34d8
GRK
1379Mon Mar 17 10:52:59 1997 Gavin Koch <gavin@cetus.cygnus.com>
1380
1381 * interp.c : Replace uses of pr_addr with pr_uword64
1382 where the bit length is always 64 independent of SIM_ADDR.
1383 (pr_uword64) : added.
1384
a77aa7ec
AC
1385Mon Mar 17 15:10:07 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
1386
1387 * configure: Re-generate.
1388
601fb8ae
MM
1389Fri Mar 14 10:34:11 1997 Michael Meissner <meissner@cygnus.com>
1390
1391 * configure: Regenerate to track ../common/aclocal.m4 changes.
1392
53b9417e
DE
1393Thu Mar 13 12:51:36 1997 Doug Evans <dje@canuck.cygnus.com>
1394
1395 * interp.c (sim_open): New SIM_DESC result. Argument is now
1396 in argv form.
1397 (other sim_*): New SIM_DESC argument.
1398
1399start-sanitize-r5900
1400Wed Feb 26 18:32:21 1997 Gavin Koch <gavin@cygnus.com>
1401
1402 * gencode.c (POP_AND,POP_OR,POP_NOR,POP_XOR):
1403 Change values to avoid overloading DOUBLEWORD which is tested
1404 for all insns.
1405 * gencode.c: reinstate "offending code".
53b9417e 1406
56e7c849 1407end-sanitize-r5900
53b9417e
DE
1408Mon Feb 24 22:47:14 1997 Dawn Perchik <dawn@cygnus.com>
1409
1410 * interp.c: Fix printing of addresses for non-64-bit targets.
1411 (pr_addr): Add function to print address based on size.
1412start-sanitize-r5900
1413 * gencode.c: #ifdef out offending code until a permanent fix
1414 can be added. Code is causing build errors for non-5900 mips targets.
1415end-sanitize-r5900
1416
1417start-sanitize-r5900
1418Thu Feb 20 10:40:24 1997 Gavin Koch <gavin@cetus.cygnus.com>
1419
1420 * gencode.c (process_instructions): Correct test for ISA dependent
1421 architecture bits in isa field of MIPS_DECODE.
1422
1423end-sanitize-r5900
7e05106d
MA
1424Wed Feb 19 14:42:09 1997 Mark Alexander <marka@cygnus.com>
1425
1426 * interp.c (simopen): Add support for LSI MiniRISC PMON vectors.
1427
2d18fbc6 1428start-sanitize-r5900
53b9417e 1429Tue Feb 18 17:03:47 1997 Gavin Koch <gavin@cygnus.com>
2d18fbc6
GRK
1430
1431 * gencode.c (MIPS_DECODE): Correct instruction feature flags for
1432 PMADDUW.
1433
1434end-sanitize-r5900
1435Thu Feb 13 14:08:30 1997 Ian Lance Taylor <ian@cygnus.com>
1436
1437 * gencode.c (build_mips16_operands): Correct computation of base
1438 address for extended PC relative instruction.
1439
276c2d7d
GRK
1440start-sanitize-r5900
1441Fri Feb 7 11:12:44 1997 Gavin Koch <gavin@cygnus.com>
2d18fbc6
GRK
1442
1443 * Makefile.in, configure, configure.in, gencode.c,
1444 interp.c, support.h: add r5900.
1445
276c2d7d 1446end-sanitize-r5900
da0bce9c
ILT
1447Thu Feb 6 17:16:15 1997 Ian Lance Taylor <ian@cygnus.com>
1448
1449 * interp.c (mips16_entry): Add support for floating point cases.
1450 (SignalException): Pass floating point cases to mips16_entry.
1451 (ValueFPR): Don't restrict fmt_single and fmt_word to even
1452 registers.
1453 (StoreFPR): Likewise. Also, don't clobber fpr + 1 for fmt_single
1454 or fmt_word.
1455 (COP_LW): Pass fmt_word rather than fmt_uninterpreted to StoreFPR,
1456 and then set the state to fmt_uninterpreted.
1457 (COP_SW): Temporarily set the state to fmt_word while calling
1458 ValueFPR.
1459
6389d856
ILT
1460Tue Feb 4 16:48:25 1997 Ian Lance Taylor <ian@cygnus.com>
1461
1462 * gencode.c (build_instruction): The high order may be set in the
1463 comparison flags at any ISA level, not just ISA 4.
1464
19c5af72
DE
1465Tue Feb 4 13:33:30 1997 Doug Evans <dje@canuck.cygnus.com>
1466
1467 * Makefile.in (@COMMON_MAKEFILE_FRAG): Use
1468 COMMON_{PRE,POST}_CONFIG_FRAG instead.
1469 * configure.in: sinclude ../common/aclocal.m4.
1470 * configure: Regenerated.
1471
736a306c
ILT
1472Fri Jan 31 11:11:45 1997 Ian Lance Taylor <ian@cygnus.com>
1473
1474 * configure: Rebuild after change to aclocal.m4.
1475
295dbbe4
SG
1476Thu Jan 23 11:46:23 1997 Stu Grossman (grossman@critters.cygnus.com)
1477
1478 * configure configure.in Makefile.in: Update to new configure
1479 scheme which is more compatible with WinGDB builds.
1480 * configure.in: Improve comment on how to run autoconf.
1481 * configure: Re-run autoconf to get new ../common/aclocal.m4.
1482 * Makefile.in: Use autoconf substitution to install common
1483 makefile fragment.
1484
1485Wed Jan 8 12:39:03 1997 Jim Wilson <wilson@cygnus.com>
1486
1487 * gencode.c (build_instruction): Use BigEndianCPU instead of
1488 ByteSwapMem.
1489
e1db0d47
MA
1490Thu Jan 02 22:23:04 1997 Mark Alexander <marka@cygnus.com>
1491
1492 * interp.c (sim_monitor): Make output to stdout visible in
1493 wingdb's I/O log window.
1494
2902e8ab
MA
1495Tue Dec 31 07:04:00 1996 Mark Alexander <marka@cygnus.com>
1496
1497 * support.h: Undo previous change to SIGTRAP
1498 and SIGQUIT values.
1499
7e6c297e
ILT
1500Mon Dec 30 17:36:06 1996 Ian Lance Taylor <ian@cygnus.com>
1501
1502 * interp.c (store_word, load_word): New static functions.
1503 (mips16_entry): New static function.
1504 (SignalException): Look for mips16 entry and exit instructions.
1505 (simulate): Use the correct index when setting fpr_state after
1506 doing a pending move.
1507
0049ba7a
MA
1508Sun Dec 29 09:37:18 1996 Mark Alexander <marka@cygnus.com>
1509
1510 * interp.c: Fix byte-swapping code throughout to work on
1511 both little- and big-endian hosts.
1512
2510786b
MA
1513Sun Dec 29 09:18:32 1996 Mark Alexander <marka@cygnus.com>
1514
1515 * support.h: Make definitions of SIGTRAP and SIGQUIT consistent
1516 with gdb/config/i386/xm-windows.h.
1517
39bf0ef4
MA
1518Fri Dec 27 22:48:51 1996 Mark Alexander <marka@cygnus.com>
1519
1520 * gencode.c (build_instruction): Work around MSVC++ code gen bug
1521 that messes up arithmetic shifts.
1522
dbeec768
SG
1523Fri Dec 20 11:04:05 1996 Stu Grossman (grossman@critters.cygnus.com)
1524
1525 * support.h: Use _WIN32 instead of __WIN32__. Also add defs for
1526 SIGTRAP and SIGQUIT for _WIN32.
1527
deffd638
ILT
1528Thu Dec 19 14:07:27 1996 Ian Lance Taylor <ian@cygnus.com>
1529
1530 * gencode.c (build_instruction) [MUL]: Cast operands to word64, to
1531 force a 64 bit multiplication.
1532 (build_instruction) [OR]: In mips16 mode, don't do anything if the
1533 destination register is 0, since that is the default mips16 nop
1534 instruction.
1535
aaff8437
ILT
1536Mon Dec 16 14:59:38 1996 Ian Lance Taylor <ian@cygnus.com>
1537
063443cf
ILT
1538 * gencode.c (MIPS16_DECODE): SWRASP is I8, not RI.
1539 (build_endian_shift): Don't check proc64.
1540 (build_instruction): Always set memval to uword64. Cast op2 to
1541 uword64 when shifting it left in memory instructions. Always use
1542 the same code for stores--don't special case proc64.
1543
aaff8437
ILT
1544 * gencode.c (build_mips16_operands): Fix base PC value for PC
1545 relative operands.
1546 (build_instruction): Call JALDELAYSLOT rather than DELAYSLOT for a
1547 jal instruction.
1548 * interp.c (simJALDELAYSLOT): Define.
1549 (JALDELAYSLOT): Define.
1550 (INDELAYSLOT, INJALDELAYSLOT): Define.
1551 (simulate): Clear simJALDELAYSLOT when simDELAYSLOT is cleared.
1552
280f90e1
AMT
1553Tue Dec 24 22:11:20 1996 Angela Marie Thomas (angela@cygnus.com)
1554
1555 * interp.c (sim_open): add flush_cache as a PMON routine
1556 (sim_monitor): handle flush_cache by ignoring it
1557
aaff8437
ILT
1558Wed Dec 11 13:53:51 1996 Jim Wilson <wilson@cygnus.com>
1559
1560 * gencode.c (build_instruction): Use !ByteSwapMem instead of
1561 BigEndianMem.
1562 * interp.c (CONFIG, config_EP_{mask,shift,D,DxxDxx, config_BE): Delete.
1563 (BigEndianMem): Rename to ByteSwapMem and change sense.
1564 (BigEndianCPU, sim_write, LoadMemory, StoreMemory): Change
1565 BigEndianMem references to !ByteSwapMem.
1566 (set_endianness): New function, with prototype.
1567 (sim_open): Call set_endianness.
1568 (sim_info): Use simBE instead of BigEndianMem.
1569 (xfer_direct_word, xfer_direct_long, swap_direct_word,
1570 swap_direct_long, xfer_big_word, xfer_big_long, xfer_little_word,
1571 xfer_little_long, swap_word, swap_long): Delete unnecessary MSC_VER
1572 ifdefs, keeping the prototype declaration.
1573 (swap_word): Rewrite correctly.
1574 (ColdReset): Delete references to CONFIG. Delete endianness related
1575 code; moved to set_endianness.
1576
6429b296
JW
1577Tue Dec 10 11:32:04 1996 Jim Wilson <wilson@cygnus.com>
1578
1579 * gencode.c (build_instruction, case JUMP): Truncate PC to 32 bits.
1580 * interp.c (CHECKHILO): Define away.
1581 (simSIGINT): New macro.
1582 (membank_size): Increase from 1MB to 2MB.
1583 (control_c): New function.
1584 (sim_resume): Rename parameter signal to signal_number. Add local
1585 variable prev. Call signal before and after simulate.
1586 (sim_stop_reason): Add simSIGINT support.
1587 (sim_warning, sim_error, dotrace, SignalException): Define as stdarg
1588 functions always.
1589 (sim_warning): Delete call to SignalException. Do call printf_filtered
1590 if logfh is NULL.
1591 (AddressTranslation): Add #ifdef DEBUG around debugging message and
1592 a call to sim_warning.
1593
1594Wed Nov 27 11:53:50 1996 Ian Lance Taylor <ian@cygnus.com>
1595
1596 * gencode.c (process_instructions): If ! proc64, skip DOUBLEWORD
1597 16 bit instructions.
1598
831f59a2
ILT
1599Tue Nov 26 11:53:12 1996 Ian Lance Taylor <ian@cygnus.com>
1600
1601 Add support for mips16 (16 bit MIPS implementation):
1602 * gencode.c (inst_type): Add mips16 instruction encoding types.
1603 (GETDATASIZEINSN): Define.
1604 (MIPS_DECODE): Add REG flag to dsllv, dsrav, and dsrlv. Add
1605 jalx. Add LEFT flag to mfhi and mflo. Add RIGHT flag to mthi and
1606 mtlo.
1607 (MIPS16_DECODE): New table, for mips16 instructions.
1608 (bitmap_val): New static function.
1609 (struct mips16_op): Define.
1610 (mips16_op_table): New table, for mips16 operands.
1611 (build_mips16_operands): New static function.
1612 (process_instructions): If PC is odd, decode a mips16
1613 instruction. Break out instruction handling into new
1614 build_instruction function.
1615 (build_instruction): New static function, broken out of
1616 process_instructions. Check modifiers rather than flags for SHIFT
1617 bit count and m[ft]{hi,lo} direction.
1618 (usage): Pass program name to fprintf.
1619 (main): Remove unused variable this_option_optind. Change
1620 ``*loptarg++'' to ``loptarg++''.
1621 (my_strtoul): Parenthesize && within ||.
350d33b8 1622 * interp.c (LoadMemory): Accept a halfword pAddr if vAddr is odd.
831f59a2
ILT
1623 (simulate): If PC is odd, fetch a 16 bit instruction, and
1624 increment PC by 2 rather than 4.
1625 * configure.in: Add case for mips16*-*-*.
1626 * configure: Rebuild.
1627
1628Fri Nov 22 08:49:36 1996 Mark Alexander <marka@cygnus.com>
1629
1630 * interp.c: Allow -t to enable tracing in standalone simulator.
1631 Fix garbage output in trace file and error messages.
1632
e3d12c65
DE
1633Wed Nov 20 01:54:37 1996 Doug Evans <dje@canuck.cygnus.com>
1634
1635 * Makefile.in: Delete stuff moved to ../common/Make-common.in.
1636 (SIM_{OBJS,EXTRA_CFLAGS,EXTRA_CLEAN}): Define.
1637 * configure.in: Simplify using macros in ../common/aclocal.m4.
1638 * configure: Regenerated.
1639 * tconfig.in: New file.
1640
1641Tue Nov 12 13:34:00 1996 Dawn Perchik <dawn@cygnus.com>
1642
1643 * interp.c: Fix bugs in 64-bit port.
1644 Use ansi function declarations for msvc compiler.
1645 Initialize and test file pointer in trace code.
1646 Prevent duplicate definition of LAST_EMED_REGNUM.
1647
1648Tue Oct 15 11:07:06 1996 Mark Alexander <marka@cygnus.com>
1649
1650 * interp.c (xfer_big_long): Prevent unwanted sign extension.
1651
1652Thu Sep 26 17:35:00 1996 James G. Smith <jsmith@cygnus.co.uk>
1653
1654 * interp.c (SignalException): Check for explicit terminating
1655 breakpoint value.
1656 * gencode.c: Pass instruction value through SignalException()
1657 calls for Trap, Breakpoint and Syscall.
1658
1659Thu Sep 26 11:35:17 1996 James G. Smith <jsmith@cygnus.co.uk>
1660
1661 * interp.c (SquareRoot): Add HAVE_SQRT check to ensure sqrt() is
1662 only used on those hosts that provide it.
1663 * configure.in: Add sqrt() to list of functions to be checked for.
1664 * config.in: Re-generated.
1665 * configure: Re-generated.
1666
1667Fri Sep 20 15:47:12 1996 Ian Lance Taylor <ian@cygnus.com>
1668
1669 * gencode.c (process_instructions): Call build_endian_shift when
1670 expanding STORE RIGHT, to fix swr.
1671 * support.h (SIGNEXTEND): If the sign bit is not set, explicitly
1672 clear the high bits.
1673 * interp.c (Convert): Fix fmt_single to fmt_long to not truncate.
1674 Fix float to int conversions to produce signed values.
1675
cc5201d7
ILT
1676Thu Sep 19 15:34:17 1996 Ian Lance Taylor <ian@cygnus.com>
1677
458e1f58
ILT
1678 * gencode.c (MIPS_DECODE): Set UNSIGNED for multu instruction.
1679 (process_instructions): Correct handling of nor instruction.
1680 Correct shift count for 32 bit shift instructions. Correct sign
1681 extension for arithmetic shifts to not shift the number of bits in
1682 the type. Fix 64 bit multiply high word calculation. Fix 32 bit
1683 unsigned multiply. Fix ldxc1 and friends to use coprocessor 1.
1684 Fix madd.
c05d1721
ILT
1685 * interp.c (CHECKHILO): Don't set HIACCESS, LOACCESS, or HLPC.
1686 It's OK to have a mult follow a mult. What's not OK is to have a
1687 mult follow an mfhi.
458e1f58 1688 (Convert): Comment out incorrect rounding code.
cc5201d7 1689
f24b7b69
JSC
1690Mon Sep 16 11:38:16 1996 James G. Smith <jsmith@cygnus.co.uk>
1691
1692 * interp.c (sim_monitor): Improved monitor printf
1693 simulation. Tidied up simulator warnings, and added "--log" option
1694 for directing warning message output.
1695 * gencode.c: Use sim_warning() rather than WARNING macro.
1696
1697Thu Aug 22 15:03:12 1996 Ian Lance Taylor <ian@cygnus.com>
1698
1699 * Makefile.in (gencode): Depend upon gencode.o, getopt.o, and
1700 getopt1.o, rather than on gencode.c. Link objects together.
1701 Don't link against -liberty.
1702 (gencode.o, getopt.o, getopt1.o): New targets.
1703 * gencode.c: Include <ctype.h> and "ansidecl.h".
1704 (AND): Undefine after including "ansidecl.h".
1705 (ULONG_MAX): Define if not defined.
1706 (OP_*): Don't define macros; now defined in opcode/mips.h.
1707 (main): Call my_strtoul rather than strtoul.
1708 (my_strtoul): New static function.
1709
1710Wed Jul 17 18:12:38 1996 Stu Grossman (grossman@critters.cygnus.com)
1711
1712 * gencode.c (process_instructions): Generate word64 and uword64
1713 instead of `long long' and `unsigned long long' data types.
1714 * interp.c: #include sysdep.h to get signals, and define default
1715 for SIGBUS.
1716 * (Convert): Work around for Visual-C++ compiler bug with type
1717 conversion.
1718 * support.h: Make things compile under Visual-C++ by using
1719 __int64 instead of `long long'. Change many refs to long long
1720 into word64/uword64 typedefs.
1721
a271d1d9
JM
1722Wed Jun 26 12:24:55 1996 Jason Molenda (crash@godzilla.cygnus.co.jp)
1723
1724 * Makefile.in (bindir, libdir, datadir, mandir, infodir, includedir,
1725 INSTALL_PROGRAM, INSTALL_DATA): Use autoconf-set values.
1726 (docdir): Removed.
1727 * configure.in (AC_PREREQ): autoconf 2.5 or higher.
1728 (AC_PROG_INSTALL): Added.
1729 (AC_PROG_CC): Moved to before configure.host call.
1730 * configure: Rebuilt.
1731
1732Wed Jun 5 08:28:13 1996 James G. Smith <jsmith@cygnus.co.uk>
1733
1734 * configure.in: Define @SIMCONF@ depending on mips target.
1735 * configure: Rebuild.
1736 * Makefile.in (run): Add @SIMCONF@ to control simulator
1737 construction.
1738 * gencode.c: Change LOADDRMASK to 64bit memory model only.
1739 * interp.c: Remove some debugging, provide more detailed error
1740 messages, update memory accesses to use LOADDRMASK.
1741
4fa134be
ILT
1742Mon Jun 3 11:55:03 1996 Ian Lance Taylor <ian@cygnus.com>
1743
1744 * configure.in: Add calls to AC_CONFIG_HEADER, AC_CHECK_HEADERS,
1745 AC_CHECK_LIB, and AC_CHECK_FUNCS. Change AC_OUTPUT to set
1746 stamp-h.
1747 * configure: Rebuild.
1748 * config.in: New file, generated by autoheader.
1749 * interp.c: Include "config.h". Include <stdlib.h>, <string.h>,
1750 and <strings.h> if they exist. Replace #ifdef sun with #ifdef
1751 HAVE_ANINT and HAVE_AINT, as appropriate.
1752 * Makefile.in (run): Use @LIBS@ rather than -lm.
1753 (interp.o): Depend upon config.h.
1754 (Makefile): Just rebuild Makefile.
1755 (clean): Remove stamp-h.
1756 (mostlyclean): Make the same as clean, not as distclean.
1757 (config.h, stamp-h): New targets.
1758
1759Fri May 10 00:41:17 1996 James G. Smith <jsmith@cygnus.co.uk>
1760
1761 * interp.c (ColdReset): Fix boolean test. Make all simulator
1762 globals static.
1763
f7481d45
JSC
1764Wed May 8 15:12:58 1996 James G. Smith <jsmith@cygnus.co.uk>
1765
1766 * interp.c (xfer_direct_word, xfer_direct_long,
1767 swap_direct_word, swap_direct_long, xfer_big_word,
1768 xfer_big_long, xfer_little_word, xfer_little_long,
1769 swap_word,swap_long): Added.
1770 * interp.c (ColdReset): Provide function indirection to
1771 host<->simulated_target transfer routines.
1772 * interp.c (sim_store_register, sim_fetch_register): Updated to
1773 make use of indirected transfer routines.
1774
1775Fri Apr 19 15:48:24 1996 James G. Smith <jsmith@cygnus.co.uk>
1776
1777 * gencode.c (process_instructions): Ensure FP ABS instruction
1778 recognised.
1779 * interp.c (AbsoluteValue): Add routine. Also provide simple PMON
1780 system call support.
1781
8b554809
JSC
1782Wed Apr 10 09:51:38 1996 James G. Smith <jsmith@cygnus.co.uk>
1783
1784 * interp.c (sim_do_command): Complain if callback structure not
1785 initialised.
1786
d0757082
JSC
1787Thu Mar 28 13:50:51 1996 James G. Smith <jsmith@cygnus.co.uk>
1788
1789 * interp.c (Convert): Provide round-to-nearest and round-to-zero
1790 support for Sun hosts.
1791 * Makefile.in (gencode): Ensure the host compiler and libraries
1792 used for cross-hosted build.
1793
e871dd18
JSC
1794Wed Mar 27 14:42:12 1996 James G. Smith <jsmith@cygnus.co.uk>
1795
1796 * interp.c, gencode.c: Some more (TODO) tidying.
1797
1798Thu Mar 7 11:19:33 1996 James G. Smith <jsmith@cygnus.co.uk>
1799
1800 * gencode.c, interp.c: Replaced explicit long long references with
1801 WORD64HI, WORD64LO, SET64HI and SET64LO macro calls.
1802 * support.h (SET64LO, SET64HI): Macros added.
1803
5c59ec43
ILT
1804Wed Feb 21 12:16:21 1996 Ian Lance Taylor <ian@cygnus.com>
1805
1806 * configure: Regenerate with autoconf 2.7.
1807
1808Tue Jan 30 08:48:18 1996 Fred Fish <fnf@cygnus.com>
1809
1810 * interp.c (LoadMemory): Enclose text following #endif in /* */.
1811 * support.h: Remove superfluous "1" from #if.
1812 * support.h (CHECKSIM): Remove stray 'a' at end of line.
1813
1814Mon Dec 4 11:44:40 1995 Jamie Smith <jsmith@cygnus.com>
1815
1816 * interp.c (StoreFPR): Control UndefinedResult() call on
1817 WARN_RESULT manifest.
1818
8bae0a0c
JSC
1819Fri Dec 1 16:37:19 1995 James G. Smith <jsmith@cygnus.co.uk>
1820
1821 * gencode.c: Tidied instruction decoding, and added FP instruction
1822 support.
1823
1824 * interp.c: Added dineroIII, and BSD profiling support. Also
1825 run-time FP handling.
1826
1827Sun Oct 22 00:57:18 1995 James G. Smith <jsmith@pasanda.cygnus.co.uk>
1828
1829 * Changelog, Makefile.in, README.Cygnus, configure, configure.in,
1830 gencode.c, interp.c, support.h: created.
This page took 0.16533 seconds and 4 git commands to generate.