Add a number of per-simulator options: hostendian, endian, inline, warnings.
[deliverable/binutils-gdb.git] / sim / mips / ChangeLog
CommitLineData
53b9417e
DE
1Thu Mar 13 12:51:36 1997 Doug Evans <dje@canuck.cygnus.com>
2
3 * interp.c (sim_open): New SIM_DESC result. Argument is now
4 in argv form.
5 (other sim_*): New SIM_DESC argument.
6
7start-sanitize-r5900
8Wed Feb 26 18:32:21 1997 Gavin Koch <gavin@cygnus.com>
9
10 * gencode.c (POP_AND,POP_OR,POP_NOR,POP_XOR):
11 Change values to avoid overloading DOUBLEWORD which is tested
12 for all insns.
13 * gencode.c: reinstate "offending code".
14end-sanitize-r5900
15
16Mon Feb 24 22:47:14 1997 Dawn Perchik <dawn@cygnus.com>
17
18 * interp.c: Fix printing of addresses for non-64-bit targets.
19 (pr_addr): Add function to print address based on size.
20start-sanitize-r5900
21 * gencode.c: #ifdef out offending code until a permanent fix
22 can be added. Code is causing build errors for non-5900 mips targets.
23end-sanitize-r5900
24
25start-sanitize-r5900
26Thu Feb 20 10:40:24 1997 Gavin Koch <gavin@cetus.cygnus.com>
27
28 * gencode.c (process_instructions): Correct test for ISA dependent
29 architecture bits in isa field of MIPS_DECODE.
30
31end-sanitize-r5900
7e05106d
MA
32Wed Feb 19 14:42:09 1997 Mark Alexander <marka@cygnus.com>
33
34 * interp.c (simopen): Add support for LSI MiniRISC PMON vectors.
35
2d18fbc6 36start-sanitize-r5900
53b9417e 37Tue Feb 18 17:03:47 1997 Gavin Koch <gavin@cygnus.com>
2d18fbc6
GRK
38
39 * gencode.c (MIPS_DECODE): Correct instruction feature flags for
40 PMADDUW.
41
42end-sanitize-r5900
43Thu Feb 13 14:08:30 1997 Ian Lance Taylor <ian@cygnus.com>
44
45 * gencode.c (build_mips16_operands): Correct computation of base
46 address for extended PC relative instruction.
47
276c2d7d
GRK
48start-sanitize-r5900
49Fri Feb 7 11:12:44 1997 Gavin Koch <gavin@cygnus.com>
2d18fbc6
GRK
50
51 * Makefile.in, configure, configure.in, gencode.c,
52 interp.c, support.h: add r5900.
53
276c2d7d 54end-sanitize-r5900
da0bce9c
ILT
55Thu Feb 6 17:16:15 1997 Ian Lance Taylor <ian@cygnus.com>
56
57 * interp.c (mips16_entry): Add support for floating point cases.
58 (SignalException): Pass floating point cases to mips16_entry.
59 (ValueFPR): Don't restrict fmt_single and fmt_word to even
60 registers.
61 (StoreFPR): Likewise. Also, don't clobber fpr + 1 for fmt_single
62 or fmt_word.
63 (COP_LW): Pass fmt_word rather than fmt_uninterpreted to StoreFPR,
64 and then set the state to fmt_uninterpreted.
65 (COP_SW): Temporarily set the state to fmt_word while calling
66 ValueFPR.
67
6389d856
ILT
68Tue Feb 4 16:48:25 1997 Ian Lance Taylor <ian@cygnus.com>
69
70 * gencode.c (build_instruction): The high order may be set in the
71 comparison flags at any ISA level, not just ISA 4.
72
19c5af72
DE
73Tue Feb 4 13:33:30 1997 Doug Evans <dje@canuck.cygnus.com>
74
75 * Makefile.in (@COMMON_MAKEFILE_FRAG): Use
76 COMMON_{PRE,POST}_CONFIG_FRAG instead.
77 * configure.in: sinclude ../common/aclocal.m4.
78 * configure: Regenerated.
79
736a306c
ILT
80Fri Jan 31 11:11:45 1997 Ian Lance Taylor <ian@cygnus.com>
81
82 * configure: Rebuild after change to aclocal.m4.
83
295dbbe4
SG
84Thu Jan 23 11:46:23 1997 Stu Grossman (grossman@critters.cygnus.com)
85
86 * configure configure.in Makefile.in: Update to new configure
87 scheme which is more compatible with WinGDB builds.
88 * configure.in: Improve comment on how to run autoconf.
89 * configure: Re-run autoconf to get new ../common/aclocal.m4.
90 * Makefile.in: Use autoconf substitution to install common
91 makefile fragment.
92
93Wed Jan 8 12:39:03 1997 Jim Wilson <wilson@cygnus.com>
94
95 * gencode.c (build_instruction): Use BigEndianCPU instead of
96 ByteSwapMem.
97
e1db0d47
MA
98Thu Jan 02 22:23:04 1997 Mark Alexander <marka@cygnus.com>
99
100 * interp.c (sim_monitor): Make output to stdout visible in
101 wingdb's I/O log window.
102
2902e8ab
MA
103Tue Dec 31 07:04:00 1996 Mark Alexander <marka@cygnus.com>
104
105 * support.h: Undo previous change to SIGTRAP
106 and SIGQUIT values.
107
7e6c297e
ILT
108Mon Dec 30 17:36:06 1996 Ian Lance Taylor <ian@cygnus.com>
109
110 * interp.c (store_word, load_word): New static functions.
111 (mips16_entry): New static function.
112 (SignalException): Look for mips16 entry and exit instructions.
113 (simulate): Use the correct index when setting fpr_state after
114 doing a pending move.
115
0049ba7a
MA
116Sun Dec 29 09:37:18 1996 Mark Alexander <marka@cygnus.com>
117
118 * interp.c: Fix byte-swapping code throughout to work on
119 both little- and big-endian hosts.
120
2510786b
MA
121Sun Dec 29 09:18:32 1996 Mark Alexander <marka@cygnus.com>
122
123 * support.h: Make definitions of SIGTRAP and SIGQUIT consistent
124 with gdb/config/i386/xm-windows.h.
125
39bf0ef4
MA
126Fri Dec 27 22:48:51 1996 Mark Alexander <marka@cygnus.com>
127
128 * gencode.c (build_instruction): Work around MSVC++ code gen bug
129 that messes up arithmetic shifts.
130
dbeec768
SG
131Fri Dec 20 11:04:05 1996 Stu Grossman (grossman@critters.cygnus.com)
132
133 * support.h: Use _WIN32 instead of __WIN32__. Also add defs for
134 SIGTRAP and SIGQUIT for _WIN32.
135
deffd638
ILT
136Thu Dec 19 14:07:27 1996 Ian Lance Taylor <ian@cygnus.com>
137
138 * gencode.c (build_instruction) [MUL]: Cast operands to word64, to
139 force a 64 bit multiplication.
140 (build_instruction) [OR]: In mips16 mode, don't do anything if the
141 destination register is 0, since that is the default mips16 nop
142 instruction.
143
aaff8437
ILT
144Mon Dec 16 14:59:38 1996 Ian Lance Taylor <ian@cygnus.com>
145
063443cf
ILT
146 * gencode.c (MIPS16_DECODE): SWRASP is I8, not RI.
147 (build_endian_shift): Don't check proc64.
148 (build_instruction): Always set memval to uword64. Cast op2 to
149 uword64 when shifting it left in memory instructions. Always use
150 the same code for stores--don't special case proc64.
151
aaff8437
ILT
152 * gencode.c (build_mips16_operands): Fix base PC value for PC
153 relative operands.
154 (build_instruction): Call JALDELAYSLOT rather than DELAYSLOT for a
155 jal instruction.
156 * interp.c (simJALDELAYSLOT): Define.
157 (JALDELAYSLOT): Define.
158 (INDELAYSLOT, INJALDELAYSLOT): Define.
159 (simulate): Clear simJALDELAYSLOT when simDELAYSLOT is cleared.
160
280f90e1
AMT
161Tue Dec 24 22:11:20 1996 Angela Marie Thomas (angela@cygnus.com)
162
163 * interp.c (sim_open): add flush_cache as a PMON routine
164 (sim_monitor): handle flush_cache by ignoring it
165
aaff8437
ILT
166Wed Dec 11 13:53:51 1996 Jim Wilson <wilson@cygnus.com>
167
168 * gencode.c (build_instruction): Use !ByteSwapMem instead of
169 BigEndianMem.
170 * interp.c (CONFIG, config_EP_{mask,shift,D,DxxDxx, config_BE): Delete.
171 (BigEndianMem): Rename to ByteSwapMem and change sense.
172 (BigEndianCPU, sim_write, LoadMemory, StoreMemory): Change
173 BigEndianMem references to !ByteSwapMem.
174 (set_endianness): New function, with prototype.
175 (sim_open): Call set_endianness.
176 (sim_info): Use simBE instead of BigEndianMem.
177 (xfer_direct_word, xfer_direct_long, swap_direct_word,
178 swap_direct_long, xfer_big_word, xfer_big_long, xfer_little_word,
179 xfer_little_long, swap_word, swap_long): Delete unnecessary MSC_VER
180 ifdefs, keeping the prototype declaration.
181 (swap_word): Rewrite correctly.
182 (ColdReset): Delete references to CONFIG. Delete endianness related
183 code; moved to set_endianness.
184
6429b296
JW
185Tue Dec 10 11:32:04 1996 Jim Wilson <wilson@cygnus.com>
186
187 * gencode.c (build_instruction, case JUMP): Truncate PC to 32 bits.
188 * interp.c (CHECKHILO): Define away.
189 (simSIGINT): New macro.
190 (membank_size): Increase from 1MB to 2MB.
191 (control_c): New function.
192 (sim_resume): Rename parameter signal to signal_number. Add local
193 variable prev. Call signal before and after simulate.
194 (sim_stop_reason): Add simSIGINT support.
195 (sim_warning, sim_error, dotrace, SignalException): Define as stdarg
196 functions always.
197 (sim_warning): Delete call to SignalException. Do call printf_filtered
198 if logfh is NULL.
199 (AddressTranslation): Add #ifdef DEBUG around debugging message and
200 a call to sim_warning.
201
202Wed Nov 27 11:53:50 1996 Ian Lance Taylor <ian@cygnus.com>
203
204 * gencode.c (process_instructions): If ! proc64, skip DOUBLEWORD
205 16 bit instructions.
206
831f59a2
ILT
207Tue Nov 26 11:53:12 1996 Ian Lance Taylor <ian@cygnus.com>
208
209 Add support for mips16 (16 bit MIPS implementation):
210 * gencode.c (inst_type): Add mips16 instruction encoding types.
211 (GETDATASIZEINSN): Define.
212 (MIPS_DECODE): Add REG flag to dsllv, dsrav, and dsrlv. Add
213 jalx. Add LEFT flag to mfhi and mflo. Add RIGHT flag to mthi and
214 mtlo.
215 (MIPS16_DECODE): New table, for mips16 instructions.
216 (bitmap_val): New static function.
217 (struct mips16_op): Define.
218 (mips16_op_table): New table, for mips16 operands.
219 (build_mips16_operands): New static function.
220 (process_instructions): If PC is odd, decode a mips16
221 instruction. Break out instruction handling into new
222 build_instruction function.
223 (build_instruction): New static function, broken out of
224 process_instructions. Check modifiers rather than flags for SHIFT
225 bit count and m[ft]{hi,lo} direction.
226 (usage): Pass program name to fprintf.
227 (main): Remove unused variable this_option_optind. Change
228 ``*loptarg++'' to ``loptarg++''.
229 (my_strtoul): Parenthesize && within ||.
350d33b8 230 * interp.c (LoadMemory): Accept a halfword pAddr if vAddr is odd.
831f59a2
ILT
231 (simulate): If PC is odd, fetch a 16 bit instruction, and
232 increment PC by 2 rather than 4.
233 * configure.in: Add case for mips16*-*-*.
234 * configure: Rebuild.
235
236Fri Nov 22 08:49:36 1996 Mark Alexander <marka@cygnus.com>
237
238 * interp.c: Allow -t to enable tracing in standalone simulator.
239 Fix garbage output in trace file and error messages.
240
e3d12c65
DE
241Wed Nov 20 01:54:37 1996 Doug Evans <dje@canuck.cygnus.com>
242
243 * Makefile.in: Delete stuff moved to ../common/Make-common.in.
244 (SIM_{OBJS,EXTRA_CFLAGS,EXTRA_CLEAN}): Define.
245 * configure.in: Simplify using macros in ../common/aclocal.m4.
246 * configure: Regenerated.
247 * tconfig.in: New file.
248
249Tue Nov 12 13:34:00 1996 Dawn Perchik <dawn@cygnus.com>
250
251 * interp.c: Fix bugs in 64-bit port.
252 Use ansi function declarations for msvc compiler.
253 Initialize and test file pointer in trace code.
254 Prevent duplicate definition of LAST_EMED_REGNUM.
255
256Tue Oct 15 11:07:06 1996 Mark Alexander <marka@cygnus.com>
257
258 * interp.c (xfer_big_long): Prevent unwanted sign extension.
259
260Thu Sep 26 17:35:00 1996 James G. Smith <jsmith@cygnus.co.uk>
261
262 * interp.c (SignalException): Check for explicit terminating
263 breakpoint value.
264 * gencode.c: Pass instruction value through SignalException()
265 calls for Trap, Breakpoint and Syscall.
266
267Thu Sep 26 11:35:17 1996 James G. Smith <jsmith@cygnus.co.uk>
268
269 * interp.c (SquareRoot): Add HAVE_SQRT check to ensure sqrt() is
270 only used on those hosts that provide it.
271 * configure.in: Add sqrt() to list of functions to be checked for.
272 * config.in: Re-generated.
273 * configure: Re-generated.
274
275Fri Sep 20 15:47:12 1996 Ian Lance Taylor <ian@cygnus.com>
276
277 * gencode.c (process_instructions): Call build_endian_shift when
278 expanding STORE RIGHT, to fix swr.
279 * support.h (SIGNEXTEND): If the sign bit is not set, explicitly
280 clear the high bits.
281 * interp.c (Convert): Fix fmt_single to fmt_long to not truncate.
282 Fix float to int conversions to produce signed values.
283
cc5201d7
ILT
284Thu Sep 19 15:34:17 1996 Ian Lance Taylor <ian@cygnus.com>
285
458e1f58
ILT
286 * gencode.c (MIPS_DECODE): Set UNSIGNED for multu instruction.
287 (process_instructions): Correct handling of nor instruction.
288 Correct shift count for 32 bit shift instructions. Correct sign
289 extension for arithmetic shifts to not shift the number of bits in
290 the type. Fix 64 bit multiply high word calculation. Fix 32 bit
291 unsigned multiply. Fix ldxc1 and friends to use coprocessor 1.
292 Fix madd.
c05d1721
ILT
293 * interp.c (CHECKHILO): Don't set HIACCESS, LOACCESS, or HLPC.
294 It's OK to have a mult follow a mult. What's not OK is to have a
295 mult follow an mfhi.
458e1f58 296 (Convert): Comment out incorrect rounding code.
cc5201d7 297
f24b7b69
JSC
298Mon Sep 16 11:38:16 1996 James G. Smith <jsmith@cygnus.co.uk>
299
300 * interp.c (sim_monitor): Improved monitor printf
301 simulation. Tidied up simulator warnings, and added "--log" option
302 for directing warning message output.
303 * gencode.c: Use sim_warning() rather than WARNING macro.
304
305Thu Aug 22 15:03:12 1996 Ian Lance Taylor <ian@cygnus.com>
306
307 * Makefile.in (gencode): Depend upon gencode.o, getopt.o, and
308 getopt1.o, rather than on gencode.c. Link objects together.
309 Don't link against -liberty.
310 (gencode.o, getopt.o, getopt1.o): New targets.
311 * gencode.c: Include <ctype.h> and "ansidecl.h".
312 (AND): Undefine after including "ansidecl.h".
313 (ULONG_MAX): Define if not defined.
314 (OP_*): Don't define macros; now defined in opcode/mips.h.
315 (main): Call my_strtoul rather than strtoul.
316 (my_strtoul): New static function.
317
318Wed Jul 17 18:12:38 1996 Stu Grossman (grossman@critters.cygnus.com)
319
320 * gencode.c (process_instructions): Generate word64 and uword64
321 instead of `long long' and `unsigned long long' data types.
322 * interp.c: #include sysdep.h to get signals, and define default
323 for SIGBUS.
324 * (Convert): Work around for Visual-C++ compiler bug with type
325 conversion.
326 * support.h: Make things compile under Visual-C++ by using
327 __int64 instead of `long long'. Change many refs to long long
328 into word64/uword64 typedefs.
329
a271d1d9
JM
330Wed Jun 26 12:24:55 1996 Jason Molenda (crash@godzilla.cygnus.co.jp)
331
332 * Makefile.in (bindir, libdir, datadir, mandir, infodir, includedir,
333 INSTALL_PROGRAM, INSTALL_DATA): Use autoconf-set values.
334 (docdir): Removed.
335 * configure.in (AC_PREREQ): autoconf 2.5 or higher.
336 (AC_PROG_INSTALL): Added.
337 (AC_PROG_CC): Moved to before configure.host call.
338 * configure: Rebuilt.
339
340Wed Jun 5 08:28:13 1996 James G. Smith <jsmith@cygnus.co.uk>
341
342 * configure.in: Define @SIMCONF@ depending on mips target.
343 * configure: Rebuild.
344 * Makefile.in (run): Add @SIMCONF@ to control simulator
345 construction.
346 * gencode.c: Change LOADDRMASK to 64bit memory model only.
347 * interp.c: Remove some debugging, provide more detailed error
348 messages, update memory accesses to use LOADDRMASK.
349
4fa134be
ILT
350Mon Jun 3 11:55:03 1996 Ian Lance Taylor <ian@cygnus.com>
351
352 * configure.in: Add calls to AC_CONFIG_HEADER, AC_CHECK_HEADERS,
353 AC_CHECK_LIB, and AC_CHECK_FUNCS. Change AC_OUTPUT to set
354 stamp-h.
355 * configure: Rebuild.
356 * config.in: New file, generated by autoheader.
357 * interp.c: Include "config.h". Include <stdlib.h>, <string.h>,
358 and <strings.h> if they exist. Replace #ifdef sun with #ifdef
359 HAVE_ANINT and HAVE_AINT, as appropriate.
360 * Makefile.in (run): Use @LIBS@ rather than -lm.
361 (interp.o): Depend upon config.h.
362 (Makefile): Just rebuild Makefile.
363 (clean): Remove stamp-h.
364 (mostlyclean): Make the same as clean, not as distclean.
365 (config.h, stamp-h): New targets.
366
367Fri May 10 00:41:17 1996 James G. Smith <jsmith@cygnus.co.uk>
368
369 * interp.c (ColdReset): Fix boolean test. Make all simulator
370 globals static.
371
f7481d45
JSC
372Wed May 8 15:12:58 1996 James G. Smith <jsmith@cygnus.co.uk>
373
374 * interp.c (xfer_direct_word, xfer_direct_long,
375 swap_direct_word, swap_direct_long, xfer_big_word,
376 xfer_big_long, xfer_little_word, xfer_little_long,
377 swap_word,swap_long): Added.
378 * interp.c (ColdReset): Provide function indirection to
379 host<->simulated_target transfer routines.
380 * interp.c (sim_store_register, sim_fetch_register): Updated to
381 make use of indirected transfer routines.
382
383Fri Apr 19 15:48:24 1996 James G. Smith <jsmith@cygnus.co.uk>
384
385 * gencode.c (process_instructions): Ensure FP ABS instruction
386 recognised.
387 * interp.c (AbsoluteValue): Add routine. Also provide simple PMON
388 system call support.
389
8b554809
JSC
390Wed Apr 10 09:51:38 1996 James G. Smith <jsmith@cygnus.co.uk>
391
392 * interp.c (sim_do_command): Complain if callback structure not
393 initialised.
394
d0757082
JSC
395Thu Mar 28 13:50:51 1996 James G. Smith <jsmith@cygnus.co.uk>
396
397 * interp.c (Convert): Provide round-to-nearest and round-to-zero
398 support for Sun hosts.
399 * Makefile.in (gencode): Ensure the host compiler and libraries
400 used for cross-hosted build.
401
e871dd18
JSC
402Wed Mar 27 14:42:12 1996 James G. Smith <jsmith@cygnus.co.uk>
403
404 * interp.c, gencode.c: Some more (TODO) tidying.
405
406Thu Mar 7 11:19:33 1996 James G. Smith <jsmith@cygnus.co.uk>
407
408 * gencode.c, interp.c: Replaced explicit long long references with
409 WORD64HI, WORD64LO, SET64HI and SET64LO macro calls.
410 * support.h (SET64LO, SET64HI): Macros added.
411
5c59ec43
ILT
412Wed Feb 21 12:16:21 1996 Ian Lance Taylor <ian@cygnus.com>
413
414 * configure: Regenerate with autoconf 2.7.
415
416Tue Jan 30 08:48:18 1996 Fred Fish <fnf@cygnus.com>
417
418 * interp.c (LoadMemory): Enclose text following #endif in /* */.
419 * support.h: Remove superfluous "1" from #if.
420 * support.h (CHECKSIM): Remove stray 'a' at end of line.
421
422Mon Dec 4 11:44:40 1995 Jamie Smith <jsmith@cygnus.com>
423
424 * interp.c (StoreFPR): Control UndefinedResult() call on
425 WARN_RESULT manifest.
426
8bae0a0c
JSC
427Fri Dec 1 16:37:19 1995 James G. Smith <jsmith@cygnus.co.uk>
428
429 * gencode.c: Tidied instruction decoding, and added FP instruction
430 support.
431
432 * interp.c: Added dineroIII, and BSD profiling support. Also
433 run-time FP handling.
434
435Sun Oct 22 00:57:18 1995 James G. Smith <jsmith@pasanda.cygnus.co.uk>
436
437 * Changelog, Makefile.in, README.Cygnus, configure, configure.in,
438 gencode.c, interp.c, support.h: created.
This page took 0.08254 seconds and 4 git commands to generate.