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