* Build fixes for tx39 sim hosted on strange Linux boxen.
[deliverable/binutils-gdb.git] / sim / mips / ChangeLog
CommitLineData
78b871ec
FCE
1start-sanitize-tx3904
2Tue Sep 1 15:39:18 1998 Frank Ch. Eigler <fche@cygnus.com>
3
4 * dv-tx3904sio.c: Include sim-assert.h.
5
6Tue Aug 25 12:49:46 1998 Frank Ch. Eigler <fche@cygnus.com>
7
8 * dv-tx3904sio.c: New file: tx3904 serial I/O module.
9 * configure.in: Add dv-tx3904sio, dv-sockser for tx39 target.
10 Reorganize target-specific sim-hardware checks.
11 * configure: rebuilt.
12 * interp.c (sim_open): For tx39 target boards, set
13 OPERATING_ENVIRONMENT, add tx3904sio devices.
14 * tconfig.in: For tx39 target, set SIM_HANDLES_LMA for loading
15 ROM executables. Install dv-sockser into sim-modules list.
16
17 * dv-tx3904irc.c: Compiler warning clean-up.
18 * dv-tx3904tmr.c: Compiler warning clean-up. Remove particularly
19 frequent hw-trace messages.
20
21end-sanitize-tx3904
22Fri Jul 31 18:14:16 1998 Andrew Cagney <cagney@b1.cygnus.com>
23
24 * vr.igen (MulAcc): Identify as a vr4100 specific function.
25
e1b20d30
AC
26Sat Jul 25 16:03:14 1998 Andrew Cagney <cagney@b1.cygnus.com>
27
78b871ec
FCE
28 * Makefile.in (IGEN_INCLUDE): Add vr.igen.
29
e1b20d30
AC
30 * vr.igen: New file.
31 (MAC/MADD16, DMAC/DMADD16): Implement using code from gencode.c.
32 * mips.igen: Define vr4100 model. Include vr.igen.
78b871ec
FCE
33start-sanitize-cygnus
34 * vr5400.igen: Move instructions to vr.igen
35 * Makefile.in (IGEN_INCLUDE): Remove vr5400.igen.
36end-sanitize-cygnus
37start-sanitize-vr4320
38 * vr4320.igen: Move instructions to vr.igen.
39 * Makefile.in (IGEN_INCLUDE): Remove vr5320.igen.
40end-sanitize-vr4320
e1b20d30
AC
41
42start-sanitize-r5900
43Tue Jul 14 16:10:45 1998 Andrew Cagney <cagney@b1.cygnus.com>
44
45 * r5900.igen (r59fp_overflow): Replace argument ANS with argument
46 SIGN_P.
47 (r59fp_zero): Ditto.
48 (r59fp_store): Update calls.
49 (DIV.S): Compute 0/0 sign from inputs. Ditto for X/0.
50
51end-sanitize-r5900
52start-sanitize-branchbug4011
53Mon Jun 29 09:31:27 1998 Gavin Koch <gavin@cygnus.com>
54
55 * interp.c (OPTION_BRANCH_BUG_4011): Add.
56 (mips_option_handler): Handle OPTION_BRANCH_BUG_4011.
57 (mips_options): Define the option.
58 * mips.igen (check_4011_branch_bug): New.
59 (mark_4011_branch_bug): New.
60 (all branch insn): Call mark_branch_bug, and check_branch_bug.
61 * sim-main.h (branchbug4011_option, branchbug4011_last_target,
62 branchbug4011_last_cia, BRANCHBUG4011_OPTION,
63 BRANCHBUG4011_LAST_TARGET, BRANCHBUG4011_LAST_CIA,
64 check_branch_bug, mark_branch_bug): Define.
65
66end-sanitize-branchbug4011
aaa2c908
GRK
67Mon Jun 29 09:21:07 1998 Gavin Koch <gavin@cygnus.com>
68
69 * mips.igen (check_mf_hilo): Correct check.
70
71start-sanitize-r5900
72Fri Jun 19 14:44:46 1998 Andrew Cagney <cagney@b1.cygnus.com>
73
74 * sim-main.h (NR_COP0_GPR, COP0_GPR, cop0_gpr, NR_COP0_BP,
75 COP0_BP, cop0_bp, NR_COP0_P, COP0_P, cop0_p): Add 32 COP0 general
76 purpose registers, add 8 COP0 break-point registers, add 64 COP0
77 performance registers.
78
79 * interp.c (decode_coproc): Accept any MTC0/MFC0, MTBP/MFBP, MTP*
80 MFP* instructions. Just transfer value to/from corresponding
81 register.
82
83 * r5900.igen (BC0F, BC0FL, BC0T, BC0TL): Implement, assume COP0
84 status is always true.
85 (CACHE, TLBP, TPGWI, TLBWR): Treat as NOP.
86 (EI, DI): Set/clear Status-EIE bit.
87
88end-sanitize-r5900
89start-sanitize-sky
90Fri Jun 19 14:44:46 1998 Andrew Cagney <cagney@b1.cygnus.com>
91
92 * mips.igen (BC0F, BC0FL, BC0T, BC0TL): Move to sky code to
93 r5900.igen.
94
95end-sanitize-sky
96Wed Jun 17 12:20:49 1998 Andrew Cagney <cagney@b1.cygnus.com>
97
98start-sanitize-sky
99 * sky-vu.c (vu0_read_cop2_register, vu0_write_cop2_register): Call
100 ASSERT not assert.
101 * sky-gdb.c: Include "sim-assert.h".
102
103end-sanitize-sky
104 * sim-main.h (interrupt_event): Add prototype.
105
106start-sanitize-tx3904
107 * dv-tx3904tmr.c (tx3904tmr_io_write_buffer): Delete unused
108 register_ptr, register_value.
109 (deliver_tx3904tmr_tick): Fix types passed to printf fmt.
110
111end-sanitize-tx3904
112 * sim-main.h (tracefh): Make extern.
113
702968c5
FCE
114start-sanitize-tx3904
115Tue Jun 16 14:39:00 1998 Frank Ch. Eigler <fche@cygnus.com>
116
117 * dv-tx3904tmr.c: Deschedule timer event after dispatching.
118 Reduce unnecessarily high timer event frequency.
119 * dv-tx3904cpu.c: Ditto for interrupt event.
120
121end-sanitize-tx3904
122start-sanitize-sky
123Tue Jun 16 14:12:09 1998 Frank Ch. Eigler <fche@cygnus.com>
124
125 * interp.c (decode_coproc): Removed COP2 branches.
126 * r5900.igen: Moved COP2 branch instructions here.
127 * mips.igen: Restricted COPz == COP2 bit pattern to
128 exclude COP2 branches.
129
130end-sanitize-sky
b8790963
FCE
131Wed Jun 10 13:22:32 1998 Frank Ch. Eigler <fche@cygnus.com>
132
133 * interp.c (decode_coproc): For TX39, add stub COP0 register #7,
134 to allay warnings.
135 (interrupt_event): Made non-static.
136start-sanitize-tx3904
137
138 * dv-tx3904tmr.c (deliver_tx3904tmr_tick): Correct accidental
139 interchange of configuration values for external vs. internal
140 clock dividers.
141end-sanitize-tx3904
b8790963 142
0001bce1
IC
143Tue Jun 9 12:46:24 1998 Ian Carmichael <iancarm@cygnus.com>
144
145 * mips.igen (BREAK): Moved code to here for
146 simulator-reserved break instructions.
147 * gencode.c (build_instruction): Ditto.
148 * interp.c (signal_exception): Code moved from here. Non-
149 reserved instructions now use exception vector, rather
150 than halting sim.
151 * sim-main.h: Moved magic constants to here.
152
cc9bc932
FCE
153start-sanitize-tx3904
154Tue Jun 9 12:29:50 1998 Frank Ch. Eigler <fche@cygnus.com>
155
156 * dv-tx3904cpu.c (deliver_*_interrupt,*_port_event): Set the CAUSE
157 register upon non-zero interrupt event level, clear upon zero
158 event value.
159 * dv-tx3904irc.c (*_port_event): Handle deactivated interrupt signal
160 by passing zero event value.
161 (*_io_{read,write}_buffer): Endianness fixes.
162 * dv-tx3904tmr.c (*_io_{read,write}_buffer): Endianness fixes.
163 (deliver_*_tick): Reduce sim event interval to 75% of count interval.
164
165 * interp.c (sim_open): Added jmr3904pal board type that adds PAL-based
166 serial I/O and timer module at base address 0xFFFF0000.
167
168end-sanitize-tx3904
2b5d87df
GRK
169Tue Jun 9 11:52:29 1998 Gavin Koch <gavin@cygnus.com>
170
171 * mips.igen (SWC1) : Correct the handling of ReverseEndian
172 and BigEndianCPU.
173
55ad270f
GRK
174Tue Jun 9 11:40:57 1998 Gavin Koch <gavin@cygnus.com>
175
176 * configure.in (mips_fpu_bitsize) : Set this correctly for 32-bit mips
177 parts.
178 * configure: Update.
179
da040f2a
FCE
180start-sanitize-tx3904
181Thu Jun 4 15:37:33 1998 Frank Ch. Eigler <fche@cygnus.com>
182
183 * dv-tx3904tmr.c: New file - implements tx3904 timer.
184 * dv-tx3904{irc,cpu}.c: Mild reformatting.
185 * configure.in: Include tx3904tmr in hw_device list.
186 * configure: Rebuilt.
187 * interp.c (sim_open): Instantiate three timer instances.
188 Fix address typo of tx3904irc instance.
189
190end-sanitize-tx3904
0e797366
AC
191start-sanitize-r5900
192Thu Jun 4 16:47:27 1998 Andrew Cagney <cagney@b1.cygnus.com>
193
194 * mips.igen (check_mt_hilo): 2.1 of r5900 spec stalls for HILO.
195 Select corresponding check_mt_hilo function.
196 (check_mult_hilo, check_div_hilo, check_mf_hilo, check_mt_hilo):
197 Ditto.
198
199 * r5900.igen (check_mult_hilo_hi1lo1, check_div_hilo_hi1lo1): Mark
200 as r5900 specific.
201
202end-sanitize-r5900
8e3a0b59
IC
203Tue Jun 2 15:48:02 1998 Ian Carmichael <iancarm@cygnus.com>
204
205 * interp.c (signal_exception): SystemCall exception now uses
206 the exception vector.
207
29b5afe9
FCE
208Mon Jun 1 18:18:26 1998 Frank Ch. Eigler <fche@cygnus.com>
209
210 * interp.c (decode_coproc): For TX39, add stub COP0 register #3,
211 to allay warnings.
212
fb0ea2b9
JL
213start-sanitize-r5900
214Mon Jun 1 10:28:25 1998 Jeffrey A Law (law@cygnus.com)
215
216 * r5900.igen (rsqrt.s): Update based on r5900 ISA manual version 2.1.
217 (sqrt.s): Likewise.
218
219end-sanitize-r5900
df26156d
AC
220Fri May 29 11:40:39 1998 Andrew Cagney <cagney@b1.cygnus.com>
221
222 * configure.in (sim_igen_filter): Match mips*tx39 not mipst*tx39.
223
224start-sanitize-tx3904
225Mon May 25 20:47:45 1998 Andrew Cagney <cagney@b1.cygnus.com>
226
227 * dv-tx3904cpu.c, dv-tx3904irc.c: Rename *_callback to *_method.
228
229 * dv-tx3904cpu.c, dv-tx3904irc.c: Include hw-main.h and
230 sim-main.h. Declare a struct hw_descriptor instead of struct
231 hw_device_descriptor.
232
233end-sanitize-tx3904
ce823781
AC
234Mon May 25 12:41:38 1998 Andrew Cagney <cagney@b1.cygnus.com>
235
236 * mips.igen (do_store_left, do_load_left): Compute nr of left and
237 right bits and then re-align left hand bytes to correct byte
238 lanes. Fix incorrect computation in do_store_left when loading
239 bytes from second word.
240
f872d0d6
AC
241start-sanitize-tx3904
242Fri May 22 13:34:20 1998 Andrew Cagney <cagney@b1.cygnus.com>
243
244 * configure.in (SIM_AC_OPTION_HARDWARE): Only enable when tx3904.
245 * interp.c (sim_open): Only create a device tree when HW is
246 enabled.
247
248 * dv-tx3904irc.c (tx3904irc_finish): Pacify GCC.
249 * interp.c (signal_exception): Ditto.
250
251end-sanitize-tx3904
5e34097b
GRK
252Thu May 21 14:24:11 1998 Gavin Koch <gavin@cygnus.com>
253
254 * gencode.c: Mark BEGEZALL as LIKELY.
255
26feb3a8
AC
256Thu May 21 18:57:19 1998 Andrew Cagney <cagney@b1.cygnus.com>
257
258 * sim-main.h (ALU32_END): Sign extend 32 bit results.
259 * mips.igen (ADD, SUB, ADDI, DADD, DSUB): Trace.
260
84048259
AC
261start-sanitize-r5900
262Thu May 21 17:15:39 1998 Andrew Cagney <cagney@b1.cygnus.com>
263
264 * interp.c (sim_fetch_register): Convert internal r5900 regs to
265 target byte order
266
267end-sanitize-r5900
3fa454e9
FCE
268Mon May 18 18:22:42 1998 Frank Ch. Eigler <fche@cygnus.com>
269
270 * configure.in (SIM_AC_OPTION_HARDWARE): Added common hardware
271 modules. Recognize TX39 target with "mips*tx39" pattern.
272 * configure: Rebuilt.
273 * sim-main.h (*): Added many macros defining bits in
274 TX39 control registers.
275 (SignalInterrupt): Send actual PC instead of NULL.
276 (SignalNMIReset): New exception type.
277 * interp.c (board): New variable for future use to identify
278 a particular board being simulated.
279 (mips_option_handler,mips_options): Added "--board" option.
280 (interrupt_event): Send actual PC.
281 (sim_open): Make memory layout conditional on board setting.
282 (signal_exception): Initial implementation of hardware interrupt
283 handling. Accept another break instruction variant for simulator
284 exit.
285 (decode_coproc): Implement RFE instruction for TX39.
286 (mips.igen): Decode RFE instruction as such.
287start-sanitize-tx3904
288 * configure.in (tx3904cpu,tx3904irc): Added devices for tx3904.
289 * interp.c: Define "jmr3904" and "jmr3904debug" board types and
290 bbegin to implement memory map.
291 * dv-tx3904cpu.c: New file.
292 * dv-tx3904irc.c: New file.
293end-sanitize-tx3904
294
295Wed May 13 14:40:11 1998 Gavin Koch <gavin@cygnus.com>
296
297 * mips.igen (check_mt_hilo): Create a separate r3900 version.
298
32d41f6d 299start-sanitize-r5900
7d2c0e8c
GRK
300Wed May 13 14:27:53 1998 Gavin Koch <gavin@cygnus.com>
301
302 * r5900.igen: Replace the calls and the definition of the
303 function check_op_hilo_hi1lo1 with the pair
304 check_mult_hilo_hi1lo1 and check_mult_hilo_hi1lo1.
305
32d41f6d 306end-sanitize-r5900
afc5e7f2
GRK
307Wed May 13 14:11:46 1998 Gavin Koch <gavin@cygnus.com>
308
309 * tx.igen (madd,maddu): Replace calls to check_op_hilo
310 with calls to check_div_hilo.
311
94dda41a
GRK
312Wed May 13 09:59:27 1998 Gavin Koch <gavin@cygnus.com>
313
314 * mips/mips.igen (check_op_hilo,check_mult_hilo,check_div_hilo):
315 Replace check_op_hilo with check_mult_hilo and check_div_hilo.
316 Add special r3900 version of do_mult_hilo.
317 (do_dmultx,do_mult,do_multu): Replace calls to check_op_hilo
318 with calls to check_mult_hilo.
319 (do_ddiv,do_ddivu,do_div,do_divu): Replace calls to check_op_hilo
320 with calls to check_div_hilo.
321
1a89994e
AC
322Tue May 12 15:22:11 1998 Andrew Cagney <cagney@b1.cygnus.com>
323
324 * configure.in (SUBTARGET_R3900): Define for mipstx39 target.
325 Document a replacement.
326
327Fri May 8 17:48:19 1998 Ian Carmichael <iancarm@cygnus.com>
328
329 * interp.c (sim_monitor): Make mon_printf work.
330
eb00d706
DE
331Wed May 6 19:42:19 1998 Doug Evans <devans@canuck.cygnus.com>
332
333 * sim-main.h (INSN_NAME): New arg `cpu'.
334
335start-sanitize-sky
336Thu Apr 30 18:51:26 1998 Andrew Cagney <cagney@b1.cygnus.com>
337
338 * sky-libvpe.c (FMAdd, FMSub): Replace r59fp_op3 call with
339 r59fp_mula.
340
341end-sanitize-sky
342start-sanitize-r5900
343Wed Apr 29 22:54:45 1998 Andrew Cagney <cagney@b1.cygnus.com>
344
345 * sim-main.h (R5900_FP_MAX, R5900_FP_MIN): Define.
346 * r5900.igen (r59fp_overflow): Use.
347
348 * r5900.igen (r59fp_op3): Rename to
349 (r59fp_mula): This, delete opm argument.
350 (MADD.S, MADDA.S, MSUB.S, MSUBS.S): Update.
351 (r59fp_mula): Overflowing product propogates through to result.
352 (r59fp_mula): ACC to the MAX propogates to result.
353 (r59fp_mula): Underflow during multiply only sets SU.
354
355end-sanitize-r5900
9d45df1b
GN
356Tue Apr 28 18:33:31 1998 Geoffrey Noer <noer@cygnus.com>
357
358 * configure: Regenerated to track ../common/aclocal.m4 changes.
359
5da9ce07
TT
360Sun Apr 26 15:31:55 1998 Tom Tromey <tromey@creche>
361
362 * configure: Regenerated to track ../common/aclocal.m4 changes.
363 * config.in: Ditto.
364
365Sun Apr 26 15:20:01 1998 Tom Tromey <tromey@cygnus.com>
366
367 * acconfig.h: New file.
368 * configure.in: Reverted change of Apr 24; use sinclude again.
369
b1df34b9
TT
370Fri Apr 24 14:16:40 1998 Tom Tromey <tromey@creche>
371
372 * configure: Regenerated to track ../common/aclocal.m4 changes.
373 * config.in: Ditto.
374
375Fri Apr 24 11:19:20 1998 Tom Tromey <tromey@cygnus.com>
376
377 * configure.in: Don't call sinclude.
378
ca61710b
AC
379Fri Apr 24 11:35:01 1998 Andrew Cagney <cagney@chook.cygnus.com>
380
381 * mips.igen (do_store_left): Pass 0 not NULL to store_memory.
382
97f4d183
AC
383Tue Apr 21 11:59:50 1998 Andrew Cagney <cagney@b1.cygnus.com>
384
385 * mips.igen (ERET): Implement.
386
387 * interp.c (decode_coproc): Return sign-extended EPC.
388
389 * mips.igen (ANDI, LUI, MFC0): Add tracing code.
390
391 * interp.c (signal_exception): Do not ignore Trap.
392 (signal_exception): On TRAP, restart at exception address.
393 (HALT_INSTRUCTION, HALT_INSTRUCTION_MASK): Define.
394 (signal_exception): Update.
515125b7
AC
395 (sim_open): Patch V_COMMON interrupt vector with an abort sequence
396 so that TRAP instructions are caught.
97f4d183 397
421cbaae
AC
398Mon Apr 20 11:26:55 1998 Andrew Cagney <cagney@b1.cygnus.com>
399
400 * sim-main.h (struct hilo_access, struct hilo_history): Define,
401 contains HI/LO access history.
402 (struct _sim_cpu): Make hiaccess and loaccess of type hilo_access.
403 (HIACCESS, LOACCESS): Delete, replace with
404 (HIHISTORY, LOHISTORY): New macros.
405 (start-sanitize-r5900):
406 (struct sim_5900_cpu): Make hi1access, lo1access of type
407 hilo_access.
408 (HI1ACCESS, LO1ACCESS): Delete, replace with
409 (HI1HISTORY, LO1HISTORY): New macros.
410 (end-sanitize-r5900):
411 (CHECKHILO): Delete all, moved to mips.igen
412
413 * gencode.c (build_instruction): Do not generate checks for
414 correct HI/LO register usage.
415
416 * interp.c (old_engine_run): Delete checks for correct HI/LO
417 register usage.
418
419 * mips.igen (check_mt_hilo, check_mf_hilo, check_op_hilo,
420 check_mf_cycles): New functions.
421 (do_mfhi, do_mflo, "mthi", "mtlo", do_ddiv, do_ddivu, do_div,
422 do_divu, domultx, do_mult, do_multu): Use.
423
424 * tx.igen ("madd", "maddu"): Use.
425 (start-sanitize-r5900):
426
427 r5900.igen: Update all HI/LO checks.
428 ("mfhi1", "mflo1", "mthi1", "mthi1", "pmfhi", "pmflo", "pmfhl",
429 "pmthi", "pmtlo", "mpthl"): Check MF/MT HI/LO.
430 ("mult1", "div1", "divu1", "multu1", "madd1", "maddu1", "pdivbw",
431 "pdivuw", "pdivw", "phmaddh", "phmsubh", "pmaddh", "madduw",
432 "pmaddw", "pmsubh", "pmsubw", "pmulth", "pmultuw", "pmultw"):
433 Check HI/LO op.
434 (end-sanitize-r5900):
435
436start-sanitize-sky
437Mon Apr 20 18:39:47 1998 Frank Ch. Eigler <fche@cygnus.com>
438
439 * interp.c (decode_coproc): Correct CMFC2/QMTC2
440 GPR access.
441
442 * r5900.igen (LQ,SQ): Use a pair of 64-bit accesses
443 instead of a single 128-bit access.
444
445end-sanitize-sky
fc4e5b84 446start-sanitize-sky
f8998e77
FCE
447Fri Apr 17 14:50:39 1998 Frank Ch. Eigler <fche@cygnus.com>
448
449 * r5900.igen (COP_[LS]Q): Transfer COP2 quadwords.
450 * interp.c (cop_[ls]q): Fixes corresponding to above.
451
452end-sanitize-sky
453start-sanitize-sky
fc4e5b84
FCE
454Thu Apr 16 15:24:14 1998 Frank Ch. Eigler <fche@cygnus.com>
455
456 * interp.c (decode_coproc): Adapt COP2 micro interlock to
457 clarified specs. Reset "M" bit; exit also on "E" bit.
458
459end-sanitize-sky
7d93d538
AC
460start-sanitize-r5900
461Thu Apr 16 10:40:29 1998 Andrew Cagney <cagney@b1.cygnus.com>
462
463 * r5900.igen (CFC1, CTC1): Implement R5900 specific version.
464 * mips.igen (CFC1, CTC1): R5900 des not use generic version.
465
466 * r5900.igen (r59fp_unpack): New function.
467 (r59fp_op1, r59fp_op2, r59fp_op3, C.cond.S, CVT.S.W, DIV.S,
468 RSQRT.S, SQRT.S): Use.
469 (r59fp_zero): New function.
470 (r59fp_overflow): Generate r5900 specific overflow value.
471 (r59fp_store): Re-write, overflow to MAX_R5900_FP value, underflow
472 to zero.
473 (CVT.S.W, CVT.W.S): Exchange implementations.
474
475 * sim-main.h (R5900_EXPMAX, R5900_EXPMIN, R5900_EXPBIAS): Defile.
476
477end-sanitize-r5900
c58fa2cc
AC
478start-sanitize-tx19
479Thu Apr 16 09:14:44 1998 Andrew Cagney <cagney@b1.cygnus.com>
480
481 * configure.in (tx19, sim_use_gen): Switch to igen.
482 * configure: Re-build.
483
484end-sanitize-tx19
485start-sanitize-sky
46399a00
FCE
486Wed Apr 15 12:41:18 1998 Frank Ch. Eigler <fche@cygnus.com>
487
488 * interp.c (decode_coproc): Make COP2 branch code compile after
489 igen signature changes.
490
491end-sanitize-sky
74025eee
AC
492Wed Apr 15 18:31:54 1998 Andrew Cagney <cagney@b1.cygnus.com>
493
494 * mips.igen (DSRAV): Use function do_dsrav.
495 (SRAV): Use new function do_srav.
496
497 * m16.igen (BEQZ, BNEZ): Compare GPR[TRX] not GPR[RX].
498 (B): Sign extend 11 bit immediate.
499 (EXT-B*): Shift 16 bit immediate left by 1.
500 (ADDIU*): Don't sign extend immediate value.
501
f3bdd368
AC
502Wed Apr 15 10:32:15 1998 Andrew Cagney <cagney@b1.cygnus.com>
503
504 * m16run.c (sim_engine_run): Restore CIA after handling an event.
505
506start-sanitize-tx19
507 * mips.igen (mtc0): Valid tx19 instruction.
508
509end-sanitize-tx19
510 * sim-main.h (DELAY_SLOT, NULLIFY_NEXT_INSTRUCTION): For IGEN, use
511 functions.
512
513 * mips.igen (delayslot32, nullify_next_insn): New functions.
514 (m16.igen): Always include.
515 (do_*): Add more tracing.
516
517 * m16.igen (delayslot16): Add NIA argument, could be called by a
518 32 bit MIPS16 instruction.
519
520 * interp.c (ifetch16): Move function from here.
521 * sim-main.c (ifetch16): To here.
522
523 * sim-main.c (ifetch16, ifetch32): Update to match current
524 implementations of LH, LW.
525 (signal_exception): Don't print out incorrect hex value of illegal
526 instruction.
527
c0a4c3ba
AC
528Wed Apr 15 00:17:25 1998 Andrew Cagney <cagney@b1.cygnus.com>
529
530 * m16run.c (sim_engine_run): Use IMEM16 and IMEM32 to fetch an
531 instruction.
532
533 * m16.igen: Implement MIPS16 instructions.
534
535 * mips.igen (do_addiu, do_addu, do_and, do_daddiu, do_daddu,
536 do_ddiv, do_ddivu, do_div, do_divu, do_dmultx, do_dmultu, do_srav,
537 do_dsubu, do_mfhi, do_mflo, do_mult, do_multu, do_nor, do_or,
538 do_sll, do_sllv, do_slt, do_slti, do_sltiu, do_sltu, do_sra,
539 do_srl, do_srlv, do_subu, do_xor, do_xori): New functions. Move
540 bodies of corresponding code from 32 bit insn to these. Also used
541 by MIPS16 versions of functions.
542
543 * sim-main.h (RAIDX, T8IDX, T8, SPIDX): Define.
544 (IMEM16): Drop NR argument from macro.
545
96a4eb30 546start-sanitize-sky
c0a4c3ba 547Mon Apr 13 16:28:52 1998 Frank Ch. Eigler <fche@cygnus.com>
96a4eb30
FCE
548
549 * interp.c (decode_coproc): Add proper 1000000 bit-string at top
550 of VU lower instruction.
551
552end-sanitize-sky
b0b39eb2
FCE
553start-sanitize-sky
554Thu Apr 9 16:38:23 1998 Frank Ch. Eigler <fche@cygnus.com>
555
556 * r5900.igen (LQC,SQC): Adapted code to DOUBLEWORD accesses
557 instead of QUADWORD.
558
559 * sim-main.h: Removed attempt at allowing 128-bit access.
560
561end-sanitize-sky
11c47f31 562start-sanitize-sky
c0a4c3ba 563Wed Apr 8 18:12:13 1998 Frank Ch. Eigler <fche@cygnus.com>
11c47f31
FCE
564
565 * Makefile.in (SIM_SKY_OBJS): Added sky-vudis.o.
566
567 * interp.c (decode_coproc): Refer to VU CIA as a "special"
568 register, not as a "misc" register. Aha. Add activity
569 assertions after VCALLMS* instructions.
570
571end-sanitize-sky
174ff224 572start-sanitize-sky
c0a4c3ba 573Tue Apr 7 18:32:49 1998 Frank Ch. Eigler <fche@cygnus.com>
174ff224
FCE
574
575 * interp.c (decode_coproc): Do not apply superfluous E (end) flag
576 to upper code of generated VU instruction.
577
578end-sanitize-sky
2ebb2a68
FCE
579start-sanitize-sky
580Mon Apr 6 19:55:56 1998 Frank Ch. Eigler <fche@cygnus.com>
581
582 * interp.c (cop_[ls]q): Replaced stub with proper COP2 code.
583
584 * sim-main.h (LOADADDRMASK): Redefine to allow 128-bit accesses
585 for TARGET_SKY.
586
587 * r5900.igen (SQC2): Thinko.
588
589end-sanitize-sky
ebcfd86a
FCE
590start-sanitize-sky
591Sun Apr 5 12:05:44 1998 Frank Ch. Eigler <fche@cygnus.com>
592
593 * interp.c (*): Adapt code to merged VU device & state structs.
594 (decode_coproc): Execute COP2 each macroinstruction without
595 pipelining, by stepping VU to completion state. Adapted to
596 read_vu_*_reg style of register access.
597
598 * mips.igen ([SL]QC2): Removed these COP2 instructions.
599
600 * r5900.igen ([SL]QC2): Transplanted these COP2 instructions here.
601
602 * sim-main.h (cop_[ls]q): Enclosed in TARGET_SKY guards.
603
604end-sanitize-sky
64ed8b6a
AC
605Sat Apr 4 22:39:50 1998 Andrew Cagney <cagney@b1.cygnus.com>
606
607 * Makefile.in (SIM_OBJS): Add sim-main.o.
608
609 * sim-main.h (address_translation, load_memory, store_memory,
610 cache_op, sync_operation, prefetch, ifetch32, pending_tick): Mark
611 as INLINE_SIM_MAIN.
612 (pr_addr, pr_uword64): Declare.
613 (sim-main.c): Include when H_REVEALS_MODULE_P.
614
615 * interp.c (address_translation, load_memory, store_memory,
616 cache_op, sync_operation, prefetch, ifetch32, pending_tick): Move
617 from here.
618 * sim-main.c: To here. Fix compilation problems.
619
620 * configure.in: Enable inlining.
621 * configure: Re-config.
622
278bda40
AC
623Sat Apr 4 20:36:25 1998 Andrew Cagney <cagney@b1.cygnus.com>
624
625 * configure: Regenerated to track ../common/aclocal.m4 changes.
626
627Fri Apr 3 04:32:35 1998 Andrew Cagney <cagney@b1.cygnus.com>
628
629 * mips.igen: Include tx.igen.
630 * Makefile.in (IGEN_INCLUDE): Add tx.igen.
631 * tx.igen: New file, contains MADD and MADDU.
632
633 * interp.c (load_memory): When shifting bytes, use LOADDRMASK not
634 the hardwired constant `7'.
635 (store_memory): Ditto.
636 (LOADDRMASK): Move definition to sim-main.h.
637
638 mips.igen (MTC0): Enable for r3900.
639 (ADDU): Add trace.
640
641 mips.igen (do_load_byte): Delete.
642 (do_load, do_store, do_load_left, do_load_write, do_store_left,
643 do_store_right): New functions.
644 (SW*, LW*, SD*, LD*, SH, LH, SB, LB): Use.
645
646 configure.in: Let the tx39 use igen again.
647 configure: Update.
648
725fc5d9
AC
649Thu Apr 2 10:59:39 1998 Andrew Cagney <cagney@b1.cygnus.com>
650
651 * interp.c (sim_monitor): get_mem_info returns a 4 byte quantity,
652 not an address sized quantity. Return zero for cache sizes.
653
654Wed Apr 1 23:47:53 1998 Andrew Cagney <cagney@b1.cygnus.com>
655
656 * mips.igen (r3900): r3900 does not support 64 bit integer
657 operations.
658
6b0c51c9
FCE
659start-sanitize-sky
660Wed Apr 1 08:20:31 1998 Frank Ch. Eigler <fche@cygnus.com>
661
662 * mips.igen (SQC2/LQC2): Make bodies sky-target-only also.
6b0c51c9 663
725fc5d9 664end-sanitize-sky
6ed00b06
FCE
665start-sanitize-sky
666Mon Mar 30 18:41:43 1998 Frank Ch. Eigler <fche@cygnus.com>
667
668 * interp.c (decode_coproc): Continuing COP2 work.
6b0c51c9 669 (cop_[ls]q): Make sky-target-only.
6ed00b06 670
6b0c51c9 671 * sim-main.h (COP_[LS]Q): Make sky-target-only.
6ed00b06 672end-sanitize-sky
34f51d87
GRK
673Mon Mar 30 14:46:05 1998 Gavin Koch <gavin@cygnus.com>
674
675 * configure.in (mipstx39*-*-*): Use gencode simulator rather
676 than igen one.
677 * configure : Rebuild.
678
7dd4a466
FCE
679start-sanitize-sky
680Sun Mar 29 17:50:11 Frank Ch. Eigler <fche@cygnus.com>
681
682 * interp.c (decode_coproc): Added a missing TARGET_SKY check
683 around COP2 implementation skeleton.
684
685end-sanitize-sky
7dba069e 686start-sanitize-sky
15232df4
FCE
687Fri Mar 27 16:19:29 1998 Frank Ch. Eigler <fche@cygnus.com>
688
15232df4
FCE
689 * Makefile.in (SIM_SKY_OBJS): Replaced sky-vu[01].o with sky-vu.o.
690
691 * interp.c (sim_{load,store}_register): Use new vu[01]_device
692 static to access VU registers.
693 (decode_coproc): Added skeleton of sky COP2 (VU) instruction
694 decoding. Work in progress.
695
696 * mips.igen (LDCzz, SDCzz): Removed *5900 case for this
697 overlapping/redundant bit pattern.
698 (LQC2, SQC2): Added *5900 COP2 instruction skeleta. Work in
699 progress.
700
701 * sim-main.h (status_CU[012]): Added COP[n]-enabled flags for
702 status register.
703
15232df4
FCE
704 * interp.c (cop_lq, cop_sq): New functions for future 128-bit
705 access to coprocessor registers.
706
707 * sim-main.h (COP_LQ, COP_SQ): New macro front-ends for above.
6ed00b06 708end-sanitize-sky
d8f53049
AC
709Fri Mar 27 16:15:52 1998 Andrew Cagney <cagney@b1.cygnus.com>
710
711 * configure: Regenerated to track ../common/aclocal.m4 changes.
712
82ea14fd
AC
713Fri Mar 27 15:01:50 1998 Andrew Cagney <cagney@b1.cygnus.com>
714
715 * interp.c (mips_option_handler): Iterate over MAX_NR_PROCESSORS.
716
717Wed Mar 25 16:44:27 1998 Ian Carmichael <iancarm@cygnus.com>
718
719 * configure: Regenerated to track ../common/aclocal.m4 changes.
720 * config.in: Regenerated to track ../common/aclocal.m4 changes.
721
d89fa2d8
AC
722Wed Mar 25 12:35:29 1998 Andrew Cagney <cagney@b1.cygnus.com>
723
724 * configure: Regenerated to track ../common/aclocal.m4 changes.
725
612a649e
AC
726Wed Mar 25 10:05:46 1998 Andrew Cagney <cagney@b1.cygnus.com>
727
728 * interp.c (Max, Min): Comment out functions. Not yet used.
729
730start-sanitize-vr4320
731Wed Mar 25 10:04:13 1998 Andrew Cagney <cagney@b1.cygnus.com>
732
733 * vr4320.igen (DCLZ): Pacify GCC, 64 bit arg, int format.
734
735end-sanitize-vr4320
736Wed Mar 18 12:38:12 1998 Andrew Cagney <cagney@b1.cygnus.com>
737
738 * configure: Regenerated to track ../common/aclocal.m4 changes.
739
9b23b76d
FCE
740Tue Mar 17 19:05:20 1998 Frank Ch. Eigler <fche@cygnus.com>
741
742 * Makefile.in (MIPS_EXTRA_LIBS, SIM_EXTRA_LIBS): Added
743 configurable settings for stand-alone simulator.
744
745start-sanitize-sky
746 * configure.in: Added --with-sim-gpu2 option to specify path of
747 sky GPU2 library. Triggers -DSKY_GPU2 for sky-gpuif.c, and
748 links/compiles stand-alone simulator with this library.
749
750 * interp.c (MEM_SIZE): Increased default sky memory size to 16MB.
751end-sanitize-sky
9b23b76d
FCE
752 * configure.in: Added X11 search, just in case.
753
754 * configure: Regenerated.
755
756Wed Mar 11 14:09:10 1998 Andrew Cagney <cagney@b1.cygnus.com>
757
758 * interp.c (sim_write, sim_read, load_memory, store_memory):
759 Replace sim_core_*_map with read_map, write_map, exec_map resp.
760
5fa71251
GRK
761start-sanitize-vr4320
762Tue Mar 10 10:32:22 1998 Gavin Koch <gavin@cygnus.com>
763
764 * vr4320.igen (clz,dclz) : Added.
765 (dmac): Replaced 99, with LO.
766
767end-sanitize-vr4320
78b871ec 768start-sanitize-cygnus
6ba4c153
AC
769Fri Mar 6 08:30:58 1998 Andrew Cagney <cagney@b1.cygnus.com>
770
771 * mdmx.igen (SHFL.REPA.fmt, SHFL.REPB.fmt): Fix bit fields.
772
78b871ec 773end-sanitize-cygnus
dd15abd5
GRK
774start-sanitize-vr4320
775Tue Mar 3 11:56:29 1998 Gavin Koch <gavin@cygnus.com>
776
777 * vr4320.igen: New file.
778 * Makefile.in (vr4320.igen) : Added.
779 * configure.in (mips64vr4320-*-*): Added.
780 * configure : Rebuilt.
781 * mips.igen : Correct the bfd-names in the mips-ISA model entries.
782 Add the vr4320 model entry and mark the vr4320 insn as necessary.
783
784end-sanitize-vr4320
ca6f76d1
AC
785Tue Mar 3 13:58:43 1998 Andrew Cagney <cagney@b1.cygnus.com>
786
787 * sim-main.h (GETFCC): Return an unsigned value.
788
789start-sanitize-r5900
790 * r5900.igen: Use an unsigned array index variable `i'.
791 (QFSRV): Ditto for variable bytes.
792
793end-sanitize-r5900
794Tue Mar 3 13:21:37 1998 Andrew Cagney <cagney@b1.cygnus.com>
795
796 * mips.igen (DIV): Fix check for -1 / MIN_INT.
797 (DADD): Result destination is RD not RT.
798
799start-sanitize-r5900
800 * r5900.igen (DIV1): Fix check for -1 / MIN_INT.
801 (DIVU1): Don't check for MIN_INT / -1 as performing unsigned
802 divide.
803
804end-sanitize-r5900
0e701ac3
AC
805Fri Feb 27 13:49:49 1998 Andrew Cagney <cagney@b1.cygnus.com>
806
807 * sim-main.h (HIACCESS, LOACCESS): Always define.
808
809 * mdmx.igen (Maxi, Mini): Rename Max, Min.
810
811 * interp.c (sim_info): Delete.
812
7c5d88c1
DE
813Fri Feb 27 18:41:01 1998 Doug Evans <devans@canuck.cygnus.com>
814
815 * interp.c (DECLARE_OPTION_HANDLER): Use it.
816 (mips_option_handler): New argument `cpu'.
817 (sim_open): Update call to sim_add_option_table.
818
f89c0689
AC
819Wed Feb 25 18:56:22 1998 Andrew Cagney <cagney@b1.cygnus.com>
820
821 * mips.igen (CxC1): Add tracing.
822
823start-sanitize-r5900
824Wed Feb 25 13:59:03 1998 Andrew Cagney <cagney@b1.cygnus.com>
825
826 * r5900.igen (StoreFP): Delete.
827 (r59fp_store, r59fp_overflow, r59fp_op1, r59fp_op2, r59fp_op3):
828 New functions.
829 (rsqrt.s, sqrt.s): Implement.
830 (r59cond): New function.
831 (C.COND.S): Call r59cond in assembler line.
832 (cvt.w.s, cvt.s.w): Implement.
833
834 * mips.igen (rsqrt.fmt, sqrt.fmt, cvt.*.*): Remove from r5900
835 instruction set.
836
837 * sim-main.h: Define an enum of r5900 FCSR bit fields.
838
839end-sanitize-r5900
a48e8c8d 840start-sanitize-r5900
d3e1d594
AC
841Tue Feb 24 14:44:18 1998 Andrew Cagney <cagney@b1.cygnus.com>
842
843 * r5900.igen: Add tracing to all p* instructions.
844
a48e8c8d
AC
845Tue Feb 24 02:47:33 1998 Andrew Cagney <cagney@b1.cygnus.com>
846
847 * interp.c (sim_store_register, sim_fetch_register): Pull swifty
848 to get gdb talking to re-aranged sim_cpu register structure.
849
850end-sanitize-r5900
851Fri Feb 20 17:43:21 1998 Andrew Cagney <cagney@b1.cygnus.com>
852
853 * sim-main.h (Max, Min): Declare.
854
855 * interp.c (Max, Min): New functions.
856
857 * mips.igen (BC1): Add tracing.
858
78b871ec 859start-sanitize-cygnus
a48e8c8d
AC
860Fri Feb 20 16:27:17 1998 Andrew Cagney <cagney@b1.cygnus.com>
861
862 * mdmx.igen: Tag all functions as requiring either with mdmx or
863 vr5400 processor.
864
78b871ec 865end-sanitize-cygnus
a48e8c8d
AC
866start-sanitize-r5900
867Fri Feb 20 15:55:51 1998 Andrew Cagney <cagney@b1.cygnus.com>
868
869 * configure.in (SIM_AC_OPTION_FLOAT): For r5900, set FP bit size
870 to 32.
871 (SIM_AC_OPTION_BITSIZE): For r5900, set nr address bits to 32.
872
873 * mips.igen (C.cond.fmt, ..): Not part of r5900 insn set.
874
875 * r5900.igen: Rewrite.
876
877 * sim-main.h: Move r5900 registers to a separate _sim_r5900_cpu
878 struct.
879 (GPR_SB, GPR_SH, GPR_SW, GPR_SD, GPR_UB, GPR_UH, GPR_UW, GPR_UD):
880 Define in terms of GPR/GPR1 instead of REGISTERS/REGISTERS.1
881
882end-sanitize-r5900
883Thu Feb 19 14:50:00 1998 John Metzler <jmetzler@cygnus.com>
884
885 * interp.c Added memory map for stack in vr4100
886
f319bab2
GRK
887Thu Feb 19 10:21:21 1998 Gavin Koch <gavin@cygnus.com>
888
889 * interp.c (load_memory): Add missing "break"'s.
890
891Tue Feb 17 12:45:35 1998 Andrew Cagney <cagney@b1.cygnus.com>
892
893 * interp.c (sim_store_register, sim_fetch_register): Pass in
894 length parameter. Return -1.
895
896Tue Feb 10 11:57:40 1998 Ian Carmichael <iancarm@cygnus.com>
897
898 * interp.c: Added hardware init hook, fixed warnings.
899
452b3808
AC
900Sat Feb 7 17:16:20 1998 Andrew Cagney <cagney@b1.cygnus.com>
901
902 * Makefile.in (itable.h itable.c): Depend on SIM_@sim_gen@_ALL.
903
37379a25
AC
904Tue Feb 3 11:36:02 1998 Andrew Cagney <cagney@b1.cygnus.com>
905
906 * interp.c (ifetch16): New function.
907
908 * sim-main.h (IMEM32): Rename IMEM.
909 (IMEM16_IMMED): Define.
910 (IMEM16): Define.
911 (DELAY_SLOT): Update.
912
913 * m16run.c (sim_engine_run): New file.
914
915 * m16.igen: All instructions except LB.
916 (LB): Call do_load_byte.
917 * mips.igen (do_load_byte): New function.
918 (LB): Call do_load_byte.
919
920 * mips.igen: Move spec for insn bit size and high bit from here.
921 * Makefile.in (tmp-igen, tmp-m16): To here.
922
923 * m16.dc: New file, decode mips16 instructions.
924
925 * Makefile.in (SIM_NO_ALL): Define.
926 (tmp-m16): Generate both 16 bit and 32 bit simulator engines.
927
928start-sanitize-tx19
929 * m16.igen: Mark all mips16 insns as being part of the tx19 insn
930 set.
931
932end-sanitize-tx19
933Tue Feb 3 11:28:00 1998 Andrew Cagney <cagney@b1.cygnus.com>
934
935 * configure.in (mips_fpu_bitsize): For tx39, restrict floating
936 point unit to 32 bit registers.
937 * configure: Re-generate.
938
939Sun Feb 1 15:47:14 1998 Andrew Cagney <cagney@b1.cygnus.com>
940
941 * configure.in (sim_use_gen): Make IGEN the default simulator
942 generator for generic 32 and 64 bit mips targets.
943 * configure: Re-generate.
944
a97f304b
AC
945Sun Feb 1 16:52:37 1998 Andrew Cagney <cagney@b1.cygnus.com>
946
947 * sim-main.h (SizeFGR): Determine from floating-point and not gpr
948 bitsize.
949
950 * interp.c (sim_fetch_register, sim_store_register): Read/write
951 FGR from correct location.
952 (sim_open): Set size of FGR's according to
953 WITH_TARGET_FLOATING_POINT_BITSIZE.
954
955 * sim-main.h (FGR): Store floating point registers in a separate
956 array.
957
958Sun Feb 1 16:47:51 1998 Andrew Cagney <cagney@b1.cygnus.com>
959
960 * configure: Regenerated to track ../common/aclocal.m4 changes.
961
78b871ec 962start-sanitize-cygnus
a97f304b
AC
963 * mdmx.igen: Mark all instructions as 64bit/fp specific.
964
78b871ec 965end-sanitize-cygnus
2acd126a
AC
966Tue Feb 3 00:10:50 1998 Andrew Cagney <cagney@b1.cygnus.com>
967
968 * interp.c (ColdReset): Call PENDING_INVALIDATE.
969
970 * sim-main.h (ENGINE_ISSUE_PREFIX_HOOK): Call PENDING_TICK.
971
972 * interp.c (pending_tick): New function. Deliver pending writes.
973
974 * sim-main.h (PENDING_FILL, PENDING_TICK, PENDING_SCHED,
975 PENDING_BIT, PENDING_INVALIDATE): Re-write pipeline code so that
976 it can handle mixed sized quantites and single bits.
977
192ae475
AC
978Mon Feb 2 17:43:15 1998 Andrew Cagney <cagney@b1.cygnus.com>
979
980 * interp.c (oengine.h): Do not include when building with IGEN.
981 (sim_open): Replace GPRLEN by WITH_TARGET_WORD_BITSIZE.
982 (sim_info): Ditto for PROCESSOR_64BIT.
983 (sim_monitor): Replace ut_reg with unsigned_word.
984 (*): Ditto for t_reg.
985 (LOADDRMASK): Define.
986 (sim_open): Remove defunct check that host FP is IEEE compliant,
987 using software to emulate floating point.
988 (value_fpr, ...): Always compile, was conditional on HASFPU.
989
01737f42
AC
990Sun Feb 1 11:15:29 1998 Andrew Cagney <cagney@b1.cygnus.com>
991
992 * sim-main.h (sim_state): Make the cpu array MAX_NR_PROCESSORS in
993 size.
994
995 * interp.c (SD, CPU): Define.
996 (mips_option_handler): Set flags in each CPU.
997 (interrupt_event): Assume CPU 0 is the one being iterrupted.
998 (sim_close): Do not clear STATE, deleted anyway.
999 (sim_write, sim_read): Assume CPU zero's vm should be used for
1000 data transfers.
1001 (sim_create_inferior): Set the PC for all processors.
1002 (sim_monitor, store_word, load_word, mips16_entry): Add cpu
1003 argument.
1004 (mips16_entry): Pass correct nr of args to store_word, load_word.
1005 (ColdReset): Cold reset all cpu's.
1006 (signal_exception): Pass cpu to sim_monitor & mips16_entry.
1007 (sim_monitor, load_memory, store_memory, signal_exception): Use
1008 `CPU' instead of STATE_CPU.
1009
1010
1011 * sim-main.h: Replace uses of STATE_CPU with CPU. Replace sd with
1012 SD or CPU_.
1013
1014 * sim-main.h (signal_exception): Add sim_cpu arg.
1015 (SignalException*): Pass both SD and CPU to signal_exception.
1016 * interp.c (signal_exception): Update.
1017
1018 * sim-main.h (value_fpr, store_fpr, dotrace, ifetch32), interp.c:
1019 Ditto
1020 (sync_operation, prefetch, cache_op, store_memory, load_memory,
1021 address_translation): Ditto
1022 (decode_coproc, cop_lw, cop_ld, cop_sw, cop_sd): Ditto.
1023
78b871ec 1024start-sanitize-cygnus
01737f42
AC
1025 * mdmx.igen (get_scale): Pass CPU_ to semantic_illegal instead of
1026 `sd'.
1027 (ByteAlign): Use StoreFPR, pass args in correct order.
1028
78b871ec 1029end-sanitize-cygnus
01737f42
AC
1030start-sanitize-r5900
1031Sun Feb 1 10:59:55 1998 Andrew Cagney <cagney@b1.cygnus.com>
1032
1033 * configure.in (sim_igen_filter): For r5900, configure as SMP.
1034
1035end-sanitize-r5900
412c4e94
AC
1036Sat Jan 31 18:15:41 1998 Andrew Cagney <cagney@b1.cygnus.com>
1037
1038 * configure: Regenerated to track ../common/aclocal.m4 changes.
1039
9ec6741b
AC
1040Sat Jan 31 14:49:24 1998 Andrew Cagney <cagney@b1.cygnus.com>
1041
c4db5b04
AC
1042start-sanitize-r5900
1043 * configure.in (sim_igen_filter): For r5900, use igen.
1044 * configure: Re-generate.
1045
1046end-sanitize-r5900
9ec6741b
AC
1047 * interp.c (sim_engine_run): Add `nr_cpus' argument.
1048
1049 * mips.igen (model): Map processor names onto BFD name.
1050
1051 * sim-main.h (CPU_CIA): Delete.
1052 (SET_CIA, GET_CIA): Define
1053
2d44e12a
AC
1054Wed Jan 21 16:16:27 1998 Andrew Cagney <cagney@b1.cygnus.com>
1055
1056 * sim-main.h (GPR_SET): Define, used by igen when zeroing a
1057 regiser.
1058
1059 * configure.in (default_endian): Configure a big-endian simulator
1060 by default.
1061 * configure: Re-generate.
1062
462cfbc4
DE
1063Mon Jan 19 22:26:29 1998 Doug Evans <devans@seba>
1064
1065 * configure: Regenerated to track ../common/aclocal.m4 changes.
1066
e0e0fc76
MA
1067Mon Jan 5 20:38:54 1998 Mark Alexander <marka@cygnus.com>
1068
1069 * interp.c (sim_monitor): Handle Densan monitor outbyte
1070 and inbyte functions.
1071
76ef4165
FL
10721997-12-29 Felix Lee <flee@cygnus.com>
1073
1074 * interp.c (sim_engine_run): msvc cpp barfs on #if (a==b!=c).
1075
1076Wed Dec 17 14:48:20 1997 Jeffrey A Law (law@cygnus.com)
1077
1078 * Makefile.in (tmp-igen): Arrange for $zero to always be
1079 reset to zero after every instruction.
1080
9c8ec16d
AC
1081Mon Dec 15 23:17:11 1997 Andrew Cagney <cagney@b1.cygnus.com>
1082
1083 * configure: Regenerated to track ../common/aclocal.m4 changes.
1084 * config.in: Ditto.
1085
78b871ec 1086start-sanitize-cygnus
b17d2d14
AC
1087Sat Dec 13 15:18:51 1997 Andrew Cagney <cagney@b1.cygnus.com>
1088
1089 * vr5400.igen (Low32Bits, High32Bits): Sign extend extracted 32
1090 bit values.
1091
255cbbf1
JL
1092Fri Dec 12 12:26:07 1997 Jeffrey A Law (law@cygnus.com)
1093
1094 * configure.in (sim_igen_filter): Multi-sim vr5000 - vr5000 or
1095 vr5400 with the vr5000 as the default.
1096
78b871ec 1097end-sanitize-cygnus
23850e92
JL
1098Wed Dec 10 17:10:45 1997 Jeffrey A Law (law@cygnus.com)
1099
1100 * mips.igen (MSUB): Fix to work like MADD.
1101 * gencode.c (MSUB): Similarly.
1102
78b871ec 1103start-sanitize-cygnus
c02ed6a8
AC
1104Tue Dec 9 12:02:12 1997 Andrew Cagney <cagney@b1.cygnus.com>
1105
1106 * configure.in (sim_igen_filter): Multi-sim vr5400 - vr5000 or
1107 vr5400.
1108
78b871ec 1109end-sanitize-cygnus
6e51f990
DE
1110Thu Dec 4 09:21:05 1997 Doug Evans <devans@canuck.cygnus.com>
1111
1112 * configure: Regenerated to track ../common/aclocal.m4 changes.
1113
35c246c9
AC
1114Wed Nov 26 11:00:23 1997 Andrew Cagney <cagney@b1.cygnus.com>
1115
1116 * mips.igen (LWC1): Correct assembler - lwc1 not swc1.
1117
78b871ec 1118start-sanitize-cygnus
0d5d0d10 1119 * mdmx.igen (value_vr): Correct sim_io_eprintf format argument.
0931ce5a 1120 (value_cc, store_cc): Implement.
0d5d0d10 1121
35c246c9
AC
1122 * sim-main.h: Add 8*3*8 bit accumulator.
1123
1124 * vr5400.igen: Move mdmx instructins from here
1125 * mdmx.igen: To here - new file. Add/fix missing instructions.
1126 * mips.igen: Include mdmx.igen.
0931ce5a 1127 * Makefile.in (IGEN_INCLUDE): Add mdmx.igen.
35c246c9 1128
78b871ec 1129end-sanitize-cygnus
58fb5d0a
AC
1130Sun Nov 23 01:45:20 1997 Andrew Cagney <cagney@b1.cygnus.com>
1131
1132 * sim-main.h (sim-fpu.h): Include.
1133
1134 * interp.c (convert, SquareRoot, Recip, Divide, Multiply, Sub,
1135 Add, Negate, AbsoluteValue, Equal, Less, Infinity, NaN): Rewrite
1136 using host independant sim_fpu module.
1137
a09a30d2
AC
1138Thu Nov 20 19:56:22 1997 Andrew Cagney <cagney@b1.cygnus.com>
1139
232156de
AC
1140 * interp.c (signal_exception): Report internal errors with SIGABRT
1141 not SIGQUIT.
a09a30d2 1142
232156de
AC
1143 * sim-main.h (C0_CONFIG): New register.
1144 (signal.h): No longer include.
1145
1146 * interp.c (decode_coproc): Allow access C0_CONFIG to register.
a09a30d2 1147
486740ce
DE
1148Tue Nov 18 15:33:48 1997 Doug Evans <devans@canuck.cygnus.com>
1149
1150 * Makefile.in (SIM_OBJS): Use $(SIM_NEW_COMMON_OBJS).
1151
f23e93da
AC
1152Fri Nov 14 11:56:48 1997 Andrew Cagney <cagney@b1.cygnus.com>
1153
1154 * mips.igen: Tag vr5000 instructions.
1155 (ANDI): Was missing mipsIV model, fix assembler syntax.
1156 (do_c_cond_fmt): New function.
1157 (C.cond.fmt): Handle mips I-III which do not support CC field
1158 separatly.
1159 (bc1): Handle mips IV which do not have a delaed FCC separatly.
1160 (SDR): Mask paddr when BigEndianMem, not the converse as specified
1161 in IV3.2 spec.
1162 (DMULT, DMULTU): Force use of hosts 64bit multiplication. Handle
1163 vr5000 which saves LO in a GPR separatly.
1164
1165 * configure.in (enable-sim-igen): For vr5000, select vr5000
1166 specific instructions.
1167 * configure: Re-generate.
1168
1169Wed Nov 12 14:42:52 1997 Andrew Cagney <cagney@b1.cygnus.com>
1170
1171 * Makefile.in (SIM_OBJS): Add sim-fpu module.
1172
1173 * interp.c (store_fpr), sim-main.h: Add separate fmt_uninterpreted_32 and
1174 fmt_uninterpreted_64 bit cases to switch. Convert to
1175 fmt_formatted,
1176
1177 * sim-main.h (ENGINE_ISSUE_PREFIX_HOOK): Define,
1178
1179 * mips.igen (SWR): Mask paddr when BigEndianMem, not the converse
1180 as specified in IV3.2 spec.
1181 (MTC1, DMTC1): Call StoreFPR to store the GPR in the FPR.
1182
030843d7
AC
1183Tue Nov 11 12:38:23 1997 Andrew Cagney <cagney@b1.cygnus.com>
1184
1185 * mips.igen: Delay slot branches add OFFSET to NIA not CIA.
1186 (MFC0, MTC0, SWC1, LWC1, SDC1, LDC1): Implement.
1187 (start-sanitize-r5900):
1188 (LWXC1, SWXC1): Delete from r5900 instruction set.
1189 (end-sanitize-r5900):
1190 (MTC1, MFC1, DMTC1, DMFC1, CFC1, CTC1): Implement separate non
a94c5493 1191 PENDING_FILL versions of instructions. Simplify.
030843d7
AC
1192 (X): New function.
1193 (MULT, MULTU): Implement separate RD==0 and RD!=0 versions of
1194 instructions.
a94c5493
AC
1195 (BEQZ, ..., SLT, SLTI, TLT, TLE, TLI, ...): Explicitly cast GPR to
1196 a signed value.
030843d7
AC
1197 (MTHI, MFHI): Disable code checking HI-LO.
1198
1199 * sim-main.h (dotrace,tracefh), interp.c: Make dotrace & tracefh
1200 global.
1201 (NULLIFY_NEXT_INSTRUCTION): Call dotrace.
1202
7ce8b917
AC
1203Thu Nov 6 16:36:35 1997 Andrew Cagney <cagney@b1.cygnus.com>
1204
95469ceb
AC
1205 * gencode.c (build_mips16_operands): Replace IPC with cia.
1206
1207 * interp.c (sim_monitor, signal_exception, cache_op, store_fpr,
1208 value_fpr, cop_ld, cop_lw, cop_sw, cop_sd, decode_coproc): Replace
1209 IPC to `cia'.
1210 (UndefinedResult): Replace function with macro/function
1211 combination.
1212 (sim_engine_run): Don't save PC in IPC.
1213
1214 * sim-main.h (IPC): Delete.
1215
78b871ec 1216 start-sanitize-cygnus
95469ceb
AC
1217 * vr5400.igen (vr): Add missing cia argument to value_fpr.
1218 (do_select): Rename function select.
78b871ec 1219 end-sanitize-cygnus
95469ceb 1220
7ce8b917
AC
1221 * interp.c (signal_exception, store_word, load_word,
1222 address_translation, load_memory, store_memory, cache_op,
1223 prefetch, sync_operation, ifetch, value_fpr, store_fpr, convert,
95469ceb
AC
1224 cop_lw, cop_ld, cop_sw, cop_sd, decode_coproc, sim_monitor): Add
1225 current instruction address - cia - argument.
7ce8b917
AC
1226 (sim_read, sim_write): Call address_translation directly.
1227 (sim_engine_run): Rename variable vaddr to cia.
95469ceb
AC
1228 (signal_exception): Pass cia to sim_monitor
1229
7ce8b917
AC
1230 * sim-main.h (SignalException, LoadWord, StoreWord, CacheOp,
1231 Prefetch, SyncOperation, ValueFPR, StoreFPR, Convert, COP_LW,
1232 COP_LD, COP_SW, COP_SD, DecodeCoproc): Update.
1233
1234 * sim-main.h (SignalExceptionSimulatorFault): Delete definition.
1235 * interp.c (sim_open): Replace SignalExceptionSimulatorFault with
1236 SIM_ASSERT.
1237
1238 * interp.c (signal_exception): Pass restart address to
1239 sim_engine_restart.
1240
1241 * Makefile.in (semantics.o, engine.o, support.o, itable.o,
1242 idecode.o): Add dependency.
1243
1244 * sim-main.h (SIM_ENGINE_HALT_HOOK, SIM_ENGINE_RESUME_HOOK):
1245 Delete definitions
1246 (DELAY_SLOT): Update NIA not PC with branch address.
1247 (NULLIFY_NEXT_INSTRUCTION): Set NIA to instruction after next.
1248
1249 * mips.igen: Use CIA not PC in branch calculations.
1250 (illegal): Call SignalException.
1251 (BEQ, ADDIU): Fix assembler.
1252
63be8feb
AC
1253Wed Nov 5 12:19:56 1997 Andrew Cagney <cagney@b1.cygnus.com>
1254
44b8585a
AC
1255 * m16.igen (JALX): Was missing.
1256
1257 * configure.in (enable-sim-igen): New configuration option.
1258 * configure: Re-generate.
1259
63be8feb
AC
1260 * sim-main.h (MAX_INSNS, INSN_NAME): Define.
1261
1262 * interp.c (load_memory, store_memory): Delete parameter RAW.
1263 (sim_read, sim_write): Use sim_core_{read,write}_buffer directly
1264 bypassing {load,store}_memory.
1265
1266 * sim-main.h (ByteSwapMem): Delete definition.
1267
1268 * Makefile.in (SIM_OBJS): Add sim-memopt module.
1269
1270 * interp.c (sim_do_command, sim_commands): Delete mips specific
1271 commands. Handled by module sim-options.
1272
1273 * sim-main.h (SIM_HAVE_FLATMEM): Undefine, use sim-core.o module.
1274 (WITH_MODULO_MEMORY): Define.
1275
1276 * interp.c (sim_info): Delete code printing memory size.
1277
1278 * interp.c (mips_size): Nee sim_size, delete function.
1279 (power2): Delete.
1280 (monitor, monitor_base, monitor_size): Delete global variables.
1281 (sim_open, sim_close): Delete code creating monitor and other
1282 memory regions. Use sim-memopts module, via sim_do_commandf, to
1283 manage memory regions.
1284 (load_memory, store_memory): Use sim-core for memory model.
1285
1286 * interp.c (address_translation): Delete all memory map code
1287 except line forcing 32 bit addresses.
1288
22de994d
AC
1289Wed Nov 5 11:21:11 1997 Andrew Cagney <cagney@b1.cygnus.com>
1290
1291 * sim-main.h (WITH_TRACE): Delete definition. Enables common
1292 trace options.
1293
1294 * interp.c (logfh, logfile): Delete globals.
1295 (sim_open, sim_close): Delete code opening & closing log file.
1296 (mips_option_handler): Delete -l and -n options.
1297 (OPTION mips_options): Ditto.
1298
1299 * interp.c (OPTION mips_options): Rename option trace to dinero.
1300 (mips_option_handler): Update.
1301
525d929e
AC
1302Wed Nov 5 09:35:59 1997 Andrew Cagney <cagney@b1.cygnus.com>
1303
1304 * interp.c (fetch_str): New function.
1305 (sim_monitor): Rewrite using sim_read & sim_write.
1306 (sim_open): Check magic number.
1307 (sim_open): Write monitor vectors into memory using sim_write.
1308 (MONITOR_BASE, MONITOR_SIZE, MEM_SIZE): Define.
1309 (sim_read, sim_write): Simplify - transfer data one byte at a
1310 time.
1311 (load_memory, store_memory): Clarify meaning of parameter RAW.
1312
1313 * sim-main.h (isHOST): Defete definition.
1314 (isTARGET): Mark as depreciated.
1315 (address_translation): Delete parameter HOST.
1316
1317 * interp.c (address_translation): Delete parameter HOST.
1318
6205f379
GRK
1319start-sanitize-tx49
1320Wed Oct 29 14:21:32 1997 Gavin Koch <gavin@cygnus.com>
1321
1322 * gencode.c: Add tx49 configury and insns.
1323 * configure.in: Add tx49 configury.
1324 * configure: Update.
1325
1326end-sanitize-tx49
01b9cd49
AC
1327Wed Oct 29 11:13:56 1997 Andrew Cagney <cagney@b1.cygnus.com>
1328
1329 * mips.igen:
1330
1331 * Makefile.in (IGEN_INCLUDE): Files included by mips.igen.
1332 (tmp-igen, tmp-m16): Depend on IGEN_INCLUDE.
1333
89d09738
AC
1334Tue Oct 28 11:06:47 1997 Andrew Cagney <cagney@b1.cygnus.com>
1335
1336 * mips.igen: Add model filter field to records.
1337
16bd5d6e
AC
1338Mon Oct 27 17:53:59 1997 Andrew Cagney <cagney@b1.cygnus.com>
1339
1340 * Makefile.in (SIM_NO_CFLAGS): Define. Define WITH_IGEN=0.
1341
1342 interp.c (sim_engine_run): Do not compile function sim_engine_run
1343 when WITH_IGEN == 1.
1344
1345 * configure.in (sim_igen_flags, sim_m16_flags): Set according to
1346 target architecture.
1347
1348 Makefile.in (tmp-igen, tmp-m16): Drop -F and -M options to
1349 igen. Replace with configuration variables sim_igen_flags /
1350 sim_m16_flags.
1351
16bd5d6e 1352 start-sanitize-r5900
8c31916d
AC
1353 * r5900.igen: New file. Copy r5900 insns here.
1354 end-sanitize-r5900
78b871ec 1355 start-sanitize-cygnus
58fb5d0a 1356 * vr5400.igen: New file.
78b871ec 1357 end-sanitize-cygnus
16bd5d6e
AC
1358 * m16.igen: New file. Copy mips16 insns here.
1359 * mips.igen: From here.
1360
90ad43b2
AC
1361Mon Oct 27 13:53:59 1997 Andrew Cagney <cagney@b1.cygnus.com>
1362
78b871ec 1363 start-sanitize-cygnus
90ad43b2
AC
1364 * mips.igen: Tag all mipsIV instructions with vr5400 model.
1365
1366 * configure.in: Add mips64vr5400 target.
1367 * configure: Re-generate.
1368
78b871ec 1369 end-sanitize-cygnus
90ad43b2
AC
1370 * Makefile.in (SIM_NO_OBJ): Define, move SIM_M16_OBJ, SIM_IGEN_OBJ
1371 to top.
1372 (tmp-igen, tmp-m16): Pass -I srcdir to igen.
1373
635ae9cb
GRK
1374Sat Oct 25 16:51:40 1997 Gavin Koch <gavin@cygnus.com>
1375
1376 * gencode.c (build_instruction): Follow sim_write's lead in using
1377 BigEndianMem instead of !ByteSwapMem.
1378
122edc03
AC
1379Fri Oct 24 17:41:49 1997 Andrew Cagney <cagney@b1.cygnus.com>
1380
1381 * configure.in (sim_gen): Dependent on target, select type of
1382 generator. Always select old style generator.
1383
1384 configure: Re-generate.
1385
1386 Makefile.in (tmp-igen, tmp-m16, clean-m16, clean-igen): New
1387 targets.
1388 (SIM_M16_CFLAGS, SIM_M16_ALL, SIM_M16_OBJ, BUILT_SRC_FROM_M16,
1389 SIM_IGEN_CFLAGS, SIM_IGEN_ALL, SIM_IGEN_OBJ, BUILT_SRC_FROM_IGEN,
1390 IGEN_TRACE, IGEN_INSN, IGEN_DC): Define
1391 (SIM_EXTRA_CFLAGS, SIM_EXTRA_ALL, SIM_OBJS): Add member
1392 SIM_@sim_gen@_*, set by autoconf.
1393
dad6f1f3
AC
1394Wed Oct 22 12:52:06 1997 Andrew Cagney <cagney@b1.cygnus.com>
1395
1396 * sim-main.h (NULLIFY_NEXT_INSTRUCTION, DELAY_SLOT): Define.
1397
1398 * interp.c (ColdReset): Remove #ifdef HASFPU, check
1399 CURRENT_FLOATING_POINT instead.
1400
1401 * interp.c (ifetch32): New function. Fetch 32 bit instruction.
1402 (address_translation): Raise exception InstructionFetch when
1403 translation fails and isINSTRUCTION.
1404
1405 * interp.c (sim_open, sim_write, sim_monitor, store_word,
1406 sim_engine_run): Change type of of vaddr and paddr to
1407 address_word.
1408 (address_translation, prefetch, load_memory, store_memory,
1409 cache_op): Change type of vAddr and pAddr to address_word.
1410
1411 * gencode.c (build_instruction): Change type of vaddr and paddr to
1412 address_word.
1413
92ad193b
AC
1414Mon Oct 20 15:29:04 1997 Andrew Cagney <cagney@b1.cygnus.com>
1415
1416 * sim-main.h (ALU64_END, ALU32_END): Use ALU*_OVERFLOW_RESULT
1417 macro to obtain result of ALU op.
1418
aa324b9b
AC
1419Tue Oct 21 17:39:14 1997 Andrew Cagney <cagney@b1.cygnus.com>
1420
1421 * interp.c (sim_info): Call profile_print.
1422
e2f8ffb7
AC
1423Mon Oct 20 13:31:20 1997 Andrew Cagney <cagney@b1.cygnus.com>
1424
1425 * Makefile.in (SIM_OBJS): Add sim-profile.o module.
1426
1427 * sim-main.h (WITH_PROFILE): Do not define, defined in
1428 common/sim-config.h. Use sim-profile module.
1429 (simPROFILE): Delete defintion.
1430
1431 * interp.c (PROFILE): Delete definition.
1432 (mips_option_handler): Delete 'p', 'y' and 'x' profile options.
1433 (sim_close): Delete code writing profile histogram.
1434 (mips_set_profile, mips_set_profile_size, writeout16, writeout32):
1435 Delete.
1436 (sim_engine_run): Delete code profiling the PC.
1437
fb5a2a3e
AC
1438Mon Oct 20 13:31:20 1997 Andrew Cagney <cagney@b1.cygnus.com>
1439
1440 * sim-main.h (SIGNEXTEND): Force type of result to unsigned_word.
1441
1442 * interp.c (sim_monitor): Make register pointers of type
1443 unsigned_word*.
1444
1445 * sim-main.h: Make registers of type unsigned_word not
1446 signed_word.
1447
ea985d24
AC
1448Thu Oct 16 10:31:39 1997 Andrew Cagney <cagney@b1.cygnus.com>
1449
1450start-sanitize-r5900
1451 * sim-main.h (BYTES_IN_MMI_REGS, ..., SUB_REG_FETCH, ..., GPR_SB,
1452 ...): Move to sim-main.h
1453
1454end-sanitize-r5900
1455 * interp.c (sync_operation): Rename from SyncOperation, make
1456 global, add SD argument.
1457 (prefetch): Rename from Prefetch, make global, add SD argument.
1458 (decode_coproc): Make global.
1459
1460 * sim-main.h (SyncOperation, DecodeCoproc, Pefetch): Define.
1461
1462 * gencode.c (build_instruction): Generate DecodeCoproc not
1463 decode_coproc calls.
1464
1465 * interp.c (SETFCC, GETFCC, PREVCOC1): Move to sim-main.h
1466 (SizeFGR): Move to sim-main.h
1467 (simHALTEX, simHALTIN, simTRACE, simPROFILE, simDELAYSLOT,
1468 simSIGINT, simJALDELAYSLOT): Move to sim-main.h
1469 (FP_FLAGS, FP_ENABLE, FP_CAUSE, IR, UF, OF, DZ, IO, UO): Move to
1470 sim-main.h.
1471 (FP_FS, FP_MASK_RM, FP_SH_RM, FP_RM_NEAREST, FP_RM_TOPINF,
1472 FP_RM_TOMINF, GETRM): Move to sim-main.h.
1473 (Uncached, CachedNoncoherent, CachedCoherent, Cached,
1474 isINSTRUCTION, ..., AccessLength_BYTE, ...): Move to sim-main.h.
1475 (UserMode, BigEndianMem, ByteSwapMem, ReverseEndian,
1476 BigEndianCPU, status_KSU_mask, ...). Moved to sim-main.h
1477
1478 * sim-main.h (ALU32_END, ALU64_END): Define. When overflow raise
1479 exception.
1480 (sim-alu.h): Include.
1481 (NULLIFY_NIA, NULL_CIA, CPU_CIA): Define.
1482 (sim_cia): Typedef to instruction_address.
1483
284e759d
AC
1484Thu Oct 16 10:31:41 1997 Andrew Cagney <cagney@b1.cygnus.com>
1485
1486 * Makefile.in (interp.o): Rename generated file engine.c to
1487 oengine.c.
1488
1489 * interp.c: Update.
1490
339fb149
AC
1491Thu Oct 16 10:31:40 1997 Andrew Cagney <cagney@b1.cygnus.com>
1492
1493 * gencode.c (build_instruction): Use FPR_STATE not fpr_state.
1494
8b70f837
AC
1495Thu Oct 16 10:31:39 1997 Andrew Cagney <cagney@b1.cygnus.com>
1496
1497 * gencode.c (build_instruction): For "FPSQRT", output correct
1498 number of arguments to Recip.
1499
0c2c5f61
AC
1500Tue Oct 14 17:38:18 1997 Andrew Cagney <cagney@b1.cygnus.com>
1501
1502 * Makefile.in (interp.o): Depends on sim-main.h
1503
1504 * interp.c (mips16_entry, ColdReset,dotrace): Add SD argument. Use GPR not registers.
1505
1506 * sim-main.h (sim_cpu): Add registers, register_widths, fpr_state,
1507 ipc, dspc, pending_*, hiaccess, loaccess, state, dsstate fields.
1508 (REGISTERS, REGISTER_WIDTHS, FPR_STATE, IPC, DSPC, PENDING_*,
1509 STATE, DSSTATE): Define
1510 (GPR, FGRIDX, ..): Define.
1511
1512 * interp.c (registers, register_widths, fpr_state, ipc, dspc,
1513 pending_*, hiaccess, loaccess, state, dsstate): Delete globals.
1514 (GPR, FGRIDX, ...): Delete macros.
1515
1516 * interp.c: Update names to match defines from sim-main.h
1517
18c64df6
AC
1518Tue Oct 14 15:11:45 1997 Andrew Cagney <cagney@b1.cygnus.com>
1519
1520 * interp.c (sim_monitor): Add SD argument.
1521 (sim_warning): Delete. Replace calls with calls to
1522 sim_io_eprintf.
1523 (sim_error): Delete. Replace calls with sim_io_error.
1524 (open_trace, writeout32, writeout16, getnum): Add SD argument.
1525 (mips_set_profile): Rename from sim_set_profile. Add SD argument.
1526 (mips_set_profile_size): Rename from sim_set_profile_size. Add SD
1527 argument.
1528 (mips_size): Rename from sim_size. Add SD argument.
1529
1530 * interp.c (simulator): Delete global variable.
1531 (callback): Delete global variable.
1532 (mips_option_handler, sim_open, sim_write, sim_read,
1533 sim_store_register, sim_fetch_register, sim_info, sim_do_command,
1534 sim_size,sim_monitor): Use sim_io_* not callback->*.
1535 (sim_open): ZALLOC simulator struct.
1536 (PROFILE): Do not define.
1537
1538Tue Oct 14 13:35:48 1997 Andrew Cagney <cagney@b1.cygnus.com>
1539
1540 * interp.c (sim_open), support.h: Replace CHECKSIM macro found in
1541 support.h with corresponding code.
1542
1543 * sim-main.h (word64, uword64), support.h: Move definition to
1544 sim-main.h.
1545 (WORD64LO, WORD64HI, SET64LO, SET64HI, WORD64, UWORD64): Ditto.
1546
1547 * support.h: Delete
1548 * Makefile.in: Update dependencies
1549 * interp.c: Do not include.
1550
1551Tue Oct 14 13:35:48 1997 Andrew Cagney <cagney@b1.cygnus.com>
1552
1553 * interp.c (address_translation, load_memory, store_memory,
1554 cache_op): Rename to from AddressTranslation et.al., make global,
1555 add SD argument
1556
1557 * sim-main.h (AddressTranslation, LoadMemory, StoreMemory,
1558 CacheOp): Define.
1559
1560 * interp.c (SignalException): Rename to signal_exception, make
1561 global.
1562
1563 * interp.c (Interrupt, ...): Move definitions to sim-main.h.
1564
1565 * sim-main.h (SignalException, SignalExceptionInterrupt,
1566 SignalExceptionInstructionFetch, SignalExceptionAddressStore,
1567 SignalExceptionAddressLoad, SignalExceptionSimulatorFault,
1568 SignalExceptionIntegerOverflow, SignalExceptionCoProcessorUnusable):
1569 Define.
1570
1571 * interp.c, support.h: Use.
1572
1573Tue Oct 14 13:19:20 1997 Andrew Cagney <cagney@b1.cygnus.com>
1574
1575 * interp.c (ValueFPR, StoreFPR), sim-main.h: Make global, rename
1576 to value_fpr / store_fpr. Add SD argument.
1577 (NaN, Infinity, Less, Equal, AbsoluteValue, Negate, Add, Sub,
1578 Multiply, Divide, Recip, SquareRoot, Convert): Make global.
1579
1580 * sim-main.h (ValueFPR, StoreFPR): Define.
1581
1582Tue Oct 14 13:06:55 1997 Andrew Cagney <cagney@b1.cygnus.com>
1583
1584 * interp.c (sim_engine_run): Check consistency between configure
1585 WITH_TARGET_WORD_BITSIZE and WITH_FLOATING_POINT and gensim GPRLEN
1586 and HASFPU.
1587
1588 * configure.in (mips_bitsize): Configure WITH_TARGET_WORD_BITSIZE.
1589 (mips_fpu): Configure WITH_FLOATING_POINT.
1590 (mips_endian): Configure WITH_TARGET_ENDIAN.
1591 * configure: Update.
1592
1593Fri Oct 3 09:28:00 1997 Andrew Cagney <cagney@b1.cygnus.com>
1594
1595 * configure: Regenerated to track ../common/aclocal.m4 changes.
1596
adf4739e
AC
1597start-sanitize-r5900
1598Mon Aug 25 19:11:15 1997 Andrew Cagney <cagney@b1.cygnus.com>
1599
1600 * interp.c (MAX_REG): Allow up-to 128 registers.
1601 (LO1, HI1): Define value that matches REGISTER_NAMES in gdb.
1602 (REGISTER_SA): Ditto.
1603 (sim_open): Initialize register_widths for r5900 specific
1604 registers.
1605 (sim_fetch_register, sim_store_register): Check for request of
1606 r5900 specific SA register. Check for request for hi 64 bits of
1607 r5900 specific registers.
1608
1609end-sanitize-r5900
26b20b0a
BM
1610Mon Sep 29 14:45:00 1997 Bob Manson <manson@charmed.cygnus.com>
1611
1612 * configure: Regenerated.
1613
6eedf3f4
MA
1614Fri Sep 26 12:48:18 1997 Mark Alexander <marka@cygnus.com>
1615
1616 * interp.c: Allow Debug, DEPC, and EPC registers to be examined in GDB.
1617
e63bc706
AC
1618Thu Sep 25 11:15:22 1997 Andrew Cagney <cagney@b1.cygnus.com>
1619
6eedf3f4
MA
1620 * gencode.c (print_igen_insn_models): Assume certain architectures
1621 include all mips* instructions.
1622 (print_igen_insn_format): Use data_size==-1 as marker for MIPS16
1623 instruction.
1624
e63bc706
AC
1625 * Makefile.in (tmp.igen): Add target. Generate igen input from
1626 gencode file.
1627
1628 * gencode.c (FEATURE_IGEN): Define.
1629 (main): Add --igen option. Generate output in igen format.
1630 (process_instructions): Format output according to igen option.
1631 (print_igen_insn_format): New function.
1632 (print_igen_insn_models): New function.
1633 (process_instructions): Only issue warnings and ignore
1634 instructions when no FEATURE_IGEN.
1635
eb2e3c85
AC
1636Wed Sep 24 17:38:57 1997 Andrew Cagney <cagney@b1.cygnus.com>
1637
1638 * interp.c (COP_SD, COP_LD): Add UNUSED to pacify GCC for some
1639 MIPS targets.
1640
92f91d1f
AC
1641Tue Sep 23 11:04:38 1997 Andrew Cagney <cagney@b1.cygnus.com>
1642
1643 * configure: Regenerated to track ../common/aclocal.m4 changes.
1644
1645Tue Sep 23 10:19:51 1997 Andrew Cagney <cagney@b1.cygnus.com>
1646
1647 * Makefile.in (SIM_ALIGNMENT, SIM_ENDIAN, SIM_HOSTENDIAN,
1648 SIM_RESERVED_BITS): Delete, moved to common.
1649 (SIM_EXTRA_CFLAGS): Update.
1650
794e9ac9
AC
1651Mon Sep 22 11:46:20 1997 Andrew Cagney <cagney@b1.cygnus.com>
1652
76a6247f 1653 * configure.in: Configure non-strict memory alignment.
794e9ac9
AC
1654 * configure: Regenerated to track ../common/aclocal.m4 changes.
1655
b45caf05
AC
1656Fri Sep 19 17:45:25 1997 Andrew Cagney <cagney@b1.cygnus.com>
1657
1658 * configure: Regenerated to track ../common/aclocal.m4 changes.
1659
1660Sat Sep 20 14:07:28 1997 Gavin Koch <gavin@cygnus.com>
1661
1662 * gencode.c (SDBBP,DERET): Added (3900) insns.
1663 (RFE): Turn on for 3900.
1664 * interp.c (DebugBreakPoint,DEPC,Debug,Debug_*): Added.
1665 (dsstate): Made global.
1666 (SUBTARGET_R3900): Added.
1667 (CANCELDELAYSLOT): New.
1668 (SignalException): Ignore SystemCall rather than ignore and
1669 terminate. Add DebugBreakPoint handling.
1670 (decode_coproc): New insns RFE, DERET; and new registers Debug
1671 and DEPC protected by SUBTARGET_R3900.
1672 (sim_engine_run): Use CANCELDELAYSLOT rather than clearing
1673 bits explicitly.
1674 * Makefile.in,configure.in: Add mips subtarget option.
1675 * configure: Update.
1676
7afa8d4e
GRK
1677Fri Sep 19 09:33:27 1997 Gavin Koch <gavin@cygnus.com>
1678
1679 * gencode.c: Add r3900 (tx39).
1680
1681start-sanitize-tx19
1682 * gencode.c: Fix some configuration problems by improving
1683 the relationship between tx19 and tx39.
1684end-sanitize-tx19
1685
667065d0
GRK
1686Tue Sep 16 15:52:04 1997 Gavin Koch <gavin@cygnus.com>
1687
1688 * gencode.c (build_instruction): Don't need to subtract 4 for
1689 JALR, just 2.
1690
9cb8397f
GRK
1691Tue Sep 16 11:32:28 1997 Gavin Koch <gavin@cygnus.com>
1692
1693 * interp.c: Correct some HASFPU problems.
1694
a2ab5e65
AC
1695Mon Sep 15 17:36:15 1997 Andrew Cagney <cagney@b1.cygnus.com>
1696
1697 * configure: Regenerated to track ../common/aclocal.m4 changes.
1698
11ac69e0
AC
1699Fri Sep 12 12:01:39 1997 Andrew Cagney <cagney@b1.cygnus.com>
1700
1701 * interp.c (mips_options): Fix samples option short form, should
1702 be `x'.
1703
972f3a34
AC
1704Thu Sep 11 09:35:29 1997 Andrew Cagney <cagney@b1.cygnus.com>
1705
1706 * interp.c (sim_info): Enable info code. Was just returning.
1707
9eeaaefa
AC
1708Tue Sep 9 17:30:57 1997 Andrew Cagney <cagney@b1.cygnus.com>
1709
1710 * interp.c (decode_coproc): Clarify warning about unsuported MTC0,
1711 MFC0.
1712
c31c13b4
AC
1713Tue Sep 9 16:28:28 1997 Andrew Cagney <cagney@b1.cygnus.com>
1714
1715 * gencode.c (build_instruction): Use SIGNED64 for 64 bit
1716 constants.
1717 (build_instruction): Ditto for LL.
1718
b637f306
GRK
1719start-sanitize-tx19
1720Sun Sep 7 16:05:46 1997 Gavin Koch <gavin@cygnus.com>
1721
1722 * mips/configure.in, mips/gencode: Add tx19/r1900.
1723
1724end-sanitize-tx19
6fea4763
DE
1725Thu Sep 4 17:21:23 1997 Doug Evans <dje@seba>
1726
1727 * configure: Regenerated to track ../common/aclocal.m4 changes.
1728
52352d38
AC
1729start-sanitize-r5900
1730Mon Sep 1 18:43:30 1997 Andrew Cagney <cagney@b1.cygnus.com>
1731
1732 * gencode.c (build_instruction): For "pabsw" and "pabsh", check
1733 for overflow due to ABS of MININT, set result to MAXINT.
1734 (build_instruction): For "psrlvw", signextend bit 31.
1735
1736end-sanitize-r5900
88117054
AC
1737Wed Aug 27 18:13:22 1997 Andrew Cagney <cagney@b1.cygnus.com>
1738
1739 * configure: Regenerated to track ../common/aclocal.m4 changes.
1740 * config.in: Ditto.
1741
fafce69a
AC
1742Wed Aug 27 14:12:27 1997 Andrew Cagney <cagney@b1.cygnus.com>
1743
1744 * interp.c (sim_open): Add call to sim_analyze_program, update
1745 call to sim_config.
1746
7230ff0f
AC
1747Tue Aug 26 10:40:07 1997 Andrew Cagney <cagney@b1.cygnus.com>
1748
1749 * interp.c (sim_kill): Delete.
fafce69a
AC
1750 (sim_create_inferior): Add ABFD argument. Set PC from same.
1751 (sim_load): Move code initializing trap handlers from here.
1752 (sim_open): To here.
1753 (sim_load): Delete, use sim-hload.c.
1754
1755 * Makefile.in (SIM_OBJS): Add sim-hload.o module.
7230ff0f 1756
247fccde
AC
1757Mon Aug 25 17:50:22 1997 Andrew Cagney <cagney@b1.cygnus.com>
1758
1759 * configure: Regenerated to track ../common/aclocal.m4 changes.
1760 * config.in: Ditto.
1761
1762Mon Aug 25 15:59:48 1997 Andrew Cagney <cagney@b1.cygnus.com>
1763
1764 * interp.c (sim_open): Add ABFD argument.
1765 (sim_load): Move call to sim_config from here.
1766 (sim_open): To here. Check return status.
1767
1768start-sanitize-r5900
1769 * gencode.c (build_instruction): Do not define x8000000000000000,
1770 x7FFFFFFFFFFFFFFF, or xFFFFFFFF80000000.
1771
1772end-sanitize-r5900
1773start-sanitize-r5900
1774Mon Jul 28 19:49:29 1997 Andrew Cagney <cagney@b1.cygnus.com>
1775
1776 * gencode.c (build_instruction): For "pdivw", "pdivbw" and
1777 "pdivuw" check for overflow due to signed divide by -1.
1778
1779end-sanitize-r5900
c12e2e4c
GRK
1780Fri Jul 25 15:00:45 1997 Gavin Koch <gavin@cygnus.com>
1781
1782 * gencode.c (build_instruction): Two arg MADD should
1783 not assign result to $0.
1784
1e851d2c
AC
1785start-sanitize-r5900
1786Thu Jul 10 11:58:48 1997 Andrew Cagney <cagney@critters.cygnus.com>
1787
1788 * gencode.c (build_instruction): For "ppac5" use unsigned
1789 arrithmetic so that the sign bit doesn't smear when right shifted.
1790 (build_instruction): For "pdiv" perform sign extension when
1791 storing results in HI and LO.
1792 (build_instructions): For "pdiv" and "pdivbw" check for
1793 divide-by-zero.
1794 (build_instruction): For "pmfhl.slw" update hi part of dest
1795 register as well as low part.
1796 (build_instruction): For "pmfhl" portably handle long long values.
1797 (build_instruction): For "pmfhl.sh" correctly negative values.
1798 Store half words 2 and three in the correct place.
1799 (build_instruction): For "psllvw", sign extend value after shift.
1800
1801end-sanitize-r5900
1802Thu Jun 26 12:13:17 1997 Angela Marie Thomas (angela@cygnus.com)
1803
1804 * sim/mips/configure: Change default_sim_endian to 0 (bi-endian)
1805 * sim/mips/configure.in: Regenerate.
1806
1807Wed Jul 9 10:29:21 1997 Andrew Cagney <cagney@critters.cygnus.com>
1808
1809 * interp.c (SUB_REG_UW, SUB_REG_SW, SUB_REG_*): Use more explicit
1810 signed8, unsigned8 et.al. types.
1811
1812start-sanitize-r5900
1813 * gencode.c (build_instruction): For PMULTU* do not sign extend
1814 registers. Make generated code easier to debug.
1815
1816end-sanitize-r5900
1817 * interp.c (SUB_REG_FETCH): Handle both little and big endian
1818 hosts when selecting subreg.
1819
1820start-sanitize-r5900
1821Tue Jul 8 18:07:20 1997 Andrew Cagney <cagney@andros.cygnus.com>
1822
1823 * gencode.c (type_for_data_len): For 32bit operations concerned
1824 with overflow, perform op using 64bits.
1825 (build_instruction): For PADD, always compute operation using type
1826 returned by type_for_data_len.
1827 (build_instruction): For PSUBU, when overflow, saturate to zero as
1828 actually underflow.
1829
1830end-sanitize-r5900
ae19b07b
JL
1831Wed Jul 2 11:54:10 1997 Jeffrey A Law (law@cygnus.com)
1832
649625bb 1833start-sanitize-r5900
64435234
JL
1834 * gencode.c (build_instruction): Handle "pext5" according to
1835 version 1.95 of the r5900 ISA.
1836
649625bb
JL
1837 * gencode.c (build_instruction): Handle "ppac5" according to
1838 version 1.95 of the r5900 ISA.
649625bb 1839
1e851d2c 1840end-sanitize-r5900
05d1322f
JL
1841 * interp.c (sim_engine_run): Reset the ZERO register to zero
1842 regardless of FEATURE_WARN_ZERO.
ae19b07b
JL
1843 * gencode.c (FEATURE_WARNINGS): Remove FEATURE_WARN_ZERO.
1844
1845Wed Jun 4 10:43:14 1997 Andrew Cagney <cagney@b1.cygnus.com>
1846
1847 * interp.c (decode_coproc): Implement MTC0 N, CAUSE.
1848 (SignalException): For BreakPoints ignore any mode bits and just
1849 save the PC.
1850 (SignalException): Always set the CAUSE register.
1851
56e7c849
AC
1852Tue Jun 3 05:00:33 1997 Andrew Cagney <cagney@b1.cygnus.com>
1853
1854 * interp.c (SignalException): Clear the simDELAYSLOT flag when an
1855 exception has been taken.
1856
1857 * interp.c: Implement the ERET and mt/f sr instructions.
1858
ae19b07b 1859start-sanitize-r5900
56e7c849
AC
1860Mon Jun 2 23:28:19 1997 Andrew Cagney <cagney@b1.cygnus.com>
1861
1862 * gencode.c (build_instruction): For paddu, extract unsigned
1863 sub-fields.
1864
1865 * gencode.c (build_instruction): Saturate padds instead of padd
1866 instructions.
1867
1868end-sanitize-r5900
1869Sat May 31 00:44:16 1997 Andrew Cagney <cagney@b1.cygnus.com>
1870
1871 * interp.c (SignalException): Don't bother restarting an
1872 interrupt.
1873
1874Fri May 30 23:41:48 1997 Andrew Cagney <cagney@b1.cygnus.com>
1875
1876 * interp.c (SignalException): Really take an interrupt.
1877 (interrupt_event): Only deliver interrupts when enabled.
1878
1879Tue May 27 20:08:06 1997 Andrew Cagney <cagney@b1.cygnus.com>
1880
1881 * interp.c (sim_info): Only print info when verbose.
1882 (sim_info) Use sim_io_printf for output.
1883
2f2e6c5d
AC
1884Tue May 27 14:22:23 1997 Andrew Cagney <cagney@b1.cygnus.com>
1885
1886 * interp.c (CoProcPresent): Add UNUSED attribute - not used by all
1887 mips architectures.
1888
1889Tue May 27 14:22:23 1997 Andrew Cagney <cagney@b1.cygnus.com>
1890
1891 * interp.c (sim_do_command): Check for common commands if a
1892 simulator specific command fails.
1893
d3d2a9f7
GRK
1894Thu May 22 09:32:03 1997 Gavin Koch <gavin@cygnus.com>
1895
1896 * interp.c (sim_engine_run): ifdef out uses of simSTOP, simSTEP
1897 and simBE when DEBUG is defined.
1898
50a2a691
AC
1899Wed May 21 09:08:10 1997 Andrew Cagney <cagney@b1.cygnus.com>
1900
1901 * interp.c (interrupt_event): New function. Pass exception event
1902 onto exception handler.
1903
1904 * configure.in: Check for stdlib.h.
1905 * configure: Regenerate.
1906
1907 * gencode.c (build_instruction): Add UNUSED attribute to tempS
1908 variable declaration.
1909 (build_instruction): Initialize memval1.
1910 (build_instruction): Add UNUSED attribute to byte, bigend,
1911 reverse.
1912 (build_operands): Ditto.
1913
1914 * interp.c: Fix GCC warnings.
1915 (sim_get_quit_code): Delete.
1916
1917 * configure.in: Add INLINE, ENDIAN, HOSTENDIAN and WARNINGS.
1918 * Makefile.in: Ditto.
1919 * configure: Re-generate.
1920
1921 * Makefile.in (SIM_OBJS): Add sim-watch.o module.
1922
1923Tue May 20 15:08:56 1997 Andrew Cagney <cagney@b1.cygnus.com>
1924
1925 * interp.c (mips_option_handler): New function parse argumes using
1926 sim-options.
1927 (myname): Replace with STATE_MY_NAME.
1928 (sim_open): Delete check for host endianness - performed by
1929 sim_config.
1930 (simHOSTBE, simBE): Delete, replaced by sim-endian flags.
1931 (sim_open): Move much of the initialization from here.
1932 (sim_load): To here. After the image has been loaded and
1933 endianness set.
1934 (sim_open): Move ColdReset from here.
1935 (sim_create_inferior): To here.
1936 (sim_open): Make FP check less dependant on host endianness.
1937
1938 * Makefile.in (SIM_RUN_OBJS): Set to nrun.o - use new version or
1939 run.
1940 * interp.c (sim_set_callbacks): Delete.
1941
1942 * interp.c (membank, membank_base, membank_size): Replace with
1943 STATE_MEMORY, STATE_MEM_SIZE, STATE_MEM_BASE.
1944 (sim_open): Remove call to callback->init. gdb/run do this.
1945
1946 * interp.c: Update
1947
1948 * sim-main.h (SIM_HAVE_FLATMEM): Define.
1949
1950 * interp.c (big_endian_p): Delete, replaced by
1951 current_target_byte_order.
1952
1953Tue May 20 13:55:00 1997 Andrew Cagney <cagney@b1.cygnus.com>
1954
1955 * interp.c (host_read_long, host_read_word, host_swap_word,
1956 host_swap_long): Delete. Using common sim-endian.
1957 (sim_fetch_register, sim_store_register): Use H2T.
1958 (pipeline_ticks): Delete. Handled by sim-events.
1959 (sim_info): Update.
1960 (sim_engine_run): Update.
1961
1962Tue May 20 13:42:03 1997 Andrew Cagney <cagney@b1.cygnus.com>
1963
1964 * interp.c (sim_stop_reason): Move code determining simEXCEPTION
1965 reason from here.
1966 (SignalException): To here. Signal using sim_engine_halt.
1967 (sim_stop_reason): Delete, moved to common.
1968
1969Tue May 20 10:19:48 1997 Andrew Cagney <cagney@b2.cygnus.com>
1970
1971 * interp.c (sim_open): Add callback argument.
1972 (sim_set_callbacks): Delete SIM_DESC argument.
1973 (sim_size): Ditto.
1974
2e61a3ad
AC
1975Mon May 19 18:20:38 1997 Andrew Cagney <cagney@b1.cygnus.com>
1976
1977 * Makefile.in (SIM_OBJS): Add common modules.
1978
1979 * interp.c (sim_set_callbacks): Also set SD callback.
1980 (set_endianness, xfer_*, swap_*): Delete.
1981 (host_read_word, host_read_long, host_swap_word, host_swap_long):
1982 Change to functions using sim-endian macros.
1983 (control_c, sim_stop): Delete, use common version.
1984 (simulate): Convert into.
1985 (sim_engine_run): This function.
1986 (sim_resume): Delete.
1987
1988 * interp.c (simulation): New variable - the simulator object.
1989 (sim_kind): Delete global - merged into simulation.
1990 (sim_load): Cleanup. Move PC assignment from here.
1991 (sim_create_inferior): To here.
1992
1993 * sim-main.h: New file.
1994 * interp.c (sim-main.h): Include.
1995
1996Thu Apr 24 00:39:51 1997 Doug Evans <dje@canuck.cygnus.com>
1997
1998 * configure: Regenerated to track ../common/aclocal.m4 changes.
1999
3be0e228
DE
2000Wed Apr 23 17:32:19 1997 Doug Evans <dje@canuck.cygnus.com>
2001
2002 * tconfig.in (SIM_HAVE_BIENDIAN): Define.
2003
d654ba0a
GRK
2004Mon Apr 21 17:16:13 1997 Gavin Koch <gavin@cygnus.com>
2005
2006 * gencode.c (build_instruction): DIV instructions: check
2007 for division by zero and integer overflow before using
2008 host's division operation.
2009
9d52bcb7
DE
2010Thu Apr 17 03:18:14 1997 Doug Evans <dje@canuck.cygnus.com>
2011
2012 * Makefile.in (SIM_OBJS): Add sim-load.o.
2013 * interp.c: #include bfd.h.
2014 (target_byte_order): Delete.
2015 (sim_kind, myname, big_endian_p): New static locals.
2016 (sim_open): Set sim_kind, myname. Move call to set_endianness to
2017 after argument parsing. Recognize -E arg, set endianness accordingly.
2018 (sim_load): Return SIM_RC. New arg abfd. Call sim_load_file to
2019 load file into simulator. Set PC from bfd.
2020 (sim_create_inferior): Return SIM_RC. Delete arg start_address.
2021 (set_endianness): Use big_endian_p instead of target_byte_order.
2022
87e43259
AC
2023Wed Apr 16 17:55:37 1997 Andrew Cagney <cagney@b1.cygnus.com>
2024
2025 * interp.c (sim_size): Delete prototype - conflicts with
2026 definition in remote-sim.h. Correct definition.
2027
2028Mon Apr 7 15:45:02 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
2029
2030 * configure: Regenerated to track ../common/aclocal.m4 changes.
2031 * config.in: Ditto.
2032
fbda74b1
DE
2033Wed Apr 2 15:06:28 1997 Doug Evans <dje@canuck.cygnus.com>
2034
8a7c3105
DE
2035 * interp.c (sim_open): New arg `kind'.
2036
fbda74b1
DE
2037 * configure: Regenerated to track ../common/aclocal.m4 changes.
2038
a35e91c3
AC
2039Wed Apr 2 14:34:19 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
2040
2041 * configure: Regenerated to track ../common/aclocal.m4 changes.
2042
2043Tue Mar 25 11:38:22 1997 Doug Evans <dje@canuck.cygnus.com>
2044
2045 * interp.c (sim_open): Set optind to 0 before calling getopt.
2046
2047Wed Mar 19 01:14:00 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
2048
2049 * configure: Regenerated to track ../common/aclocal.m4 changes.
2050
6efa34d8
GRK
2051Mon Mar 17 10:52:59 1997 Gavin Koch <gavin@cetus.cygnus.com>
2052
2053 * interp.c : Replace uses of pr_addr with pr_uword64
2054 where the bit length is always 64 independent of SIM_ADDR.
2055 (pr_uword64) : added.
2056
a77aa7ec
AC
2057Mon Mar 17 15:10:07 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
2058
2059 * configure: Re-generate.
2060
601fb8ae
MM
2061Fri Mar 14 10:34:11 1997 Michael Meissner <meissner@cygnus.com>
2062
2063 * configure: Regenerate to track ../common/aclocal.m4 changes.
2064
53b9417e
DE
2065Thu Mar 13 12:51:36 1997 Doug Evans <dje@canuck.cygnus.com>
2066
2067 * interp.c (sim_open): New SIM_DESC result. Argument is now
2068 in argv form.
2069 (other sim_*): New SIM_DESC argument.
2070
2071start-sanitize-r5900
2072Wed Feb 26 18:32:21 1997 Gavin Koch <gavin@cygnus.com>
2073
2074 * gencode.c (POP_AND,POP_OR,POP_NOR,POP_XOR):
2075 Change values to avoid overloading DOUBLEWORD which is tested
2076 for all insns.
2077 * gencode.c: reinstate "offending code".
53b9417e 2078
56e7c849 2079end-sanitize-r5900
53b9417e
DE
2080Mon Feb 24 22:47:14 1997 Dawn Perchik <dawn@cygnus.com>
2081
2082 * interp.c: Fix printing of addresses for non-64-bit targets.
2083 (pr_addr): Add function to print address based on size.
2084start-sanitize-r5900
2085 * gencode.c: #ifdef out offending code until a permanent fix
2086 can be added. Code is causing build errors for non-5900 mips targets.
2087end-sanitize-r5900
2088
2089start-sanitize-r5900
2090Thu Feb 20 10:40:24 1997 Gavin Koch <gavin@cetus.cygnus.com>
2091
2092 * gencode.c (process_instructions): Correct test for ISA dependent
2093 architecture bits in isa field of MIPS_DECODE.
2094
2095end-sanitize-r5900
7e05106d
MA
2096Wed Feb 19 14:42:09 1997 Mark Alexander <marka@cygnus.com>
2097
2098 * interp.c (simopen): Add support for LSI MiniRISC PMON vectors.
2099
2d18fbc6 2100start-sanitize-r5900
53b9417e 2101Tue Feb 18 17:03:47 1997 Gavin Koch <gavin@cygnus.com>
2d18fbc6
GRK
2102
2103 * gencode.c (MIPS_DECODE): Correct instruction feature flags for
2104 PMADDUW.
2105
2106end-sanitize-r5900
2107Thu Feb 13 14:08:30 1997 Ian Lance Taylor <ian@cygnus.com>
2108
2109 * gencode.c (build_mips16_operands): Correct computation of base
2110 address for extended PC relative instruction.
2111
276c2d7d
GRK
2112start-sanitize-r5900
2113Fri Feb 7 11:12:44 1997 Gavin Koch <gavin@cygnus.com>
2d18fbc6
GRK
2114
2115 * Makefile.in, configure, configure.in, gencode.c,
2116 interp.c, support.h: add r5900.
2117
276c2d7d 2118end-sanitize-r5900
da0bce9c
ILT
2119Thu Feb 6 17:16:15 1997 Ian Lance Taylor <ian@cygnus.com>
2120
2121 * interp.c (mips16_entry): Add support for floating point cases.
2122 (SignalException): Pass floating point cases to mips16_entry.
2123 (ValueFPR): Don't restrict fmt_single and fmt_word to even
2124 registers.
2125 (StoreFPR): Likewise. Also, don't clobber fpr + 1 for fmt_single
2126 or fmt_word.
2127 (COP_LW): Pass fmt_word rather than fmt_uninterpreted to StoreFPR,
2128 and then set the state to fmt_uninterpreted.
2129 (COP_SW): Temporarily set the state to fmt_word while calling
2130 ValueFPR.
2131
6389d856
ILT
2132Tue Feb 4 16:48:25 1997 Ian Lance Taylor <ian@cygnus.com>
2133
2134 * gencode.c (build_instruction): The high order may be set in the
2135 comparison flags at any ISA level, not just ISA 4.
2136
19c5af72
DE
2137Tue Feb 4 13:33:30 1997 Doug Evans <dje@canuck.cygnus.com>
2138
2139 * Makefile.in (@COMMON_MAKEFILE_FRAG): Use
2140 COMMON_{PRE,POST}_CONFIG_FRAG instead.
2141 * configure.in: sinclude ../common/aclocal.m4.
2142 * configure: Regenerated.
2143
736a306c
ILT
2144Fri Jan 31 11:11:45 1997 Ian Lance Taylor <ian@cygnus.com>
2145
2146 * configure: Rebuild after change to aclocal.m4.
2147
295dbbe4
SG
2148Thu Jan 23 11:46:23 1997 Stu Grossman (grossman@critters.cygnus.com)
2149
2150 * configure configure.in Makefile.in: Update to new configure
2151 scheme which is more compatible with WinGDB builds.
2152 * configure.in: Improve comment on how to run autoconf.
2153 * configure: Re-run autoconf to get new ../common/aclocal.m4.
2154 * Makefile.in: Use autoconf substitution to install common
2155 makefile fragment.
2156
2157Wed Jan 8 12:39:03 1997 Jim Wilson <wilson@cygnus.com>
2158
2159 * gencode.c (build_instruction): Use BigEndianCPU instead of
2160 ByteSwapMem.
2161
e1db0d47
MA
2162Thu Jan 02 22:23:04 1997 Mark Alexander <marka@cygnus.com>
2163
2164 * interp.c (sim_monitor): Make output to stdout visible in
2165 wingdb's I/O log window.
2166
2902e8ab
MA
2167Tue Dec 31 07:04:00 1996 Mark Alexander <marka@cygnus.com>
2168
2169 * support.h: Undo previous change to SIGTRAP
2170 and SIGQUIT values.
2171
7e6c297e
ILT
2172Mon Dec 30 17:36:06 1996 Ian Lance Taylor <ian@cygnus.com>
2173
2174 * interp.c (store_word, load_word): New static functions.
2175 (mips16_entry): New static function.
2176 (SignalException): Look for mips16 entry and exit instructions.
2177 (simulate): Use the correct index when setting fpr_state after
2178 doing a pending move.
2179
0049ba7a
MA
2180Sun Dec 29 09:37:18 1996 Mark Alexander <marka@cygnus.com>
2181
2182 * interp.c: Fix byte-swapping code throughout to work on
2183 both little- and big-endian hosts.
2184
2510786b
MA
2185Sun Dec 29 09:18:32 1996 Mark Alexander <marka@cygnus.com>
2186
2187 * support.h: Make definitions of SIGTRAP and SIGQUIT consistent
2188 with gdb/config/i386/xm-windows.h.
2189
39bf0ef4
MA
2190Fri Dec 27 22:48:51 1996 Mark Alexander <marka@cygnus.com>
2191
2192 * gencode.c (build_instruction): Work around MSVC++ code gen bug
2193 that messes up arithmetic shifts.
2194
dbeec768
SG
2195Fri Dec 20 11:04:05 1996 Stu Grossman (grossman@critters.cygnus.com)
2196
2197 * support.h: Use _WIN32 instead of __WIN32__. Also add defs for
2198 SIGTRAP and SIGQUIT for _WIN32.
2199
deffd638
ILT
2200Thu Dec 19 14:07:27 1996 Ian Lance Taylor <ian@cygnus.com>
2201
2202 * gencode.c (build_instruction) [MUL]: Cast operands to word64, to
2203 force a 64 bit multiplication.
2204 (build_instruction) [OR]: In mips16 mode, don't do anything if the
2205 destination register is 0, since that is the default mips16 nop
2206 instruction.
2207
aaff8437
ILT
2208Mon Dec 16 14:59:38 1996 Ian Lance Taylor <ian@cygnus.com>
2209
063443cf
ILT
2210 * gencode.c (MIPS16_DECODE): SWRASP is I8, not RI.
2211 (build_endian_shift): Don't check proc64.
2212 (build_instruction): Always set memval to uword64. Cast op2 to
2213 uword64 when shifting it left in memory instructions. Always use
2214 the same code for stores--don't special case proc64.
2215
aaff8437
ILT
2216 * gencode.c (build_mips16_operands): Fix base PC value for PC
2217 relative operands.
2218 (build_instruction): Call JALDELAYSLOT rather than DELAYSLOT for a
2219 jal instruction.
2220 * interp.c (simJALDELAYSLOT): Define.
2221 (JALDELAYSLOT): Define.
2222 (INDELAYSLOT, INJALDELAYSLOT): Define.
2223 (simulate): Clear simJALDELAYSLOT when simDELAYSLOT is cleared.
2224
280f90e1
AMT
2225Tue Dec 24 22:11:20 1996 Angela Marie Thomas (angela@cygnus.com)
2226
2227 * interp.c (sim_open): add flush_cache as a PMON routine
2228 (sim_monitor): handle flush_cache by ignoring it
2229
aaff8437
ILT
2230Wed Dec 11 13:53:51 1996 Jim Wilson <wilson@cygnus.com>
2231
2232 * gencode.c (build_instruction): Use !ByteSwapMem instead of
2233 BigEndianMem.
2234 * interp.c (CONFIG, config_EP_{mask,shift,D,DxxDxx, config_BE): Delete.
2235 (BigEndianMem): Rename to ByteSwapMem and change sense.
2236 (BigEndianCPU, sim_write, LoadMemory, StoreMemory): Change
2237 BigEndianMem references to !ByteSwapMem.
2238 (set_endianness): New function, with prototype.
2239 (sim_open): Call set_endianness.
2240 (sim_info): Use simBE instead of BigEndianMem.
2241 (xfer_direct_word, xfer_direct_long, swap_direct_word,
2242 swap_direct_long, xfer_big_word, xfer_big_long, xfer_little_word,
2243 xfer_little_long, swap_word, swap_long): Delete unnecessary MSC_VER
2244 ifdefs, keeping the prototype declaration.
2245 (swap_word): Rewrite correctly.
2246 (ColdReset): Delete references to CONFIG. Delete endianness related
2247 code; moved to set_endianness.
2248
6429b296
JW
2249Tue Dec 10 11:32:04 1996 Jim Wilson <wilson@cygnus.com>
2250
2251 * gencode.c (build_instruction, case JUMP): Truncate PC to 32 bits.
2252 * interp.c (CHECKHILO): Define away.
2253 (simSIGINT): New macro.
2254 (membank_size): Increase from 1MB to 2MB.
2255 (control_c): New function.
2256 (sim_resume): Rename parameter signal to signal_number. Add local
2257 variable prev. Call signal before and after simulate.
2258 (sim_stop_reason): Add simSIGINT support.
2259 (sim_warning, sim_error, dotrace, SignalException): Define as stdarg
2260 functions always.
2261 (sim_warning): Delete call to SignalException. Do call printf_filtered
2262 if logfh is NULL.
2263 (AddressTranslation): Add #ifdef DEBUG around debugging message and
2264 a call to sim_warning.
2265
2266Wed Nov 27 11:53:50 1996 Ian Lance Taylor <ian@cygnus.com>
2267
2268 * gencode.c (process_instructions): If ! proc64, skip DOUBLEWORD
2269 16 bit instructions.
2270
831f59a2
ILT
2271Tue Nov 26 11:53:12 1996 Ian Lance Taylor <ian@cygnus.com>
2272
2273 Add support for mips16 (16 bit MIPS implementation):
2274 * gencode.c (inst_type): Add mips16 instruction encoding types.
2275 (GETDATASIZEINSN): Define.
2276 (MIPS_DECODE): Add REG flag to dsllv, dsrav, and dsrlv. Add
2277 jalx. Add LEFT flag to mfhi and mflo. Add RIGHT flag to mthi and
2278 mtlo.
2279 (MIPS16_DECODE): New table, for mips16 instructions.
2280 (bitmap_val): New static function.
2281 (struct mips16_op): Define.
2282 (mips16_op_table): New table, for mips16 operands.
2283 (build_mips16_operands): New static function.
2284 (process_instructions): If PC is odd, decode a mips16
2285 instruction. Break out instruction handling into new
2286 build_instruction function.
2287 (build_instruction): New static function, broken out of
2288 process_instructions. Check modifiers rather than flags for SHIFT
2289 bit count and m[ft]{hi,lo} direction.
2290 (usage): Pass program name to fprintf.
2291 (main): Remove unused variable this_option_optind. Change
2292 ``*loptarg++'' to ``loptarg++''.
2293 (my_strtoul): Parenthesize && within ||.
350d33b8 2294 * interp.c (LoadMemory): Accept a halfword pAddr if vAddr is odd.
831f59a2
ILT
2295 (simulate): If PC is odd, fetch a 16 bit instruction, and
2296 increment PC by 2 rather than 4.
2297 * configure.in: Add case for mips16*-*-*.
2298 * configure: Rebuild.
2299
2300Fri Nov 22 08:49:36 1996 Mark Alexander <marka@cygnus.com>
2301
2302 * interp.c: Allow -t to enable tracing in standalone simulator.
2303 Fix garbage output in trace file and error messages.
2304
e3d12c65
DE
2305Wed Nov 20 01:54:37 1996 Doug Evans <dje@canuck.cygnus.com>
2306
2307 * Makefile.in: Delete stuff moved to ../common/Make-common.in.
2308 (SIM_{OBJS,EXTRA_CFLAGS,EXTRA_CLEAN}): Define.
2309 * configure.in: Simplify using macros in ../common/aclocal.m4.
2310 * configure: Regenerated.
2311 * tconfig.in: New file.
2312
2313Tue Nov 12 13:34:00 1996 Dawn Perchik <dawn@cygnus.com>
2314
2315 * interp.c: Fix bugs in 64-bit port.
2316 Use ansi function declarations for msvc compiler.
2317 Initialize and test file pointer in trace code.
2318 Prevent duplicate definition of LAST_EMED_REGNUM.
2319
2320Tue Oct 15 11:07:06 1996 Mark Alexander <marka@cygnus.com>
2321
2322 * interp.c (xfer_big_long): Prevent unwanted sign extension.
2323
2324Thu Sep 26 17:35:00 1996 James G. Smith <jsmith@cygnus.co.uk>
2325
2326 * interp.c (SignalException): Check for explicit terminating
2327 breakpoint value.
2328 * gencode.c: Pass instruction value through SignalException()
2329 calls for Trap, Breakpoint and Syscall.
2330
2331Thu Sep 26 11:35:17 1996 James G. Smith <jsmith@cygnus.co.uk>
2332
2333 * interp.c (SquareRoot): Add HAVE_SQRT check to ensure sqrt() is
2334 only used on those hosts that provide it.
2335 * configure.in: Add sqrt() to list of functions to be checked for.
2336 * config.in: Re-generated.
2337 * configure: Re-generated.
2338
2339Fri Sep 20 15:47:12 1996 Ian Lance Taylor <ian@cygnus.com>
2340
2341 * gencode.c (process_instructions): Call build_endian_shift when
2342 expanding STORE RIGHT, to fix swr.
2343 * support.h (SIGNEXTEND): If the sign bit is not set, explicitly
2344 clear the high bits.
2345 * interp.c (Convert): Fix fmt_single to fmt_long to not truncate.
2346 Fix float to int conversions to produce signed values.
2347
cc5201d7
ILT
2348Thu Sep 19 15:34:17 1996 Ian Lance Taylor <ian@cygnus.com>
2349
458e1f58
ILT
2350 * gencode.c (MIPS_DECODE): Set UNSIGNED for multu instruction.
2351 (process_instructions): Correct handling of nor instruction.
2352 Correct shift count for 32 bit shift instructions. Correct sign
2353 extension for arithmetic shifts to not shift the number of bits in
2354 the type. Fix 64 bit multiply high word calculation. Fix 32 bit
2355 unsigned multiply. Fix ldxc1 and friends to use coprocessor 1.
2356 Fix madd.
c05d1721
ILT
2357 * interp.c (CHECKHILO): Don't set HIACCESS, LOACCESS, or HLPC.
2358 It's OK to have a mult follow a mult. What's not OK is to have a
2359 mult follow an mfhi.
458e1f58 2360 (Convert): Comment out incorrect rounding code.
cc5201d7 2361
f24b7b69
JSC
2362Mon Sep 16 11:38:16 1996 James G. Smith <jsmith@cygnus.co.uk>
2363
2364 * interp.c (sim_monitor): Improved monitor printf
2365 simulation. Tidied up simulator warnings, and added "--log" option
2366 for directing warning message output.
2367 * gencode.c: Use sim_warning() rather than WARNING macro.
2368
2369Thu Aug 22 15:03:12 1996 Ian Lance Taylor <ian@cygnus.com>
2370
2371 * Makefile.in (gencode): Depend upon gencode.o, getopt.o, and
2372 getopt1.o, rather than on gencode.c. Link objects together.
2373 Don't link against -liberty.
2374 (gencode.o, getopt.o, getopt1.o): New targets.
2375 * gencode.c: Include <ctype.h> and "ansidecl.h".
2376 (AND): Undefine after including "ansidecl.h".
2377 (ULONG_MAX): Define if not defined.
2378 (OP_*): Don't define macros; now defined in opcode/mips.h.
2379 (main): Call my_strtoul rather than strtoul.
2380 (my_strtoul): New static function.
2381
2382Wed Jul 17 18:12:38 1996 Stu Grossman (grossman@critters.cygnus.com)
2383
2384 * gencode.c (process_instructions): Generate word64 and uword64
2385 instead of `long long' and `unsigned long long' data types.
2386 * interp.c: #include sysdep.h to get signals, and define default
2387 for SIGBUS.
2388 * (Convert): Work around for Visual-C++ compiler bug with type
2389 conversion.
2390 * support.h: Make things compile under Visual-C++ by using
2391 __int64 instead of `long long'. Change many refs to long long
2392 into word64/uword64 typedefs.
2393
a271d1d9
JM
2394Wed Jun 26 12:24:55 1996 Jason Molenda (crash@godzilla.cygnus.co.jp)
2395
2396 * Makefile.in (bindir, libdir, datadir, mandir, infodir, includedir,
2397 INSTALL_PROGRAM, INSTALL_DATA): Use autoconf-set values.
2398 (docdir): Removed.
2399 * configure.in (AC_PREREQ): autoconf 2.5 or higher.
2400 (AC_PROG_INSTALL): Added.
2401 (AC_PROG_CC): Moved to before configure.host call.
2402 * configure: Rebuilt.
2403
2404Wed Jun 5 08:28:13 1996 James G. Smith <jsmith@cygnus.co.uk>
2405
2406 * configure.in: Define @SIMCONF@ depending on mips target.
2407 * configure: Rebuild.
2408 * Makefile.in (run): Add @SIMCONF@ to control simulator
2409 construction.
2410 * gencode.c: Change LOADDRMASK to 64bit memory model only.
2411 * interp.c: Remove some debugging, provide more detailed error
2412 messages, update memory accesses to use LOADDRMASK.
2413
4fa134be
ILT
2414Mon Jun 3 11:55:03 1996 Ian Lance Taylor <ian@cygnus.com>
2415
2416 * configure.in: Add calls to AC_CONFIG_HEADER, AC_CHECK_HEADERS,
2417 AC_CHECK_LIB, and AC_CHECK_FUNCS. Change AC_OUTPUT to set
2418 stamp-h.
2419 * configure: Rebuild.
2420 * config.in: New file, generated by autoheader.
2421 * interp.c: Include "config.h". Include <stdlib.h>, <string.h>,
2422 and <strings.h> if they exist. Replace #ifdef sun with #ifdef
2423 HAVE_ANINT and HAVE_AINT, as appropriate.
2424 * Makefile.in (run): Use @LIBS@ rather than -lm.
2425 (interp.o): Depend upon config.h.
2426 (Makefile): Just rebuild Makefile.
2427 (clean): Remove stamp-h.
2428 (mostlyclean): Make the same as clean, not as distclean.
2429 (config.h, stamp-h): New targets.
2430
2431Fri May 10 00:41:17 1996 James G. Smith <jsmith@cygnus.co.uk>
2432
2433 * interp.c (ColdReset): Fix boolean test. Make all simulator
2434 globals static.
2435
f7481d45
JSC
2436Wed May 8 15:12:58 1996 James G. Smith <jsmith@cygnus.co.uk>
2437
2438 * interp.c (xfer_direct_word, xfer_direct_long,
2439 swap_direct_word, swap_direct_long, xfer_big_word,
2440 xfer_big_long, xfer_little_word, xfer_little_long,
2441 swap_word,swap_long): Added.
2442 * interp.c (ColdReset): Provide function indirection to
2443 host<->simulated_target transfer routines.
2444 * interp.c (sim_store_register, sim_fetch_register): Updated to
2445 make use of indirected transfer routines.
2446
2447Fri Apr 19 15:48:24 1996 James G. Smith <jsmith@cygnus.co.uk>
2448
2449 * gencode.c (process_instructions): Ensure FP ABS instruction
2450 recognised.
2451 * interp.c (AbsoluteValue): Add routine. Also provide simple PMON
2452 system call support.
2453
8b554809
JSC
2454Wed Apr 10 09:51:38 1996 James G. Smith <jsmith@cygnus.co.uk>
2455
2456 * interp.c (sim_do_command): Complain if callback structure not
2457 initialised.
2458
d0757082
JSC
2459Thu Mar 28 13:50:51 1996 James G. Smith <jsmith@cygnus.co.uk>
2460
2461 * interp.c (Convert): Provide round-to-nearest and round-to-zero
2462 support for Sun hosts.
2463 * Makefile.in (gencode): Ensure the host compiler and libraries
2464 used for cross-hosted build.
2465
e871dd18
JSC
2466Wed Mar 27 14:42:12 1996 James G. Smith <jsmith@cygnus.co.uk>
2467
2468 * interp.c, gencode.c: Some more (TODO) tidying.
2469
2470Thu Mar 7 11:19:33 1996 James G. Smith <jsmith@cygnus.co.uk>
2471
2472 * gencode.c, interp.c: Replaced explicit long long references with
2473 WORD64HI, WORD64LO, SET64HI and SET64LO macro calls.
2474 * support.h (SET64LO, SET64HI): Macros added.
2475
5c59ec43
ILT
2476Wed Feb 21 12:16:21 1996 Ian Lance Taylor <ian@cygnus.com>
2477
2478 * configure: Regenerate with autoconf 2.7.
2479
2480Tue Jan 30 08:48:18 1996 Fred Fish <fnf@cygnus.com>
2481
2482 * interp.c (LoadMemory): Enclose text following #endif in /* */.
2483 * support.h: Remove superfluous "1" from #if.
2484 * support.h (CHECKSIM): Remove stray 'a' at end of line.
2485
2486Mon Dec 4 11:44:40 1995 Jamie Smith <jsmith@cygnus.com>
2487
2488 * interp.c (StoreFPR): Control UndefinedResult() call on
2489 WARN_RESULT manifest.
2490
8bae0a0c
JSC
2491Fri Dec 1 16:37:19 1995 James G. Smith <jsmith@cygnus.co.uk>
2492
2493 * gencode.c: Tidied instruction decoding, and added FP instruction
2494 support.
2495
2496 * interp.c: Added dineroIII, and BSD profiling support. Also
2497 run-time FP handling.
2498
2499Sun Oct 22 00:57:18 1995 James G. Smith <jsmith@pasanda.cygnus.co.uk>
2500
2501 * Changelog, Makefile.in, README.Cygnus, configure, configure.in,
2502 gencode.c, interp.c, support.h: created.
This page took 0.212272 seconds and 4 git commands to generate.