| 1 | Mon Dec 30 17:36:06 1996 Ian Lance Taylor <ian@cygnus.com> |
| 2 | |
| 3 | * interp.c (store_word, load_word): New static functions. |
| 4 | (mips16_entry): New static function. |
| 5 | (SignalException): Look for mips16 entry and exit instructions. |
| 6 | (simulate): Use the correct index when setting fpr_state after |
| 7 | doing a pending move. |
| 8 | |
| 9 | Sun Dec 29 09:37:18 1996 Mark Alexander <marka@cygnus.com> |
| 10 | |
| 11 | * interp.c: Fix byte-swapping code throughout to work on |
| 12 | both little- and big-endian hosts. |
| 13 | |
| 14 | Sun Dec 29 09:18:32 1996 Mark Alexander <marka@cygnus.com> |
| 15 | |
| 16 | * support.h: Make definitions of SIGTRAP and SIGQUIT consistent |
| 17 | with gdb/config/i386/xm-windows.h. |
| 18 | |
| 19 | Fri Dec 27 22:48:51 1996 Mark Alexander <marka@cygnus.com> |
| 20 | |
| 21 | * gencode.c (build_instruction): Work around MSVC++ code gen bug |
| 22 | that messes up arithmetic shifts. |
| 23 | |
| 24 | Fri Dec 20 11:04:05 1996 Stu Grossman (grossman@critters.cygnus.com) |
| 25 | |
| 26 | * support.h: Use _WIN32 instead of __WIN32__. Also add defs for |
| 27 | SIGTRAP and SIGQUIT for _WIN32. |
| 28 | |
| 29 | Thu Dec 19 14:07:27 1996 Ian Lance Taylor <ian@cygnus.com> |
| 30 | |
| 31 | * gencode.c (build_instruction) [MUL]: Cast operands to word64, to |
| 32 | force a 64 bit multiplication. |
| 33 | (build_instruction) [OR]: In mips16 mode, don't do anything if the |
| 34 | destination register is 0, since that is the default mips16 nop |
| 35 | instruction. |
| 36 | |
| 37 | Mon Dec 16 14:59:38 1996 Ian Lance Taylor <ian@cygnus.com> |
| 38 | |
| 39 | * gencode.c (MIPS16_DECODE): SWRASP is I8, not RI. |
| 40 | (build_endian_shift): Don't check proc64. |
| 41 | (build_instruction): Always set memval to uword64. Cast op2 to |
| 42 | uword64 when shifting it left in memory instructions. Always use |
| 43 | the same code for stores--don't special case proc64. |
| 44 | |
| 45 | * gencode.c (build_mips16_operands): Fix base PC value for PC |
| 46 | relative operands. |
| 47 | (build_instruction): Call JALDELAYSLOT rather than DELAYSLOT for a |
| 48 | jal instruction. |
| 49 | * interp.c (simJALDELAYSLOT): Define. |
| 50 | (JALDELAYSLOT): Define. |
| 51 | (INDELAYSLOT, INJALDELAYSLOT): Define. |
| 52 | (simulate): Clear simJALDELAYSLOT when simDELAYSLOT is cleared. |
| 53 | |
| 54 | Tue Dec 24 22:11:20 1996 Angela Marie Thomas (angela@cygnus.com) |
| 55 | |
| 56 | * interp.c (sim_open): add flush_cache as a PMON routine |
| 57 | (sim_monitor): handle flush_cache by ignoring it |
| 58 | |
| 59 | Wed Dec 11 13:53:51 1996 Jim Wilson <wilson@cygnus.com> |
| 60 | |
| 61 | * gencode.c (build_instruction): Use !ByteSwapMem instead of |
| 62 | BigEndianMem. |
| 63 | * interp.c (CONFIG, config_EP_{mask,shift,D,DxxDxx, config_BE): Delete. |
| 64 | (BigEndianMem): Rename to ByteSwapMem and change sense. |
| 65 | (BigEndianCPU, sim_write, LoadMemory, StoreMemory): Change |
| 66 | BigEndianMem references to !ByteSwapMem. |
| 67 | (set_endianness): New function, with prototype. |
| 68 | (sim_open): Call set_endianness. |
| 69 | (sim_info): Use simBE instead of BigEndianMem. |
| 70 | (xfer_direct_word, xfer_direct_long, swap_direct_word, |
| 71 | swap_direct_long, xfer_big_word, xfer_big_long, xfer_little_word, |
| 72 | xfer_little_long, swap_word, swap_long): Delete unnecessary MSC_VER |
| 73 | ifdefs, keeping the prototype declaration. |
| 74 | (swap_word): Rewrite correctly. |
| 75 | (ColdReset): Delete references to CONFIG. Delete endianness related |
| 76 | code; moved to set_endianness. |
| 77 | |
| 78 | Tue Dec 10 11:32:04 1996 Jim Wilson <wilson@cygnus.com> |
| 79 | |
| 80 | * gencode.c (build_instruction, case JUMP): Truncate PC to 32 bits. |
| 81 | * interp.c (CHECKHILO): Define away. |
| 82 | (simSIGINT): New macro. |
| 83 | (membank_size): Increase from 1MB to 2MB. |
| 84 | (control_c): New function. |
| 85 | (sim_resume): Rename parameter signal to signal_number. Add local |
| 86 | variable prev. Call signal before and after simulate. |
| 87 | (sim_stop_reason): Add simSIGINT support. |
| 88 | (sim_warning, sim_error, dotrace, SignalException): Define as stdarg |
| 89 | functions always. |
| 90 | (sim_warning): Delete call to SignalException. Do call printf_filtered |
| 91 | if logfh is NULL. |
| 92 | (AddressTranslation): Add #ifdef DEBUG around debugging message and |
| 93 | a call to sim_warning. |
| 94 | |
| 95 | Wed Nov 27 11:53:50 1996 Ian Lance Taylor <ian@cygnus.com> |
| 96 | |
| 97 | * gencode.c (process_instructions): If ! proc64, skip DOUBLEWORD |
| 98 | 16 bit instructions. |
| 99 | |
| 100 | Tue Nov 26 11:53:12 1996 Ian Lance Taylor <ian@cygnus.com> |
| 101 | |
| 102 | Add support for mips16 (16 bit MIPS implementation): |
| 103 | * gencode.c (inst_type): Add mips16 instruction encoding types. |
| 104 | (GETDATASIZEINSN): Define. |
| 105 | (MIPS_DECODE): Add REG flag to dsllv, dsrav, and dsrlv. Add |
| 106 | jalx. Add LEFT flag to mfhi and mflo. Add RIGHT flag to mthi and |
| 107 | mtlo. |
| 108 | (MIPS16_DECODE): New table, for mips16 instructions. |
| 109 | (bitmap_val): New static function. |
| 110 | (struct mips16_op): Define. |
| 111 | (mips16_op_table): New table, for mips16 operands. |
| 112 | (build_mips16_operands): New static function. |
| 113 | (process_instructions): If PC is odd, decode a mips16 |
| 114 | instruction. Break out instruction handling into new |
| 115 | build_instruction function. |
| 116 | (build_instruction): New static function, broken out of |
| 117 | process_instructions. Check modifiers rather than flags for SHIFT |
| 118 | bit count and m[ft]{hi,lo} direction. |
| 119 | (usage): Pass program name to fprintf. |
| 120 | (main): Remove unused variable this_option_optind. Change |
| 121 | ``*loptarg++'' to ``loptarg++''. |
| 122 | (my_strtoul): Parenthesize && within ||. |
| 123 | * interp.c (LoadMemory): Accept a halfword pAddr if vAddr is odd. |
| 124 | (simulate): If PC is odd, fetch a 16 bit instruction, and |
| 125 | increment PC by 2 rather than 4. |
| 126 | * configure.in: Add case for mips16*-*-*. |
| 127 | * configure: Rebuild. |
| 128 | |
| 129 | Fri Nov 22 08:49:36 1996 Mark Alexander <marka@cygnus.com> |
| 130 | |
| 131 | * interp.c: Allow -t to enable tracing in standalone simulator. |
| 132 | Fix garbage output in trace file and error messages. |
| 133 | |
| 134 | Wed Nov 20 01:54:37 1996 Doug Evans <dje@canuck.cygnus.com> |
| 135 | |
| 136 | * Makefile.in: Delete stuff moved to ../common/Make-common.in. |
| 137 | (SIM_{OBJS,EXTRA_CFLAGS,EXTRA_CLEAN}): Define. |
| 138 | * configure.in: Simplify using macros in ../common/aclocal.m4. |
| 139 | * configure: Regenerated. |
| 140 | * tconfig.in: New file. |
| 141 | |
| 142 | Tue Nov 12 13:34:00 1996 Dawn Perchik <dawn@cygnus.com> |
| 143 | |
| 144 | * interp.c: Fix bugs in 64-bit port. |
| 145 | Use ansi function declarations for msvc compiler. |
| 146 | Initialize and test file pointer in trace code. |
| 147 | Prevent duplicate definition of LAST_EMED_REGNUM. |
| 148 | |
| 149 | Tue Oct 15 11:07:06 1996 Mark Alexander <marka@cygnus.com> |
| 150 | |
| 151 | * interp.c (xfer_big_long): Prevent unwanted sign extension. |
| 152 | |
| 153 | Thu Sep 26 17:35:00 1996 James G. Smith <jsmith@cygnus.co.uk> |
| 154 | |
| 155 | * interp.c (SignalException): Check for explicit terminating |
| 156 | breakpoint value. |
| 157 | * gencode.c: Pass instruction value through SignalException() |
| 158 | calls for Trap, Breakpoint and Syscall. |
| 159 | |
| 160 | Thu Sep 26 11:35:17 1996 James G. Smith <jsmith@cygnus.co.uk> |
| 161 | |
| 162 | * interp.c (SquareRoot): Add HAVE_SQRT check to ensure sqrt() is |
| 163 | only used on those hosts that provide it. |
| 164 | * configure.in: Add sqrt() to list of functions to be checked for. |
| 165 | * config.in: Re-generated. |
| 166 | * configure: Re-generated. |
| 167 | |
| 168 | Fri Sep 20 15:47:12 1996 Ian Lance Taylor <ian@cygnus.com> |
| 169 | |
| 170 | * gencode.c (process_instructions): Call build_endian_shift when |
| 171 | expanding STORE RIGHT, to fix swr. |
| 172 | * support.h (SIGNEXTEND): If the sign bit is not set, explicitly |
| 173 | clear the high bits. |
| 174 | * interp.c (Convert): Fix fmt_single to fmt_long to not truncate. |
| 175 | Fix float to int conversions to produce signed values. |
| 176 | |
| 177 | Thu Sep 19 15:34:17 1996 Ian Lance Taylor <ian@cygnus.com> |
| 178 | |
| 179 | * gencode.c (MIPS_DECODE): Set UNSIGNED for multu instruction. |
| 180 | (process_instructions): Correct handling of nor instruction. |
| 181 | Correct shift count for 32 bit shift instructions. Correct sign |
| 182 | extension for arithmetic shifts to not shift the number of bits in |
| 183 | the type. Fix 64 bit multiply high word calculation. Fix 32 bit |
| 184 | unsigned multiply. Fix ldxc1 and friends to use coprocessor 1. |
| 185 | Fix madd. |
| 186 | * interp.c (CHECKHILO): Don't set HIACCESS, LOACCESS, or HLPC. |
| 187 | It's OK to have a mult follow a mult. What's not OK is to have a |
| 188 | mult follow an mfhi. |
| 189 | (Convert): Comment out incorrect rounding code. |
| 190 | |
| 191 | Mon Sep 16 11:38:16 1996 James G. Smith <jsmith@cygnus.co.uk> |
| 192 | |
| 193 | * interp.c (sim_monitor): Improved monitor printf |
| 194 | simulation. Tidied up simulator warnings, and added "--log" option |
| 195 | for directing warning message output. |
| 196 | * gencode.c: Use sim_warning() rather than WARNING macro. |
| 197 | |
| 198 | Thu Aug 22 15:03:12 1996 Ian Lance Taylor <ian@cygnus.com> |
| 199 | |
| 200 | * Makefile.in (gencode): Depend upon gencode.o, getopt.o, and |
| 201 | getopt1.o, rather than on gencode.c. Link objects together. |
| 202 | Don't link against -liberty. |
| 203 | (gencode.o, getopt.o, getopt1.o): New targets. |
| 204 | * gencode.c: Include <ctype.h> and "ansidecl.h". |
| 205 | (AND): Undefine after including "ansidecl.h". |
| 206 | (ULONG_MAX): Define if not defined. |
| 207 | (OP_*): Don't define macros; now defined in opcode/mips.h. |
| 208 | (main): Call my_strtoul rather than strtoul. |
| 209 | (my_strtoul): New static function. |
| 210 | |
| 211 | Wed Jul 17 18:12:38 1996 Stu Grossman (grossman@critters.cygnus.com) |
| 212 | |
| 213 | * gencode.c (process_instructions): Generate word64 and uword64 |
| 214 | instead of `long long' and `unsigned long long' data types. |
| 215 | * interp.c: #include sysdep.h to get signals, and define default |
| 216 | for SIGBUS. |
| 217 | * (Convert): Work around for Visual-C++ compiler bug with type |
| 218 | conversion. |
| 219 | * support.h: Make things compile under Visual-C++ by using |
| 220 | __int64 instead of `long long'. Change many refs to long long |
| 221 | into word64/uword64 typedefs. |
| 222 | |
| 223 | Wed Jun 26 12:24:55 1996 Jason Molenda (crash@godzilla.cygnus.co.jp) |
| 224 | |
| 225 | * Makefile.in (bindir, libdir, datadir, mandir, infodir, includedir, |
| 226 | INSTALL_PROGRAM, INSTALL_DATA): Use autoconf-set values. |
| 227 | (docdir): Removed. |
| 228 | * configure.in (AC_PREREQ): autoconf 2.5 or higher. |
| 229 | (AC_PROG_INSTALL): Added. |
| 230 | (AC_PROG_CC): Moved to before configure.host call. |
| 231 | * configure: Rebuilt. |
| 232 | |
| 233 | Wed Jun 5 08:28:13 1996 James G. Smith <jsmith@cygnus.co.uk> |
| 234 | |
| 235 | * configure.in: Define @SIMCONF@ depending on mips target. |
| 236 | * configure: Rebuild. |
| 237 | * Makefile.in (run): Add @SIMCONF@ to control simulator |
| 238 | construction. |
| 239 | * gencode.c: Change LOADDRMASK to 64bit memory model only. |
| 240 | * interp.c: Remove some debugging, provide more detailed error |
| 241 | messages, update memory accesses to use LOADDRMASK. |
| 242 | |
| 243 | Mon Jun 3 11:55:03 1996 Ian Lance Taylor <ian@cygnus.com> |
| 244 | |
| 245 | * configure.in: Add calls to AC_CONFIG_HEADER, AC_CHECK_HEADERS, |
| 246 | AC_CHECK_LIB, and AC_CHECK_FUNCS. Change AC_OUTPUT to set |
| 247 | stamp-h. |
| 248 | * configure: Rebuild. |
| 249 | * config.in: New file, generated by autoheader. |
| 250 | * interp.c: Include "config.h". Include <stdlib.h>, <string.h>, |
| 251 | and <strings.h> if they exist. Replace #ifdef sun with #ifdef |
| 252 | HAVE_ANINT and HAVE_AINT, as appropriate. |
| 253 | * Makefile.in (run): Use @LIBS@ rather than -lm. |
| 254 | (interp.o): Depend upon config.h. |
| 255 | (Makefile): Just rebuild Makefile. |
| 256 | (clean): Remove stamp-h. |
| 257 | (mostlyclean): Make the same as clean, not as distclean. |
| 258 | (config.h, stamp-h): New targets. |
| 259 | |
| 260 | Fri May 10 00:41:17 1996 James G. Smith <jsmith@cygnus.co.uk> |
| 261 | |
| 262 | * interp.c (ColdReset): Fix boolean test. Make all simulator |
| 263 | globals static. |
| 264 | |
| 265 | Wed May 8 15:12:58 1996 James G. Smith <jsmith@cygnus.co.uk> |
| 266 | |
| 267 | * interp.c (xfer_direct_word, xfer_direct_long, |
| 268 | swap_direct_word, swap_direct_long, xfer_big_word, |
| 269 | xfer_big_long, xfer_little_word, xfer_little_long, |
| 270 | swap_word,swap_long): Added. |
| 271 | * interp.c (ColdReset): Provide function indirection to |
| 272 | host<->simulated_target transfer routines. |
| 273 | * interp.c (sim_store_register, sim_fetch_register): Updated to |
| 274 | make use of indirected transfer routines. |
| 275 | |
| 276 | Fri Apr 19 15:48:24 1996 James G. Smith <jsmith@cygnus.co.uk> |
| 277 | |
| 278 | * gencode.c (process_instructions): Ensure FP ABS instruction |
| 279 | recognised. |
| 280 | * interp.c (AbsoluteValue): Add routine. Also provide simple PMON |
| 281 | system call support. |
| 282 | |
| 283 | Wed Apr 10 09:51:38 1996 James G. Smith <jsmith@cygnus.co.uk> |
| 284 | |
| 285 | * interp.c (sim_do_command): Complain if callback structure not |
| 286 | initialised. |
| 287 | |
| 288 | Thu Mar 28 13:50:51 1996 James G. Smith <jsmith@cygnus.co.uk> |
| 289 | |
| 290 | * interp.c (Convert): Provide round-to-nearest and round-to-zero |
| 291 | support for Sun hosts. |
| 292 | * Makefile.in (gencode): Ensure the host compiler and libraries |
| 293 | used for cross-hosted build. |
| 294 | |
| 295 | Wed Mar 27 14:42:12 1996 James G. Smith <jsmith@cygnus.co.uk> |
| 296 | |
| 297 | * interp.c, gencode.c: Some more (TODO) tidying. |
| 298 | |
| 299 | Thu Mar 7 11:19:33 1996 James G. Smith <jsmith@cygnus.co.uk> |
| 300 | |
| 301 | * gencode.c, interp.c: Replaced explicit long long references with |
| 302 | WORD64HI, WORD64LO, SET64HI and SET64LO macro calls. |
| 303 | * support.h (SET64LO, SET64HI): Macros added. |
| 304 | |
| 305 | Wed Feb 21 12:16:21 1996 Ian Lance Taylor <ian@cygnus.com> |
| 306 | |
| 307 | * configure: Regenerate with autoconf 2.7. |
| 308 | |
| 309 | Tue Jan 30 08:48:18 1996 Fred Fish <fnf@cygnus.com> |
| 310 | |
| 311 | * interp.c (LoadMemory): Enclose text following #endif in /* */. |
| 312 | * support.h: Remove superfluous "1" from #if. |
| 313 | * support.h (CHECKSIM): Remove stray 'a' at end of line. |
| 314 | |
| 315 | Mon Dec 4 11:44:40 1995 Jamie Smith <jsmith@cygnus.com> |
| 316 | |
| 317 | * interp.c (StoreFPR): Control UndefinedResult() call on |
| 318 | WARN_RESULT manifest. |
| 319 | |
| 320 | Fri Dec 1 16:37:19 1995 James G. Smith <jsmith@cygnus.co.uk> |
| 321 | |
| 322 | * gencode.c: Tidied instruction decoding, and added FP instruction |
| 323 | support. |
| 324 | |
| 325 | * interp.c: Added dineroIII, and BSD profiling support. Also |
| 326 | run-time FP handling. |
| 327 | |
| 328 | Sun Oct 22 00:57:18 1995 James G. Smith <jsmith@pasanda.cygnus.co.uk> |
| 329 | |
| 330 | * Changelog, Makefile.in, README.Cygnus, configure, configure.in, |
| 331 | gencode.c, interp.c, support.h: created. |