Rewrite the MIPS simulator's memory model so that it uses the generic
[deliverable/binutils-gdb.git] / sim / mips / ChangeLog
1 Wed Nov 5 12:19:56 1997 Andrew Cagney <cagney@b1.cygnus.com>
2
3 * sim-main.h (MAX_INSNS, INSN_NAME): Define.
4
5 * interp.c (load_memory, store_memory): Delete parameter RAW.
6 (sim_read, sim_write): Use sim_core_{read,write}_buffer directly
7 bypassing {load,store}_memory.
8
9 * sim-main.h (ByteSwapMem): Delete definition.
10
11 * Makefile.in (SIM_OBJS): Add sim-memopt module.
12
13 * interp.c (sim_do_command, sim_commands): Delete mips specific
14 commands. Handled by module sim-options.
15
16 * sim-main.h (SIM_HAVE_FLATMEM): Undefine, use sim-core.o module.
17 (WITH_MODULO_MEMORY): Define.
18
19 * interp.c (sim_info): Delete code printing memory size.
20
21 * interp.c (mips_size): Nee sim_size, delete function.
22 (power2): Delete.
23 (monitor, monitor_base, monitor_size): Delete global variables.
24 (sim_open, sim_close): Delete code creating monitor and other
25 memory regions. Use sim-memopts module, via sim_do_commandf, to
26 manage memory regions.
27 (load_memory, store_memory): Use sim-core for memory model.
28
29 * interp.c (address_translation): Delete all memory map code
30 except line forcing 32 bit addresses.
31
32 Wed Nov 5 11:21:11 1997 Andrew Cagney <cagney@b1.cygnus.com>
33
34 * sim-main.h (WITH_TRACE): Delete definition. Enables common
35 trace options.
36
37 * interp.c (logfh, logfile): Delete globals.
38 (sim_open, sim_close): Delete code opening & closing log file.
39 (mips_option_handler): Delete -l and -n options.
40 (OPTION mips_options): Ditto.
41
42 * interp.c (OPTION mips_options): Rename option trace to dinero.
43 (mips_option_handler): Update.
44
45 Wed Nov 5 09:35:59 1997 Andrew Cagney <cagney@b1.cygnus.com>
46
47 * interp.c (fetch_str): New function.
48 (sim_monitor): Rewrite using sim_read & sim_write.
49 (sim_open): Check magic number.
50 (sim_open): Write monitor vectors into memory using sim_write.
51 (MONITOR_BASE, MONITOR_SIZE, MEM_SIZE): Define.
52 (sim_read, sim_write): Simplify - transfer data one byte at a
53 time.
54 (load_memory, store_memory): Clarify meaning of parameter RAW.
55
56 * sim-main.h (isHOST): Defete definition.
57 (isTARGET): Mark as depreciated.
58 (address_translation): Delete parameter HOST.
59
60 * interp.c (address_translation): Delete parameter HOST.
61
62 start-sanitize-tx49
63 Wed Oct 29 14:21:32 1997 Gavin Koch <gavin@cygnus.com>
64
65 * gencode.c: Add tx49 configury and insns.
66 * configure.in: Add tx49 configury.
67 * configure: Update.
68
69 end-sanitize-tx49
70 Wed Oct 29 11:13:56 1997 Andrew Cagney <cagney@b1.cygnus.com>
71
72 * mips.igen:
73
74 * Makefile.in (IGEN_INCLUDE): Files included by mips.igen.
75 (tmp-igen, tmp-m16): Depend on IGEN_INCLUDE.
76
77 Tue Oct 28 11:06:47 1997 Andrew Cagney <cagney@b1.cygnus.com>
78
79 * mips.igen: Add model filter field to records.
80
81 Mon Oct 27 17:53:59 1997 Andrew Cagney <cagney@b1.cygnus.com>
82
83 * Makefile.in (SIM_NO_CFLAGS): Define. Define WITH_IGEN=0.
84
85 interp.c (sim_engine_run): Do not compile function sim_engine_run
86 when WITH_IGEN == 1.
87
88 * configure.in (sim_igen_flags, sim_m16_flags): Set according to
89 target architecture.
90
91 Makefile.in (tmp-igen, tmp-m16): Drop -F and -M options to
92 igen. Replace with configuration variables sim_igen_flags /
93 sim_m16_flags.
94
95 end-sanitize-v5900
96 * r5900.igen: New file. Copy v5900 insns here.
97 start-sanitize-r5900
98 end-sanitize-v5400
99 * vr5400.igen: New file.
100 start-sanitize-vr5400
101 * m16.igen: New file. Copy mips16 insns here.
102 * mips.igen: From here.
103
104 Mon Oct 27 13:53:59 1997 Andrew Cagney <cagney@b1.cygnus.com>
105
106 start-sanitize-vr5400
107 * mips.igen: Tag all mipsIV instructions with vr5400 model.
108
109 * configure.in: Add mips64vr5400 target.
110 * configure: Re-generate.
111
112 end-sanitize-vr5400
113 * Makefile.in (SIM_NO_OBJ): Define, move SIM_M16_OBJ, SIM_IGEN_OBJ
114 to top.
115 (tmp-igen, tmp-m16): Pass -I srcdir to igen.
116
117 Sat Oct 25 16:51:40 1997 Gavin Koch <gavin@cygnus.com>
118
119 * gencode.c (build_instruction): Follow sim_write's lead in using
120 BigEndianMem instead of !ByteSwapMem.
121
122 Fri Oct 24 17:41:49 1997 Andrew Cagney <cagney@b1.cygnus.com>
123
124 * configure.in (sim_gen): Dependent on target, select type of
125 generator. Always select old style generator.
126
127 configure: Re-generate.
128
129 Makefile.in (tmp-igen, tmp-m16, clean-m16, clean-igen): New
130 targets.
131 (SIM_M16_CFLAGS, SIM_M16_ALL, SIM_M16_OBJ, BUILT_SRC_FROM_M16,
132 SIM_IGEN_CFLAGS, SIM_IGEN_ALL, SIM_IGEN_OBJ, BUILT_SRC_FROM_IGEN,
133 IGEN_TRACE, IGEN_INSN, IGEN_DC): Define
134 (SIM_EXTRA_CFLAGS, SIM_EXTRA_ALL, SIM_OBJS): Add member
135 SIM_@sim_gen@_*, set by autoconf.
136
137 Wed Oct 22 12:52:06 1997 Andrew Cagney <cagney@b1.cygnus.com>
138
139 * sim-main.h (NULLIFY_NEXT_INSTRUCTION, DELAY_SLOT): Define.
140
141 * interp.c (ColdReset): Remove #ifdef HASFPU, check
142 CURRENT_FLOATING_POINT instead.
143
144 * interp.c (ifetch32): New function. Fetch 32 bit instruction.
145 (address_translation): Raise exception InstructionFetch when
146 translation fails and isINSTRUCTION.
147
148 * interp.c (sim_open, sim_write, sim_monitor, store_word,
149 sim_engine_run): Change type of of vaddr and paddr to
150 address_word.
151 (address_translation, prefetch, load_memory, store_memory,
152 cache_op): Change type of vAddr and pAddr to address_word.
153
154 * gencode.c (build_instruction): Change type of vaddr and paddr to
155 address_word.
156
157 Mon Oct 20 15:29:04 1997 Andrew Cagney <cagney@b1.cygnus.com>
158
159 * sim-main.h (ALU64_END, ALU32_END): Use ALU*_OVERFLOW_RESULT
160 macro to obtain result of ALU op.
161
162 Tue Oct 21 17:39:14 1997 Andrew Cagney <cagney@b1.cygnus.com>
163
164 * interp.c (sim_info): Call profile_print.
165
166 Mon Oct 20 13:31:20 1997 Andrew Cagney <cagney@b1.cygnus.com>
167
168 * Makefile.in (SIM_OBJS): Add sim-profile.o module.
169
170 * sim-main.h (WITH_PROFILE): Do not define, defined in
171 common/sim-config.h. Use sim-profile module.
172 (simPROFILE): Delete defintion.
173
174 * interp.c (PROFILE): Delete definition.
175 (mips_option_handler): Delete 'p', 'y' and 'x' profile options.
176 (sim_close): Delete code writing profile histogram.
177 (mips_set_profile, mips_set_profile_size, writeout16, writeout32):
178 Delete.
179 (sim_engine_run): Delete code profiling the PC.
180
181 Mon Oct 20 13:31:20 1997 Andrew Cagney <cagney@b1.cygnus.com>
182
183 * sim-main.h (SIGNEXTEND): Force type of result to unsigned_word.
184
185 * interp.c (sim_monitor): Make register pointers of type
186 unsigned_word*.
187
188 * sim-main.h: Make registers of type unsigned_word not
189 signed_word.
190
191 Thu Oct 16 10:31:39 1997 Andrew Cagney <cagney@b1.cygnus.com>
192
193 start-sanitize-r5900
194 * sim-main.h (BYTES_IN_MMI_REGS, ..., SUB_REG_FETCH, ..., GPR_SB,
195 ...): Move to sim-main.h
196
197 end-sanitize-r5900
198 * interp.c (sync_operation): Rename from SyncOperation, make
199 global, add SD argument.
200 (prefetch): Rename from Prefetch, make global, add SD argument.
201 (decode_coproc): Make global.
202
203 * sim-main.h (SyncOperation, DecodeCoproc, Pefetch): Define.
204
205 * gencode.c (build_instruction): Generate DecodeCoproc not
206 decode_coproc calls.
207
208 * interp.c (SETFCC, GETFCC, PREVCOC1): Move to sim-main.h
209 (SizeFGR): Move to sim-main.h
210 (simHALTEX, simHALTIN, simTRACE, simPROFILE, simDELAYSLOT,
211 simSIGINT, simJALDELAYSLOT): Move to sim-main.h
212 (FP_FLAGS, FP_ENABLE, FP_CAUSE, IR, UF, OF, DZ, IO, UO): Move to
213 sim-main.h.
214 (FP_FS, FP_MASK_RM, FP_SH_RM, FP_RM_NEAREST, FP_RM_TOPINF,
215 FP_RM_TOMINF, GETRM): Move to sim-main.h.
216 (Uncached, CachedNoncoherent, CachedCoherent, Cached,
217 isINSTRUCTION, ..., AccessLength_BYTE, ...): Move to sim-main.h.
218 (UserMode, BigEndianMem, ByteSwapMem, ReverseEndian,
219 BigEndianCPU, status_KSU_mask, ...). Moved to sim-main.h
220
221 * sim-main.h (ALU32_END, ALU64_END): Define. When overflow raise
222 exception.
223 (sim-alu.h): Include.
224 (NULLIFY_NIA, NULL_CIA, CPU_CIA): Define.
225 (sim_cia): Typedef to instruction_address.
226
227 Thu Oct 16 10:31:41 1997 Andrew Cagney <cagney@b1.cygnus.com>
228
229 * Makefile.in (interp.o): Rename generated file engine.c to
230 oengine.c.
231
232 * interp.c: Update.
233
234 Thu Oct 16 10:31:40 1997 Andrew Cagney <cagney@b1.cygnus.com>
235
236 * gencode.c (build_instruction): Use FPR_STATE not fpr_state.
237
238 Thu Oct 16 10:31:39 1997 Andrew Cagney <cagney@b1.cygnus.com>
239
240 * gencode.c (build_instruction): For "FPSQRT", output correct
241 number of arguments to Recip.
242
243 Tue Oct 14 17:38:18 1997 Andrew Cagney <cagney@b1.cygnus.com>
244
245 * Makefile.in (interp.o): Depends on sim-main.h
246
247 * interp.c (mips16_entry, ColdReset,dotrace): Add SD argument. Use GPR not registers.
248
249 * sim-main.h (sim_cpu): Add registers, register_widths, fpr_state,
250 ipc, dspc, pending_*, hiaccess, loaccess, state, dsstate fields.
251 (REGISTERS, REGISTER_WIDTHS, FPR_STATE, IPC, DSPC, PENDING_*,
252 STATE, DSSTATE): Define
253 (GPR, FGRIDX, ..): Define.
254
255 * interp.c (registers, register_widths, fpr_state, ipc, dspc,
256 pending_*, hiaccess, loaccess, state, dsstate): Delete globals.
257 (GPR, FGRIDX, ...): Delete macros.
258
259 * interp.c: Update names to match defines from sim-main.h
260
261 Tue Oct 14 15:11:45 1997 Andrew Cagney <cagney@b1.cygnus.com>
262
263 * interp.c (sim_monitor): Add SD argument.
264 (sim_warning): Delete. Replace calls with calls to
265 sim_io_eprintf.
266 (sim_error): Delete. Replace calls with sim_io_error.
267 (open_trace, writeout32, writeout16, getnum): Add SD argument.
268 (mips_set_profile): Rename from sim_set_profile. Add SD argument.
269 (mips_set_profile_size): Rename from sim_set_profile_size. Add SD
270 argument.
271 (mips_size): Rename from sim_size. Add SD argument.
272
273 * interp.c (simulator): Delete global variable.
274 (callback): Delete global variable.
275 (mips_option_handler, sim_open, sim_write, sim_read,
276 sim_store_register, sim_fetch_register, sim_info, sim_do_command,
277 sim_size,sim_monitor): Use sim_io_* not callback->*.
278 (sim_open): ZALLOC simulator struct.
279 (PROFILE): Do not define.
280
281 Tue Oct 14 13:35:48 1997 Andrew Cagney <cagney@b1.cygnus.com>
282
283 * interp.c (sim_open), support.h: Replace CHECKSIM macro found in
284 support.h with corresponding code.
285
286 * sim-main.h (word64, uword64), support.h: Move definition to
287 sim-main.h.
288 (WORD64LO, WORD64HI, SET64LO, SET64HI, WORD64, UWORD64): Ditto.
289
290 * support.h: Delete
291 * Makefile.in: Update dependencies
292 * interp.c: Do not include.
293
294 Tue Oct 14 13:35:48 1997 Andrew Cagney <cagney@b1.cygnus.com>
295
296 * interp.c (address_translation, load_memory, store_memory,
297 cache_op): Rename to from AddressTranslation et.al., make global,
298 add SD argument
299
300 * sim-main.h (AddressTranslation, LoadMemory, StoreMemory,
301 CacheOp): Define.
302
303 * interp.c (SignalException): Rename to signal_exception, make
304 global.
305
306 * interp.c (Interrupt, ...): Move definitions to sim-main.h.
307
308 * sim-main.h (SignalException, SignalExceptionInterrupt,
309 SignalExceptionInstructionFetch, SignalExceptionAddressStore,
310 SignalExceptionAddressLoad, SignalExceptionSimulatorFault,
311 SignalExceptionIntegerOverflow, SignalExceptionCoProcessorUnusable):
312 Define.
313
314 * interp.c, support.h: Use.
315
316 Tue Oct 14 13:19:20 1997 Andrew Cagney <cagney@b1.cygnus.com>
317
318 * interp.c (ValueFPR, StoreFPR), sim-main.h: Make global, rename
319 to value_fpr / store_fpr. Add SD argument.
320 (NaN, Infinity, Less, Equal, AbsoluteValue, Negate, Add, Sub,
321 Multiply, Divide, Recip, SquareRoot, Convert): Make global.
322
323 * sim-main.h (ValueFPR, StoreFPR): Define.
324
325 Tue Oct 14 13:06:55 1997 Andrew Cagney <cagney@b1.cygnus.com>
326
327 * interp.c (sim_engine_run): Check consistency between configure
328 WITH_TARGET_WORD_BITSIZE and WITH_FLOATING_POINT and gensim GPRLEN
329 and HASFPU.
330
331 * configure.in (mips_bitsize): Configure WITH_TARGET_WORD_BITSIZE.
332 (mips_fpu): Configure WITH_FLOATING_POINT.
333 (mips_endian): Configure WITH_TARGET_ENDIAN.
334 * configure: Update.
335
336 Fri Oct 3 09:28:00 1997 Andrew Cagney <cagney@b1.cygnus.com>
337
338 * configure: Regenerated to track ../common/aclocal.m4 changes.
339
340 start-sanitize-r5900
341 Mon Aug 25 19:11:15 1997 Andrew Cagney <cagney@b1.cygnus.com>
342
343 * interp.c (MAX_REG): Allow up-to 128 registers.
344 (LO1, HI1): Define value that matches REGISTER_NAMES in gdb.
345 (REGISTER_SA): Ditto.
346 (sim_open): Initialize register_widths for r5900 specific
347 registers.
348 (sim_fetch_register, sim_store_register): Check for request of
349 r5900 specific SA register. Check for request for hi 64 bits of
350 r5900 specific registers.
351
352 end-sanitize-r5900
353 Mon Sep 29 14:45:00 1997 Bob Manson <manson@charmed.cygnus.com>
354
355 * configure: Regenerated.
356
357 Fri Sep 26 12:48:18 1997 Mark Alexander <marka@cygnus.com>
358
359 * interp.c: Allow Debug, DEPC, and EPC registers to be examined in GDB.
360
361 Thu Sep 25 11:15:22 1997 Andrew Cagney <cagney@b1.cygnus.com>
362
363 * gencode.c (print_igen_insn_models): Assume certain architectures
364 include all mips* instructions.
365 (print_igen_insn_format): Use data_size==-1 as marker for MIPS16
366 instruction.
367
368 * Makefile.in (tmp.igen): Add target. Generate igen input from
369 gencode file.
370
371 * gencode.c (FEATURE_IGEN): Define.
372 (main): Add --igen option. Generate output in igen format.
373 (process_instructions): Format output according to igen option.
374 (print_igen_insn_format): New function.
375 (print_igen_insn_models): New function.
376 (process_instructions): Only issue warnings and ignore
377 instructions when no FEATURE_IGEN.
378
379 Wed Sep 24 17:38:57 1997 Andrew Cagney <cagney@b1.cygnus.com>
380
381 * interp.c (COP_SD, COP_LD): Add UNUSED to pacify GCC for some
382 MIPS targets.
383
384 Tue Sep 23 11:04:38 1997 Andrew Cagney <cagney@b1.cygnus.com>
385
386 * configure: Regenerated to track ../common/aclocal.m4 changes.
387
388 Tue Sep 23 10:19:51 1997 Andrew Cagney <cagney@b1.cygnus.com>
389
390 * Makefile.in (SIM_ALIGNMENT, SIM_ENDIAN, SIM_HOSTENDIAN,
391 SIM_RESERVED_BITS): Delete, moved to common.
392 (SIM_EXTRA_CFLAGS): Update.
393
394 Mon Sep 22 11:46:20 1997 Andrew Cagney <cagney@b1.cygnus.com>
395
396 * configure.in: Configure non-strict memory alignment.
397 * configure: Regenerated to track ../common/aclocal.m4 changes.
398
399 Fri Sep 19 17:45:25 1997 Andrew Cagney <cagney@b1.cygnus.com>
400
401 * configure: Regenerated to track ../common/aclocal.m4 changes.
402
403 Sat Sep 20 14:07:28 1997 Gavin Koch <gavin@cygnus.com>
404
405 * gencode.c (SDBBP,DERET): Added (3900) insns.
406 (RFE): Turn on for 3900.
407 * interp.c (DebugBreakPoint,DEPC,Debug,Debug_*): Added.
408 (dsstate): Made global.
409 (SUBTARGET_R3900): Added.
410 (CANCELDELAYSLOT): New.
411 (SignalException): Ignore SystemCall rather than ignore and
412 terminate. Add DebugBreakPoint handling.
413 (decode_coproc): New insns RFE, DERET; and new registers Debug
414 and DEPC protected by SUBTARGET_R3900.
415 (sim_engine_run): Use CANCELDELAYSLOT rather than clearing
416 bits explicitly.
417 * Makefile.in,configure.in: Add mips subtarget option.
418 * configure: Update.
419
420 Fri Sep 19 09:33:27 1997 Gavin Koch <gavin@cygnus.com>
421
422 * gencode.c: Add r3900 (tx39).
423
424 start-sanitize-tx19
425 * gencode.c: Fix some configuration problems by improving
426 the relationship between tx19 and tx39.
427 end-sanitize-tx19
428
429 Tue Sep 16 15:52:04 1997 Gavin Koch <gavin@cygnus.com>
430
431 * gencode.c (build_instruction): Don't need to subtract 4 for
432 JALR, just 2.
433
434 Tue Sep 16 11:32:28 1997 Gavin Koch <gavin@cygnus.com>
435
436 * interp.c: Correct some HASFPU problems.
437
438 Mon Sep 15 17:36:15 1997 Andrew Cagney <cagney@b1.cygnus.com>
439
440 * configure: Regenerated to track ../common/aclocal.m4 changes.
441
442 Fri Sep 12 12:01:39 1997 Andrew Cagney <cagney@b1.cygnus.com>
443
444 * interp.c (mips_options): Fix samples option short form, should
445 be `x'.
446
447 Thu Sep 11 09:35:29 1997 Andrew Cagney <cagney@b1.cygnus.com>
448
449 * interp.c (sim_info): Enable info code. Was just returning.
450
451 Tue Sep 9 17:30:57 1997 Andrew Cagney <cagney@b1.cygnus.com>
452
453 * interp.c (decode_coproc): Clarify warning about unsuported MTC0,
454 MFC0.
455
456 Tue Sep 9 16:28:28 1997 Andrew Cagney <cagney@b1.cygnus.com>
457
458 * gencode.c (build_instruction): Use SIGNED64 for 64 bit
459 constants.
460 (build_instruction): Ditto for LL.
461
462 start-sanitize-tx19
463 Sun Sep 7 16:05:46 1997 Gavin Koch <gavin@cygnus.com>
464
465 * mips/configure.in, mips/gencode: Add tx19/r1900.
466
467 end-sanitize-tx19
468 Thu Sep 4 17:21:23 1997 Doug Evans <dje@seba>
469
470 * configure: Regenerated to track ../common/aclocal.m4 changes.
471
472 start-sanitize-r5900
473 Mon Sep 1 18:43:30 1997 Andrew Cagney <cagney@b1.cygnus.com>
474
475 * gencode.c (build_instruction): For "pabsw" and "pabsh", check
476 for overflow due to ABS of MININT, set result to MAXINT.
477 (build_instruction): For "psrlvw", signextend bit 31.
478
479 end-sanitize-r5900
480 Wed Aug 27 18:13:22 1997 Andrew Cagney <cagney@b1.cygnus.com>
481
482 * configure: Regenerated to track ../common/aclocal.m4 changes.
483 * config.in: Ditto.
484
485 Wed Aug 27 14:12:27 1997 Andrew Cagney <cagney@b1.cygnus.com>
486
487 * interp.c (sim_open): Add call to sim_analyze_program, update
488 call to sim_config.
489
490 Tue Aug 26 10:40:07 1997 Andrew Cagney <cagney@b1.cygnus.com>
491
492 * interp.c (sim_kill): Delete.
493 (sim_create_inferior): Add ABFD argument. Set PC from same.
494 (sim_load): Move code initializing trap handlers from here.
495 (sim_open): To here.
496 (sim_load): Delete, use sim-hload.c.
497
498 * Makefile.in (SIM_OBJS): Add sim-hload.o module.
499
500 Mon Aug 25 17:50:22 1997 Andrew Cagney <cagney@b1.cygnus.com>
501
502 * configure: Regenerated to track ../common/aclocal.m4 changes.
503 * config.in: Ditto.
504
505 Mon Aug 25 15:59:48 1997 Andrew Cagney <cagney@b1.cygnus.com>
506
507 * interp.c (sim_open): Add ABFD argument.
508 (sim_load): Move call to sim_config from here.
509 (sim_open): To here. Check return status.
510
511 start-sanitize-r5900
512 * gencode.c (build_instruction): Do not define x8000000000000000,
513 x7FFFFFFFFFFFFFFF, or xFFFFFFFF80000000.
514
515 end-sanitize-r5900
516 start-sanitize-r5900
517 Mon Jul 28 19:49:29 1997 Andrew Cagney <cagney@b1.cygnus.com>
518
519 * gencode.c (build_instruction): For "pdivw", "pdivbw" and
520 "pdivuw" check for overflow due to signed divide by -1.
521
522 end-sanitize-r5900
523 Fri Jul 25 15:00:45 1997 Gavin Koch <gavin@cygnus.com>
524
525 * gencode.c (build_instruction): Two arg MADD should
526 not assign result to $0.
527
528 start-sanitize-r5900
529 Thu Jul 10 11:58:48 1997 Andrew Cagney <cagney@critters.cygnus.com>
530
531 * gencode.c (build_instruction): For "ppac5" use unsigned
532 arrithmetic so that the sign bit doesn't smear when right shifted.
533 (build_instruction): For "pdiv" perform sign extension when
534 storing results in HI and LO.
535 (build_instructions): For "pdiv" and "pdivbw" check for
536 divide-by-zero.
537 (build_instruction): For "pmfhl.slw" update hi part of dest
538 register as well as low part.
539 (build_instruction): For "pmfhl" portably handle long long values.
540 (build_instruction): For "pmfhl.sh" correctly negative values.
541 Store half words 2 and three in the correct place.
542 (build_instruction): For "psllvw", sign extend value after shift.
543
544 end-sanitize-r5900
545 Thu Jun 26 12:13:17 1997 Angela Marie Thomas (angela@cygnus.com)
546
547 * sim/mips/configure: Change default_sim_endian to 0 (bi-endian)
548 * sim/mips/configure.in: Regenerate.
549
550 Wed Jul 9 10:29:21 1997 Andrew Cagney <cagney@critters.cygnus.com>
551
552 * interp.c (SUB_REG_UW, SUB_REG_SW, SUB_REG_*): Use more explicit
553 signed8, unsigned8 et.al. types.
554
555 start-sanitize-r5900
556 * gencode.c (build_instruction): For PMULTU* do not sign extend
557 registers. Make generated code easier to debug.
558
559 end-sanitize-r5900
560 * interp.c (SUB_REG_FETCH): Handle both little and big endian
561 hosts when selecting subreg.
562
563 start-sanitize-r5900
564 Tue Jul 8 18:07:20 1997 Andrew Cagney <cagney@andros.cygnus.com>
565
566 * gencode.c (type_for_data_len): For 32bit operations concerned
567 with overflow, perform op using 64bits.
568 (build_instruction): For PADD, always compute operation using type
569 returned by type_for_data_len.
570 (build_instruction): For PSUBU, when overflow, saturate to zero as
571 actually underflow.
572
573 end-sanitize-r5900
574 Wed Jul 2 11:54:10 1997 Jeffrey A Law (law@cygnus.com)
575
576 start-sanitize-r5900
577 * gencode.c (build_instruction): Handle "pext5" according to
578 version 1.95 of the r5900 ISA.
579
580 * gencode.c (build_instruction): Handle "ppac5" according to
581 version 1.95 of the r5900 ISA.
582
583 end-sanitize-r5900
584 * interp.c (sim_engine_run): Reset the ZERO register to zero
585 regardless of FEATURE_WARN_ZERO.
586 * gencode.c (FEATURE_WARNINGS): Remove FEATURE_WARN_ZERO.
587
588 Wed Jun 4 10:43:14 1997 Andrew Cagney <cagney@b1.cygnus.com>
589
590 * interp.c (decode_coproc): Implement MTC0 N, CAUSE.
591 (SignalException): For BreakPoints ignore any mode bits and just
592 save the PC.
593 (SignalException): Always set the CAUSE register.
594
595 Tue Jun 3 05:00:33 1997 Andrew Cagney <cagney@b1.cygnus.com>
596
597 * interp.c (SignalException): Clear the simDELAYSLOT flag when an
598 exception has been taken.
599
600 * interp.c: Implement the ERET and mt/f sr instructions.
601
602 start-sanitize-r5900
603 Mon Jun 2 23:28:19 1997 Andrew Cagney <cagney@b1.cygnus.com>
604
605 * gencode.c (build_instruction): For paddu, extract unsigned
606 sub-fields.
607
608 * gencode.c (build_instruction): Saturate padds instead of padd
609 instructions.
610
611 end-sanitize-r5900
612 Sat May 31 00:44:16 1997 Andrew Cagney <cagney@b1.cygnus.com>
613
614 * interp.c (SignalException): Don't bother restarting an
615 interrupt.
616
617 Fri May 30 23:41:48 1997 Andrew Cagney <cagney@b1.cygnus.com>
618
619 * interp.c (SignalException): Really take an interrupt.
620 (interrupt_event): Only deliver interrupts when enabled.
621
622 Tue May 27 20:08:06 1997 Andrew Cagney <cagney@b1.cygnus.com>
623
624 * interp.c (sim_info): Only print info when verbose.
625 (sim_info) Use sim_io_printf for output.
626
627 Tue May 27 14:22:23 1997 Andrew Cagney <cagney@b1.cygnus.com>
628
629 * interp.c (CoProcPresent): Add UNUSED attribute - not used by all
630 mips architectures.
631
632 Tue May 27 14:22:23 1997 Andrew Cagney <cagney@b1.cygnus.com>
633
634 * interp.c (sim_do_command): Check for common commands if a
635 simulator specific command fails.
636
637 Thu May 22 09:32:03 1997 Gavin Koch <gavin@cygnus.com>
638
639 * interp.c (sim_engine_run): ifdef out uses of simSTOP, simSTEP
640 and simBE when DEBUG is defined.
641
642 Wed May 21 09:08:10 1997 Andrew Cagney <cagney@b1.cygnus.com>
643
644 * interp.c (interrupt_event): New function. Pass exception event
645 onto exception handler.
646
647 * configure.in: Check for stdlib.h.
648 * configure: Regenerate.
649
650 * gencode.c (build_instruction): Add UNUSED attribute to tempS
651 variable declaration.
652 (build_instruction): Initialize memval1.
653 (build_instruction): Add UNUSED attribute to byte, bigend,
654 reverse.
655 (build_operands): Ditto.
656
657 * interp.c: Fix GCC warnings.
658 (sim_get_quit_code): Delete.
659
660 * configure.in: Add INLINE, ENDIAN, HOSTENDIAN and WARNINGS.
661 * Makefile.in: Ditto.
662 * configure: Re-generate.
663
664 * Makefile.in (SIM_OBJS): Add sim-watch.o module.
665
666 Tue May 20 15:08:56 1997 Andrew Cagney <cagney@b1.cygnus.com>
667
668 * interp.c (mips_option_handler): New function parse argumes using
669 sim-options.
670 (myname): Replace with STATE_MY_NAME.
671 (sim_open): Delete check for host endianness - performed by
672 sim_config.
673 (simHOSTBE, simBE): Delete, replaced by sim-endian flags.
674 (sim_open): Move much of the initialization from here.
675 (sim_load): To here. After the image has been loaded and
676 endianness set.
677 (sim_open): Move ColdReset from here.
678 (sim_create_inferior): To here.
679 (sim_open): Make FP check less dependant on host endianness.
680
681 * Makefile.in (SIM_RUN_OBJS): Set to nrun.o - use new version or
682 run.
683 * interp.c (sim_set_callbacks): Delete.
684
685 * interp.c (membank, membank_base, membank_size): Replace with
686 STATE_MEMORY, STATE_MEM_SIZE, STATE_MEM_BASE.
687 (sim_open): Remove call to callback->init. gdb/run do this.
688
689 * interp.c: Update
690
691 * sim-main.h (SIM_HAVE_FLATMEM): Define.
692
693 * interp.c (big_endian_p): Delete, replaced by
694 current_target_byte_order.
695
696 Tue May 20 13:55:00 1997 Andrew Cagney <cagney@b1.cygnus.com>
697
698 * interp.c (host_read_long, host_read_word, host_swap_word,
699 host_swap_long): Delete. Using common sim-endian.
700 (sim_fetch_register, sim_store_register): Use H2T.
701 (pipeline_ticks): Delete. Handled by sim-events.
702 (sim_info): Update.
703 (sim_engine_run): Update.
704
705 Tue May 20 13:42:03 1997 Andrew Cagney <cagney@b1.cygnus.com>
706
707 * interp.c (sim_stop_reason): Move code determining simEXCEPTION
708 reason from here.
709 (SignalException): To here. Signal using sim_engine_halt.
710 (sim_stop_reason): Delete, moved to common.
711
712 Tue May 20 10:19:48 1997 Andrew Cagney <cagney@b2.cygnus.com>
713
714 * interp.c (sim_open): Add callback argument.
715 (sim_set_callbacks): Delete SIM_DESC argument.
716 (sim_size): Ditto.
717
718 Mon May 19 18:20:38 1997 Andrew Cagney <cagney@b1.cygnus.com>
719
720 * Makefile.in (SIM_OBJS): Add common modules.
721
722 * interp.c (sim_set_callbacks): Also set SD callback.
723 (set_endianness, xfer_*, swap_*): Delete.
724 (host_read_word, host_read_long, host_swap_word, host_swap_long):
725 Change to functions using sim-endian macros.
726 (control_c, sim_stop): Delete, use common version.
727 (simulate): Convert into.
728 (sim_engine_run): This function.
729 (sim_resume): Delete.
730
731 * interp.c (simulation): New variable - the simulator object.
732 (sim_kind): Delete global - merged into simulation.
733 (sim_load): Cleanup. Move PC assignment from here.
734 (sim_create_inferior): To here.
735
736 * sim-main.h: New file.
737 * interp.c (sim-main.h): Include.
738
739 Thu Apr 24 00:39:51 1997 Doug Evans <dje@canuck.cygnus.com>
740
741 * configure: Regenerated to track ../common/aclocal.m4 changes.
742
743 Wed Apr 23 17:32:19 1997 Doug Evans <dje@canuck.cygnus.com>
744
745 * tconfig.in (SIM_HAVE_BIENDIAN): Define.
746
747 Mon Apr 21 17:16:13 1997 Gavin Koch <gavin@cygnus.com>
748
749 * gencode.c (build_instruction): DIV instructions: check
750 for division by zero and integer overflow before using
751 host's division operation.
752
753 Thu Apr 17 03:18:14 1997 Doug Evans <dje@canuck.cygnus.com>
754
755 * Makefile.in (SIM_OBJS): Add sim-load.o.
756 * interp.c: #include bfd.h.
757 (target_byte_order): Delete.
758 (sim_kind, myname, big_endian_p): New static locals.
759 (sim_open): Set sim_kind, myname. Move call to set_endianness to
760 after argument parsing. Recognize -E arg, set endianness accordingly.
761 (sim_load): Return SIM_RC. New arg abfd. Call sim_load_file to
762 load file into simulator. Set PC from bfd.
763 (sim_create_inferior): Return SIM_RC. Delete arg start_address.
764 (set_endianness): Use big_endian_p instead of target_byte_order.
765
766 Wed Apr 16 17:55:37 1997 Andrew Cagney <cagney@b1.cygnus.com>
767
768 * interp.c (sim_size): Delete prototype - conflicts with
769 definition in remote-sim.h. Correct definition.
770
771 Mon Apr 7 15:45:02 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
772
773 * configure: Regenerated to track ../common/aclocal.m4 changes.
774 * config.in: Ditto.
775
776 Wed Apr 2 15:06:28 1997 Doug Evans <dje@canuck.cygnus.com>
777
778 * interp.c (sim_open): New arg `kind'.
779
780 * configure: Regenerated to track ../common/aclocal.m4 changes.
781
782 Wed Apr 2 14:34:19 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
783
784 * configure: Regenerated to track ../common/aclocal.m4 changes.
785
786 Tue Mar 25 11:38:22 1997 Doug Evans <dje@canuck.cygnus.com>
787
788 * interp.c (sim_open): Set optind to 0 before calling getopt.
789
790 Wed Mar 19 01:14:00 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
791
792 * configure: Regenerated to track ../common/aclocal.m4 changes.
793
794 Mon Mar 17 10:52:59 1997 Gavin Koch <gavin@cetus.cygnus.com>
795
796 * interp.c : Replace uses of pr_addr with pr_uword64
797 where the bit length is always 64 independent of SIM_ADDR.
798 (pr_uword64) : added.
799
800 Mon Mar 17 15:10:07 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
801
802 * configure: Re-generate.
803
804 Fri Mar 14 10:34:11 1997 Michael Meissner <meissner@cygnus.com>
805
806 * configure: Regenerate to track ../common/aclocal.m4 changes.
807
808 Thu Mar 13 12:51:36 1997 Doug Evans <dje@canuck.cygnus.com>
809
810 * interp.c (sim_open): New SIM_DESC result. Argument is now
811 in argv form.
812 (other sim_*): New SIM_DESC argument.
813
814 start-sanitize-r5900
815 Wed Feb 26 18:32:21 1997 Gavin Koch <gavin@cygnus.com>
816
817 * gencode.c (POP_AND,POP_OR,POP_NOR,POP_XOR):
818 Change values to avoid overloading DOUBLEWORD which is tested
819 for all insns.
820 * gencode.c: reinstate "offending code".
821
822 end-sanitize-r5900
823 Mon Feb 24 22:47:14 1997 Dawn Perchik <dawn@cygnus.com>
824
825 * interp.c: Fix printing of addresses for non-64-bit targets.
826 (pr_addr): Add function to print address based on size.
827 start-sanitize-r5900
828 * gencode.c: #ifdef out offending code until a permanent fix
829 can be added. Code is causing build errors for non-5900 mips targets.
830 end-sanitize-r5900
831
832 start-sanitize-r5900
833 Thu Feb 20 10:40:24 1997 Gavin Koch <gavin@cetus.cygnus.com>
834
835 * gencode.c (process_instructions): Correct test for ISA dependent
836 architecture bits in isa field of MIPS_DECODE.
837
838 end-sanitize-r5900
839 Wed Feb 19 14:42:09 1997 Mark Alexander <marka@cygnus.com>
840
841 * interp.c (simopen): Add support for LSI MiniRISC PMON vectors.
842
843 start-sanitize-r5900
844 Tue Feb 18 17:03:47 1997 Gavin Koch <gavin@cygnus.com>
845
846 * gencode.c (MIPS_DECODE): Correct instruction feature flags for
847 PMADDUW.
848
849 end-sanitize-r5900
850 Thu Feb 13 14:08:30 1997 Ian Lance Taylor <ian@cygnus.com>
851
852 * gencode.c (build_mips16_operands): Correct computation of base
853 address for extended PC relative instruction.
854
855 start-sanitize-r5900
856 Fri Feb 7 11:12:44 1997 Gavin Koch <gavin@cygnus.com>
857
858 * Makefile.in, configure, configure.in, gencode.c,
859 interp.c, support.h: add r5900.
860
861 end-sanitize-r5900
862 Thu Feb 6 17:16:15 1997 Ian Lance Taylor <ian@cygnus.com>
863
864 * interp.c (mips16_entry): Add support for floating point cases.
865 (SignalException): Pass floating point cases to mips16_entry.
866 (ValueFPR): Don't restrict fmt_single and fmt_word to even
867 registers.
868 (StoreFPR): Likewise. Also, don't clobber fpr + 1 for fmt_single
869 or fmt_word.
870 (COP_LW): Pass fmt_word rather than fmt_uninterpreted to StoreFPR,
871 and then set the state to fmt_uninterpreted.
872 (COP_SW): Temporarily set the state to fmt_word while calling
873 ValueFPR.
874
875 Tue Feb 4 16:48:25 1997 Ian Lance Taylor <ian@cygnus.com>
876
877 * gencode.c (build_instruction): The high order may be set in the
878 comparison flags at any ISA level, not just ISA 4.
879
880 Tue Feb 4 13:33:30 1997 Doug Evans <dje@canuck.cygnus.com>
881
882 * Makefile.in (@COMMON_MAKEFILE_FRAG): Use
883 COMMON_{PRE,POST}_CONFIG_FRAG instead.
884 * configure.in: sinclude ../common/aclocal.m4.
885 * configure: Regenerated.
886
887 Fri Jan 31 11:11:45 1997 Ian Lance Taylor <ian@cygnus.com>
888
889 * configure: Rebuild after change to aclocal.m4.
890
891 Thu Jan 23 11:46:23 1997 Stu Grossman (grossman@critters.cygnus.com)
892
893 * configure configure.in Makefile.in: Update to new configure
894 scheme which is more compatible with WinGDB builds.
895 * configure.in: Improve comment on how to run autoconf.
896 * configure: Re-run autoconf to get new ../common/aclocal.m4.
897 * Makefile.in: Use autoconf substitution to install common
898 makefile fragment.
899
900 Wed Jan 8 12:39:03 1997 Jim Wilson <wilson@cygnus.com>
901
902 * gencode.c (build_instruction): Use BigEndianCPU instead of
903 ByteSwapMem.
904
905 Thu Jan 02 22:23:04 1997 Mark Alexander <marka@cygnus.com>
906
907 * interp.c (sim_monitor): Make output to stdout visible in
908 wingdb's I/O log window.
909
910 Tue Dec 31 07:04:00 1996 Mark Alexander <marka@cygnus.com>
911
912 * support.h: Undo previous change to SIGTRAP
913 and SIGQUIT values.
914
915 Mon Dec 30 17:36:06 1996 Ian Lance Taylor <ian@cygnus.com>
916
917 * interp.c (store_word, load_word): New static functions.
918 (mips16_entry): New static function.
919 (SignalException): Look for mips16 entry and exit instructions.
920 (simulate): Use the correct index when setting fpr_state after
921 doing a pending move.
922
923 Sun Dec 29 09:37:18 1996 Mark Alexander <marka@cygnus.com>
924
925 * interp.c: Fix byte-swapping code throughout to work on
926 both little- and big-endian hosts.
927
928 Sun Dec 29 09:18:32 1996 Mark Alexander <marka@cygnus.com>
929
930 * support.h: Make definitions of SIGTRAP and SIGQUIT consistent
931 with gdb/config/i386/xm-windows.h.
932
933 Fri Dec 27 22:48:51 1996 Mark Alexander <marka@cygnus.com>
934
935 * gencode.c (build_instruction): Work around MSVC++ code gen bug
936 that messes up arithmetic shifts.
937
938 Fri Dec 20 11:04:05 1996 Stu Grossman (grossman@critters.cygnus.com)
939
940 * support.h: Use _WIN32 instead of __WIN32__. Also add defs for
941 SIGTRAP and SIGQUIT for _WIN32.
942
943 Thu Dec 19 14:07:27 1996 Ian Lance Taylor <ian@cygnus.com>
944
945 * gencode.c (build_instruction) [MUL]: Cast operands to word64, to
946 force a 64 bit multiplication.
947 (build_instruction) [OR]: In mips16 mode, don't do anything if the
948 destination register is 0, since that is the default mips16 nop
949 instruction.
950
951 Mon Dec 16 14:59:38 1996 Ian Lance Taylor <ian@cygnus.com>
952
953 * gencode.c (MIPS16_DECODE): SWRASP is I8, not RI.
954 (build_endian_shift): Don't check proc64.
955 (build_instruction): Always set memval to uword64. Cast op2 to
956 uword64 when shifting it left in memory instructions. Always use
957 the same code for stores--don't special case proc64.
958
959 * gencode.c (build_mips16_operands): Fix base PC value for PC
960 relative operands.
961 (build_instruction): Call JALDELAYSLOT rather than DELAYSLOT for a
962 jal instruction.
963 * interp.c (simJALDELAYSLOT): Define.
964 (JALDELAYSLOT): Define.
965 (INDELAYSLOT, INJALDELAYSLOT): Define.
966 (simulate): Clear simJALDELAYSLOT when simDELAYSLOT is cleared.
967
968 Tue Dec 24 22:11:20 1996 Angela Marie Thomas (angela@cygnus.com)
969
970 * interp.c (sim_open): add flush_cache as a PMON routine
971 (sim_monitor): handle flush_cache by ignoring it
972
973 Wed Dec 11 13:53:51 1996 Jim Wilson <wilson@cygnus.com>
974
975 * gencode.c (build_instruction): Use !ByteSwapMem instead of
976 BigEndianMem.
977 * interp.c (CONFIG, config_EP_{mask,shift,D,DxxDxx, config_BE): Delete.
978 (BigEndianMem): Rename to ByteSwapMem and change sense.
979 (BigEndianCPU, sim_write, LoadMemory, StoreMemory): Change
980 BigEndianMem references to !ByteSwapMem.
981 (set_endianness): New function, with prototype.
982 (sim_open): Call set_endianness.
983 (sim_info): Use simBE instead of BigEndianMem.
984 (xfer_direct_word, xfer_direct_long, swap_direct_word,
985 swap_direct_long, xfer_big_word, xfer_big_long, xfer_little_word,
986 xfer_little_long, swap_word, swap_long): Delete unnecessary MSC_VER
987 ifdefs, keeping the prototype declaration.
988 (swap_word): Rewrite correctly.
989 (ColdReset): Delete references to CONFIG. Delete endianness related
990 code; moved to set_endianness.
991
992 Tue Dec 10 11:32:04 1996 Jim Wilson <wilson@cygnus.com>
993
994 * gencode.c (build_instruction, case JUMP): Truncate PC to 32 bits.
995 * interp.c (CHECKHILO): Define away.
996 (simSIGINT): New macro.
997 (membank_size): Increase from 1MB to 2MB.
998 (control_c): New function.
999 (sim_resume): Rename parameter signal to signal_number. Add local
1000 variable prev. Call signal before and after simulate.
1001 (sim_stop_reason): Add simSIGINT support.
1002 (sim_warning, sim_error, dotrace, SignalException): Define as stdarg
1003 functions always.
1004 (sim_warning): Delete call to SignalException. Do call printf_filtered
1005 if logfh is NULL.
1006 (AddressTranslation): Add #ifdef DEBUG around debugging message and
1007 a call to sim_warning.
1008
1009 Wed Nov 27 11:53:50 1996 Ian Lance Taylor <ian@cygnus.com>
1010
1011 * gencode.c (process_instructions): If ! proc64, skip DOUBLEWORD
1012 16 bit instructions.
1013
1014 Tue Nov 26 11:53:12 1996 Ian Lance Taylor <ian@cygnus.com>
1015
1016 Add support for mips16 (16 bit MIPS implementation):
1017 * gencode.c (inst_type): Add mips16 instruction encoding types.
1018 (GETDATASIZEINSN): Define.
1019 (MIPS_DECODE): Add REG flag to dsllv, dsrav, and dsrlv. Add
1020 jalx. Add LEFT flag to mfhi and mflo. Add RIGHT flag to mthi and
1021 mtlo.
1022 (MIPS16_DECODE): New table, for mips16 instructions.
1023 (bitmap_val): New static function.
1024 (struct mips16_op): Define.
1025 (mips16_op_table): New table, for mips16 operands.
1026 (build_mips16_operands): New static function.
1027 (process_instructions): If PC is odd, decode a mips16
1028 instruction. Break out instruction handling into new
1029 build_instruction function.
1030 (build_instruction): New static function, broken out of
1031 process_instructions. Check modifiers rather than flags for SHIFT
1032 bit count and m[ft]{hi,lo} direction.
1033 (usage): Pass program name to fprintf.
1034 (main): Remove unused variable this_option_optind. Change
1035 ``*loptarg++'' to ``loptarg++''.
1036 (my_strtoul): Parenthesize && within ||.
1037 * interp.c (LoadMemory): Accept a halfword pAddr if vAddr is odd.
1038 (simulate): If PC is odd, fetch a 16 bit instruction, and
1039 increment PC by 2 rather than 4.
1040 * configure.in: Add case for mips16*-*-*.
1041 * configure: Rebuild.
1042
1043 Fri Nov 22 08:49:36 1996 Mark Alexander <marka@cygnus.com>
1044
1045 * interp.c: Allow -t to enable tracing in standalone simulator.
1046 Fix garbage output in trace file and error messages.
1047
1048 Wed Nov 20 01:54:37 1996 Doug Evans <dje@canuck.cygnus.com>
1049
1050 * Makefile.in: Delete stuff moved to ../common/Make-common.in.
1051 (SIM_{OBJS,EXTRA_CFLAGS,EXTRA_CLEAN}): Define.
1052 * configure.in: Simplify using macros in ../common/aclocal.m4.
1053 * configure: Regenerated.
1054 * tconfig.in: New file.
1055
1056 Tue Nov 12 13:34:00 1996 Dawn Perchik <dawn@cygnus.com>
1057
1058 * interp.c: Fix bugs in 64-bit port.
1059 Use ansi function declarations for msvc compiler.
1060 Initialize and test file pointer in trace code.
1061 Prevent duplicate definition of LAST_EMED_REGNUM.
1062
1063 Tue Oct 15 11:07:06 1996 Mark Alexander <marka@cygnus.com>
1064
1065 * interp.c (xfer_big_long): Prevent unwanted sign extension.
1066
1067 Thu Sep 26 17:35:00 1996 James G. Smith <jsmith@cygnus.co.uk>
1068
1069 * interp.c (SignalException): Check for explicit terminating
1070 breakpoint value.
1071 * gencode.c: Pass instruction value through SignalException()
1072 calls for Trap, Breakpoint and Syscall.
1073
1074 Thu Sep 26 11:35:17 1996 James G. Smith <jsmith@cygnus.co.uk>
1075
1076 * interp.c (SquareRoot): Add HAVE_SQRT check to ensure sqrt() is
1077 only used on those hosts that provide it.
1078 * configure.in: Add sqrt() to list of functions to be checked for.
1079 * config.in: Re-generated.
1080 * configure: Re-generated.
1081
1082 Fri Sep 20 15:47:12 1996 Ian Lance Taylor <ian@cygnus.com>
1083
1084 * gencode.c (process_instructions): Call build_endian_shift when
1085 expanding STORE RIGHT, to fix swr.
1086 * support.h (SIGNEXTEND): If the sign bit is not set, explicitly
1087 clear the high bits.
1088 * interp.c (Convert): Fix fmt_single to fmt_long to not truncate.
1089 Fix float to int conversions to produce signed values.
1090
1091 Thu Sep 19 15:34:17 1996 Ian Lance Taylor <ian@cygnus.com>
1092
1093 * gencode.c (MIPS_DECODE): Set UNSIGNED for multu instruction.
1094 (process_instructions): Correct handling of nor instruction.
1095 Correct shift count for 32 bit shift instructions. Correct sign
1096 extension for arithmetic shifts to not shift the number of bits in
1097 the type. Fix 64 bit multiply high word calculation. Fix 32 bit
1098 unsigned multiply. Fix ldxc1 and friends to use coprocessor 1.
1099 Fix madd.
1100 * interp.c (CHECKHILO): Don't set HIACCESS, LOACCESS, or HLPC.
1101 It's OK to have a mult follow a mult. What's not OK is to have a
1102 mult follow an mfhi.
1103 (Convert): Comment out incorrect rounding code.
1104
1105 Mon Sep 16 11:38:16 1996 James G. Smith <jsmith@cygnus.co.uk>
1106
1107 * interp.c (sim_monitor): Improved monitor printf
1108 simulation. Tidied up simulator warnings, and added "--log" option
1109 for directing warning message output.
1110 * gencode.c: Use sim_warning() rather than WARNING macro.
1111
1112 Thu Aug 22 15:03:12 1996 Ian Lance Taylor <ian@cygnus.com>
1113
1114 * Makefile.in (gencode): Depend upon gencode.o, getopt.o, and
1115 getopt1.o, rather than on gencode.c. Link objects together.
1116 Don't link against -liberty.
1117 (gencode.o, getopt.o, getopt1.o): New targets.
1118 * gencode.c: Include <ctype.h> and "ansidecl.h".
1119 (AND): Undefine after including "ansidecl.h".
1120 (ULONG_MAX): Define if not defined.
1121 (OP_*): Don't define macros; now defined in opcode/mips.h.
1122 (main): Call my_strtoul rather than strtoul.
1123 (my_strtoul): New static function.
1124
1125 Wed Jul 17 18:12:38 1996 Stu Grossman (grossman@critters.cygnus.com)
1126
1127 * gencode.c (process_instructions): Generate word64 and uword64
1128 instead of `long long' and `unsigned long long' data types.
1129 * interp.c: #include sysdep.h to get signals, and define default
1130 for SIGBUS.
1131 * (Convert): Work around for Visual-C++ compiler bug with type
1132 conversion.
1133 * support.h: Make things compile under Visual-C++ by using
1134 __int64 instead of `long long'. Change many refs to long long
1135 into word64/uword64 typedefs.
1136
1137 Wed Jun 26 12:24:55 1996 Jason Molenda (crash@godzilla.cygnus.co.jp)
1138
1139 * Makefile.in (bindir, libdir, datadir, mandir, infodir, includedir,
1140 INSTALL_PROGRAM, INSTALL_DATA): Use autoconf-set values.
1141 (docdir): Removed.
1142 * configure.in (AC_PREREQ): autoconf 2.5 or higher.
1143 (AC_PROG_INSTALL): Added.
1144 (AC_PROG_CC): Moved to before configure.host call.
1145 * configure: Rebuilt.
1146
1147 Wed Jun 5 08:28:13 1996 James G. Smith <jsmith@cygnus.co.uk>
1148
1149 * configure.in: Define @SIMCONF@ depending on mips target.
1150 * configure: Rebuild.
1151 * Makefile.in (run): Add @SIMCONF@ to control simulator
1152 construction.
1153 * gencode.c: Change LOADDRMASK to 64bit memory model only.
1154 * interp.c: Remove some debugging, provide more detailed error
1155 messages, update memory accesses to use LOADDRMASK.
1156
1157 Mon Jun 3 11:55:03 1996 Ian Lance Taylor <ian@cygnus.com>
1158
1159 * configure.in: Add calls to AC_CONFIG_HEADER, AC_CHECK_HEADERS,
1160 AC_CHECK_LIB, and AC_CHECK_FUNCS. Change AC_OUTPUT to set
1161 stamp-h.
1162 * configure: Rebuild.
1163 * config.in: New file, generated by autoheader.
1164 * interp.c: Include "config.h". Include <stdlib.h>, <string.h>,
1165 and <strings.h> if they exist. Replace #ifdef sun with #ifdef
1166 HAVE_ANINT and HAVE_AINT, as appropriate.
1167 * Makefile.in (run): Use @LIBS@ rather than -lm.
1168 (interp.o): Depend upon config.h.
1169 (Makefile): Just rebuild Makefile.
1170 (clean): Remove stamp-h.
1171 (mostlyclean): Make the same as clean, not as distclean.
1172 (config.h, stamp-h): New targets.
1173
1174 Fri May 10 00:41:17 1996 James G. Smith <jsmith@cygnus.co.uk>
1175
1176 * interp.c (ColdReset): Fix boolean test. Make all simulator
1177 globals static.
1178
1179 Wed May 8 15:12:58 1996 James G. Smith <jsmith@cygnus.co.uk>
1180
1181 * interp.c (xfer_direct_word, xfer_direct_long,
1182 swap_direct_word, swap_direct_long, xfer_big_word,
1183 xfer_big_long, xfer_little_word, xfer_little_long,
1184 swap_word,swap_long): Added.
1185 * interp.c (ColdReset): Provide function indirection to
1186 host<->simulated_target transfer routines.
1187 * interp.c (sim_store_register, sim_fetch_register): Updated to
1188 make use of indirected transfer routines.
1189
1190 Fri Apr 19 15:48:24 1996 James G. Smith <jsmith@cygnus.co.uk>
1191
1192 * gencode.c (process_instructions): Ensure FP ABS instruction
1193 recognised.
1194 * interp.c (AbsoluteValue): Add routine. Also provide simple PMON
1195 system call support.
1196
1197 Wed Apr 10 09:51:38 1996 James G. Smith <jsmith@cygnus.co.uk>
1198
1199 * interp.c (sim_do_command): Complain if callback structure not
1200 initialised.
1201
1202 Thu Mar 28 13:50:51 1996 James G. Smith <jsmith@cygnus.co.uk>
1203
1204 * interp.c (Convert): Provide round-to-nearest and round-to-zero
1205 support for Sun hosts.
1206 * Makefile.in (gencode): Ensure the host compiler and libraries
1207 used for cross-hosted build.
1208
1209 Wed Mar 27 14:42:12 1996 James G. Smith <jsmith@cygnus.co.uk>
1210
1211 * interp.c, gencode.c: Some more (TODO) tidying.
1212
1213 Thu Mar 7 11:19:33 1996 James G. Smith <jsmith@cygnus.co.uk>
1214
1215 * gencode.c, interp.c: Replaced explicit long long references with
1216 WORD64HI, WORD64LO, SET64HI and SET64LO macro calls.
1217 * support.h (SET64LO, SET64HI): Macros added.
1218
1219 Wed Feb 21 12:16:21 1996 Ian Lance Taylor <ian@cygnus.com>
1220
1221 * configure: Regenerate with autoconf 2.7.
1222
1223 Tue Jan 30 08:48:18 1996 Fred Fish <fnf@cygnus.com>
1224
1225 * interp.c (LoadMemory): Enclose text following #endif in /* */.
1226 * support.h: Remove superfluous "1" from #if.
1227 * support.h (CHECKSIM): Remove stray 'a' at end of line.
1228
1229 Mon Dec 4 11:44:40 1995 Jamie Smith <jsmith@cygnus.com>
1230
1231 * interp.c (StoreFPR): Control UndefinedResult() call on
1232 WARN_RESULT manifest.
1233
1234 Fri Dec 1 16:37:19 1995 James G. Smith <jsmith@cygnus.co.uk>
1235
1236 * gencode.c: Tidied instruction decoding, and added FP instruction
1237 support.
1238
1239 * interp.c: Added dineroIII, and BSD profiling support. Also
1240 run-time FP handling.
1241
1242 Sun Oct 22 00:57:18 1995 James G. Smith <jsmith@pasanda.cygnus.co.uk>
1243
1244 * Changelog, Makefile.in, README.Cygnus, configure, configure.in,
1245 gencode.c, interp.c, support.h: created.
This page took 0.056533 seconds and 5 git commands to generate.