| 1 | Tue Apr 18 16:26:41 2000 Andrew Cagney <cagney@b1.cygnus.com> |
| 2 | |
| 3 | * interp.c (sim_resume): Deliver SIGILL. |
| 4 | (lookup_hash): Do not print SIGILL message. |
| 5 | |
| 6 | Tue Feb 22 18:24:56 2000 Andrew Cagney <cagney@b1.cygnus.com> |
| 7 | |
| 8 | * Makefile.in (SIM_EXTRA_CFLAGS): Define SIM_HAVE_ENVIRONMENT. |
| 9 | * interp.c (sim_set_trace): Replace sim_trace. Enable tracing. |
| 10 | |
| 11 | Mon Jan 3 02:06:07 2000 Andrew Cagney <cagney@b1.cygnus.com> |
| 12 | |
| 13 | * interp.c (lookup_hash): Stop the update of the PC when there was |
| 14 | an illegal instruction exception. |
| 15 | |
| 16 | Mon Jan 3 00:14:33 2000 Andrew Cagney <cagney@b1.cygnus.com> |
| 17 | |
| 18 | * simops.c (address_exception): New function. |
| 19 | (OP_30000000, OP_6401, OP_6001, OP_6000, OP_32010000, OP_31000000, |
| 20 | OP_6601, OP_6201, OP_6200, OP_33010000, OP_34000000, OP_6800, |
| 21 | OP_6C1F, OP_6801, OP_6C01, OP_36010000, OP_35000000, OP_6A00, |
| 22 | OP_6E1F, OP_6A01, OP_6E01, OP_37010000): For "ld", "ld2w", "st" |
| 23 | and "st2w" check that the address is aligned. |
| 24 | |
| 25 | 1999-12-30 Chandra Chavva <cchavva@cygnus.com> |
| 26 | |
| 27 | * d10v_sim.h (INC_ADDR): Added code to assign |
| 28 | proper address for loads with predec operations. |
| 29 | |
| 30 | 1999-11-25 Nick Clifton <nickc@cygnus.com> |
| 31 | |
| 32 | * simops.c (OP_4E0F): New function: Simulate new bit pattern for |
| 33 | cpfg instruction. |
| 34 | |
| 35 | Fri Oct 29 18:34:28 1999 Andrew Cagney <cagney@b1.cygnus.com> |
| 36 | |
| 37 | * simops.c (move_to_cr): Don't allow user to set PSW.DM in either |
| 38 | DPSW and BPSW. |
| 39 | |
| 40 | Thu Oct 28 01:26:18 1999 Andrew Cagney <cagney@b1.cygnus.com> |
| 41 | |
| 42 | * simops.c (OP_5F20): Use SET_HW_PSW when updating PSW. |
| 43 | (PSW_HW_MASK): Declare. |
| 44 | |
| 45 | * d10v_sim.h (move_to_cr): Add ``psw_hw_p'' parameter. |
| 46 | (SET_CREG, SET_PSW_BIT): Update. |
| 47 | (SET_HW_CREG, SET_HW_PSW): Define. |
| 48 | |
| 49 | Sun Oct 24 21:38:04 1999 Andrew Cagney <cagney@b1.cygnus.com> |
| 50 | |
| 51 | * interp.c (sim_d10v_translate_dmap_addr): Fix extraction of IOSP |
| 52 | for DMAP3. |
| 53 | |
| 54 | Sun Oct 24 16:04:16 1999 Andrew Cagney <cagney@b1.cygnus.com> |
| 55 | |
| 56 | * interp.c (sim_d10v_translate_addr): New function. |
| 57 | (xfer_mem): Rewrite. Use sim_d10v_translate_addr. |
| 58 | (map_memory): Make INLINE. |
| 59 | |
| 60 | Sun Oct 24 13:45:19 1999 Andrew Cagney <cagney@b1.cygnus.com> |
| 61 | |
| 62 | * interp.c (sim_d10v_translate_dmap_addr): New function. |
| 63 | (dmem_addr): Rewrite. Use sim_d10v_translate_dmap_addr. Change |
| 64 | offset parameter to type uint16. |
| 65 | * d10v_sim.h (dmem_addr): Update declaration. |
| 66 | |
| 67 | Sun Oct 24 13:07:31 1999 Andrew Cagney <cagney@b1.cygnus.com> |
| 68 | |
| 69 | * interp.c (imap_register, set_imap_register, dmap_register, |
| 70 | set_imap_register): Use map_memory. |
| 71 | (DMAP): Update. |
| 72 | (sim_create_inferior): Initialize all DMAP registers. NOTE that |
| 73 | DMAP2, in internal memory mode, is set to 0x0000 and NOT |
| 74 | 0x2000. This is consistent with the older d10v boards. |
| 75 | |
| 76 | Sun Oct 24 11:22:12 1999 Andrew Cagney <cagney@b1.cygnus.com> |
| 77 | |
| 78 | * interp.c (sim_d10v_translate_imap_addr): New function. |
| 79 | (imem_addr): Rewrite. Use sim_d10v_translate_imap_addr. |
| 80 | (last_from, last_to): Declare. |
| 81 | |
| 82 | Sun Oct 24 01:21:56 1999 Andrew Cagney <cagney@b1.cygnus.com> |
| 83 | |
| 84 | * d10v_sim.h (struct d10v_memory): Define. Support very long |
| 85 | memories. |
| 86 | (struct _state): Replace imem, dmem and umem by mem. |
| 87 | (IMAP_BLOCK_SIZE, DMAP_BLOCK_SIZE, SEGMENT_SIZE, IMEM_SEGMENTS, |
| 88 | DMEM_SEGMENTS, UMEM_SEGMENTS): Define. |
| 89 | |
| 90 | * interp.c (map_memory): New function. |
| 91 | (sim_size, xfer_memory, imem_addr, dmem_addr): Update. |
| 92 | (UMEM_SEGMENTS): Moveed to "d10v_sim.h". |
| 93 | (IMEM_SIZEDMEM_SIZE): Delete. |
| 94 | |
| 95 | Sat Oct 23 20:06:58 1999 Andrew Cagney <cagney@b1.cygnus.com> |
| 96 | |
| 97 | * interp.c: Include "sim-d10v.h". |
| 98 | (imap_register, set_imap_register, dmap_register, |
| 99 | set_dmap_register, spi_register, spu_register, set_spi_register, |
| 100 | set_spu_register): New functions. |
| 101 | (sim_create_inferior): Update. |
| 102 | (sim_fetch_register, sim_store_register): Rewrite. Use enums |
| 103 | defined in sim-d10v.h. |
| 104 | |
| 105 | * d10v_sim.h (DEBUG_MEMORY): Define. |
| 106 | (IMAP0, IMAP1, DMAP, SET_IMAP0, SET_IMAP1, SET_DMAP): Delete. |
| 107 | |
| 108 | Sat Oct 23 18:41:18 1999 Andrew Cagney <cagney@b1.cygnus.com> |
| 109 | |
| 110 | * interp.c (sim_open): Allow a debug value to be passed to the -t |
| 111 | option. |
| 112 | (lookup_hash): Don't exit on an illegal instruction. |
| 113 | (do_long, do_2_short, do_parallel): Check for failed instruction |
| 114 | lookup. |
| 115 | |
| 116 | Mon Oct 18 18:03:24 MDT 1999 Diego Novillo <dnovillo@cygnus.com> |
| 117 | |
| 118 | * simops.c (OP_3220): Fix trace output for illegal accumulator |
| 119 | message. |
| 120 | |
| 121 | 1999-09-14 Nick Clifton <nickc@cygnus.com> |
| 122 | |
| 123 | * simops.c: Disable setting of DM bit in PSW. |
| 124 | |
| 125 | Wed Sep 8 19:34:55 MDT 1999 Diego Novillo <dnovillo@cygnus.com> |
| 126 | |
| 127 | * simops.c (op_types): Added new memory indirect type OP_MEMREF3. |
| 128 | (trace_input_func): Added support for OP_MEMREF3. |
| 129 | (OP_32010000): New instruction ld. |
| 130 | (OP_33010000): New instruction ld2w. |
| 131 | (OP_5209): New instruction sac. |
| 132 | (OP_4209): New instruction sachi. |
| 133 | (OP_3220): New instruction slae. |
| 134 | (OP_36010000): New instruction st. |
| 135 | (OP_37010000): New instruction st2w. |
| 136 | |
| 137 | 1999-09-09 Stan Shebs <shebs@andros.cygnus.com> |
| 138 | |
| 139 | * interp.c (old_segment_mapping): New global. |
| 140 | (xfer_mem): Change the default segment mapping to be the way |
| 141 | that Mitsubishi prefers, but use the previous mapping if |
| 142 | old_segment_mapping is true. |
| 143 | (sim_open): Add an option -oldseg to get the old mapping. |
| 144 | (sim_create_inferior): Init mapping registers based on the |
| 145 | value of old_segment_mapping. |
| 146 | |
| 147 | 1999-09-07 Nick Clifton <nickc@cygnus.com> |
| 148 | |
| 149 | * simops.c (OP_6601): Do not write back decremented address if |
| 150 | either of the destination registers was the same as the address |
| 151 | register. |
| 152 | (OP_6201): Do not write back incremented address if either of the |
| 153 | destination registers was the same as the address register. |
| 154 | |
| 155 | Thu Sep 2 18:15:53 1999 Andrew Cagney <cagney@b1.cygnus.com> |
| 156 | |
| 157 | * configure: Regenerated to track ../common/aclocal.m4 changes. |
| 158 | |
| 159 | 1999-05-08 Felix Lee <flee@cygnus.com> |
| 160 | |
| 161 | * configure: Regenerated to track ../common/aclocal.m4 changes. |
| 162 | |
| 163 | 1999-04-02 Keith Seitz <keiths@cygnus.com> |
| 164 | |
| 165 | * interp.c (ui_loop_hook_counter): New global (when NEED_UI_LOOP_HOOK |
| 166 | defined). |
| 167 | (sim_resume): If the counter has expired, call the ui_loop_hook, |
| 168 | if defined. |
| 169 | (UI_LOOP_POLL_INTERVAL): Define. Used to tweak the frequency of |
| 170 | ui_loop_hook calls. |
| 171 | * Makefile.in (SIM_EXTRA_CFLAGS): Include NEED_UI_LOOP_HOOK. |
| 172 | |
| 173 | Wed Mar 10 19:32:13 1999 Nick Clifton <nickc@cygnus.com> |
| 174 | |
| 175 | * simops.c: If load instruction with auto increment/decrement |
| 176 | addressing is used when the destination register is the same as |
| 177 | the address register, then ignore the auto increment/decrement. |
| 178 | |
| 179 | Wed Mar 10 19:32:13 1999 Martin M. Hunt <hunt@cygnus.com> |
| 180 | |
| 181 | * simops.c (OP_5F00): Ifdef SYS_stat case because |
| 182 | not all systems have it defined. |
| 183 | |
| 184 | 1999-01-26 Jason Molenda (jsm@bugshack.cygnus.com) |
| 185 | |
| 186 | * simops.c (OP_5607): Correct saturation comparison/assignment. |
| 187 | (OP_1201, OP_1203, OP_17001200, OP_17001202, |
| 188 | OP_2A00, OP_2800, OP_2C00, OP_3200, OP_3201, |
| 189 | OP_1001, OP_1003, OP_17001000, OP_17001002): Ditto. |
| 190 | |
| 191 | 1999-01-26 Jason Molenda (jsm@bugshack.cygnus.com) |
| 192 | |
| 193 | * simops.c (OP_5605): Sign extend MIN32 and MAX32 before saturation |
| 194 | comparison. |
| 195 | (OP_5607): Ditto. |
| 196 | (OP_2A00): Ditto. |
| 197 | (OP_2800): Ditto. |
| 198 | |
| 199 | 1999-01-13 Jason Molenda (jsm@bugshack.cygnus.com) |
| 200 | |
| 201 | * simops.c (OP_1223): Sign extend MIN32 and MAX32 before saturation |
| 202 | comparison. |
| 203 | |
| 204 | Tue Nov 24 17:04:43 1998 Andrew Cagney <cagney@b1.cygnus.com> |
| 205 | |
| 206 | * simops.c (sys/syscall.h): Include targ-vals.h instead. |
| 207 | (SYS_*): Replace with TARGET_SYS_*. |
| 208 | |
| 209 | * Makefile.in: Add dependency on targ-vals.h. |
| 210 | (NL_TARGET): Define as NL_TARGET_d10v. |
| 211 | |
| 212 | Wed Sep 30 00:06:32 1998 Andrew Cagney <cagney@amy.cygnus.com> |
| 213 | |
| 214 | * interp.c (xfer_mem): Missing break, instruction memory case |
| 215 | flowed into unified memory case. |
| 216 | |
| 217 | Wed Sep 30 10:14:18 1998 Nick Clifton <nickc@cygnus.com> |
| 218 | |
| 219 | * simops.c: If load instruction with auto increment/decrement |
| 220 | addressing is used when the destination register is the same as |
| 221 | the address register, then ignore the auto increment/decrement. |
| 222 | |
| 223 | Tue Apr 28 18:33:31 1998 Geoffrey Noer <noer@cygnus.com> |
| 224 | |
| 225 | * configure: Regenerated to track ../common/aclocal.m4 changes. |
| 226 | |
| 227 | Sun Apr 26 15:31:55 1998 Tom Tromey <tromey@creche> |
| 228 | |
| 229 | * configure: Regenerated to track ../common/aclocal.m4 changes. |
| 230 | * config.in: Ditto. |
| 231 | |
| 232 | Sun Apr 26 15:20:23 1998 Tom Tromey <tromey@cygnus.com> |
| 233 | |
| 234 | * acconfig.h: New file. |
| 235 | * configure.in: Reverted change of Apr 24; use sinclude again. |
| 236 | |
| 237 | Fri Apr 24 14:16:40 1998 Tom Tromey <tromey@creche> |
| 238 | |
| 239 | * configure: Regenerated to track ../common/aclocal.m4 changes. |
| 240 | * config.in: Ditto. |
| 241 | |
| 242 | Fri Apr 24 11:20:06 1998 Tom Tromey <tromey@cygnus.com> |
| 243 | |
| 244 | * configure.in: Don't call sinclude. |
| 245 | |
| 246 | Fri Apr 24 11:04:46 1998 Andrew Cagney <cagney@chook.cygnus.com> |
| 247 | |
| 248 | * interp.c (struct hash_entry): OPCODE and MASK are unsigned. |
| 249 | |
| 250 | * d10v_sim.h (remote-sim.h, sim-config.h): Include. |
| 251 | |
| 252 | Sat Apr 4 20:36:25 1998 Andrew Cagney <cagney@b1.cygnus.com> |
| 253 | |
| 254 | * configure: Regenerated to track ../common/aclocal.m4 changes. |
| 255 | |
| 256 | Wed Apr 1 12:59:17 1998 Andrew Cagney <cagney@b1.cygnus.com> |
| 257 | |
| 258 | * simops.c (trace_input_func): Use move_from_cr / CREGS to obtain |
| 259 | up-to-date CR value. |
| 260 | (OP_OP_1000000, add3): Trace inputs before performing add. |
| 261 | (OP_5F00, <*>): Trace input registers before making system call. |
| 262 | (OP_5F00, <kill>): Trace R0, R1 not REGn. |
| 263 | (OP_5F00, <getpid>): Always return 47. |
| 264 | |
| 265 | * d10v_sim.h (SLOT, SLOT_NR, SLOT_PEND_MASK, SLOT_PEND, |
| 266 | SLOT_DISCARD, SLOT_FLUSH): Define. An implementation of write |
| 267 | back slots. |
| 268 | (struct _state): Add struct slot slot to global state variable. |
| 269 | (struct _state): Delete fields SM, EA, DB, DM, IE, RP, MD, FX, ST, |
| 270 | F0, F1, C from global State variable. |
| 271 | (struct _state): Add struct trace to global State variable. |
| 272 | (GPR, SET_GPR): Define. SET_GPR uses SLOT_PEND. |
| 273 | (PSW*, SET_PSW*): Define. SET_PSW* uses SET_CREG. |
| 274 | (CREG, SET_CREG, SET_*): Define. SET_CREG uses func move_to_cr. |
| 275 | (INC_ADDR): Re-implement. Use SET_GPR to update registers. |
| 276 | (JMP): Re-implement. Use SET_* to update registers. |
| 277 | |
| 278 | * interp.c: Use new SET_* et.al. macros to fetch / store |
| 279 | registers. |
| 280 | (get_operands): Squirrel away trace values at start of each |
| 281 | operand decode. |
| 282 | (do_2_short): Flush pending writes before issuing second |
| 283 | instruction. |
| 284 | (sim_resume): Flush pending writes at end of instruction cycle. |
| 285 | (sim_fetch_register, sim_store_register, sim_create_inferior): |
| 286 | After scheduling updates to registers using SET_*, flush updates. |
| 287 | (sim_resume): Re-order handling of RPT/repeat and IBA/hbreak so |
| 288 | that each sets pc using SET_* and last SET_* eventually winds out. |
| 289 | |
| 290 | * simops.c: Use new SET_* et.al. macros to fetch / store |
| 291 | registers. |
| 292 | (move_to_cr): Add MASK argument for selective update of CREG bits. |
| 293 | Re-implement using new SET_* macros. |
| 294 | (trace_output_func, trace_output): Delete. Replace with. |
| 295 | (do_trace_output_flush, trace_output_finish, trace_output_40, |
| 296 | trace_output_32, trace_output_16, trace_output_void, |
| 297 | trace_output_flag): New functions. Handle specific trace cases. |
| 298 | (OP_*): Re-write tracing to use new trace_output_* functions. |
| 299 | (OP_*): Re-write to use new SET_* et.al. macros. |
| 300 | (FUNC, PARM[1-4], RETVAL, RETVAL32): Redo definition. |
| 301 | (RETVAL_HIGH, RETVAL_LOW): Delete, use RETVAL32. |
| 302 | |
| 303 | Wed Apr 1 12:55:18 1998 Andrew Cagney <cagney@b1.cygnus.com> |
| 304 | |
| 305 | * configure.in (SIM_AC_OPTION_WARNINGS): Add. |
| 306 | configure: Re-generate. |
| 307 | |
| 308 | Fri Mar 27 16:15:52 1998 Andrew Cagney <cagney@b1.cygnus.com> |
| 309 | |
| 310 | * configure: Regenerated to track ../common/aclocal.m4 changes. |
| 311 | |
| 312 | Wed Mar 25 12:35:29 1998 Andrew Cagney <cagney@b1.cygnus.com> |
| 313 | |
| 314 | * configure: Regenerated to track ../common/aclocal.m4 changes. |
| 315 | |
| 316 | Wed Mar 18 12:38:12 1998 Andrew Cagney <cagney@b1.cygnus.com> |
| 317 | |
| 318 | * configure: Regenerated to track ../common/aclocal.m4 changes. |
| 319 | |
| 320 | Tue Feb 17 12:38:42 1998 Andrew Cagney <cagney@b1.cygnus.com> |
| 321 | |
| 322 | * interp.c (sim_store_register, sim_fetch_register): Pass in |
| 323 | length parameter. Return -1. |
| 324 | |
| 325 | Mon Oct 27 14:43:33 1997 Fred Fish <fnf@cygnus.com> |
| 326 | |
| 327 | * (dmem_addr): If address is illegal or in I/O space, signal a bus |
| 328 | error. Allocate unified memory on demand. Fix DMEM address |
| 329 | calculations. |
| 330 | |
| 331 | Mon Feb 16 10:27:53 1998 Andrew Cagney <cagney@b1.cygnus.com> |
| 332 | |
| 333 | * simops.c (OP_5F20): Implement "dbt". |
| 334 | (OP_5F60): Implement "rtd". |
| 335 | |
| 336 | * d10v_sim.h (DPC_CR): Define enum. |
| 337 | (DBT_VECTOR_START): Define |
| 338 | (DPSW, DPC): Define. |
| 339 | |
| 340 | Fri Feb 13 15:15:58 1998 Andrew Cagney <cagney@b1.cygnus.com> |
| 341 | |
| 342 | * simops.c (move_to_cr): Sync regs[SP_IDX] with State.sp according |
| 343 | to PSW:SM. |
| 344 | |
| 345 | * d10v_sim.h (struct _state): Add sp, as holding area for SPI/SPU. |
| 346 | (SP_IDX): Define. |
| 347 | |
| 348 | Wed Feb 11 16:53:49 1998 Andrew Cagney <cagney@b1.cygnus.com> |
| 349 | |
| 350 | * simops.c (OP_5F00): Call error instead of abort for unknown |
| 351 | syscalls. |
| 352 | |
| 353 | * d10v_sim.h (enum): Define DPSW_CR. |
| 354 | |
| 355 | * simops.c (move_to_cr): Mask out hardwired zero bits in DPSW. |
| 356 | |
| 357 | Tue Feb 10 18:28:38 1998 Andrew Cagney <cagney@b1.cygnus.com> |
| 358 | |
| 359 | * interp.c (sim_write_phys): Delete. |
| 360 | (sim_load): Call sim_load_file with sim_write and LMA. |
| 361 | |
| 362 | Mon Feb 9 12:05:01 1998 Andrew Cagney <cagney@b1.cygnus.com> |
| 363 | |
| 364 | * interp.c: Rewrite xfer_mem so that it translates addresses as - |
| 365 | 0x00... - DMAP translated memory, 0x01... IMAP translated memory, |
| 366 | 0x10... - on-chip data, 0x11... - on-chip insn, 0x12... - unified |
| 367 | memory. |
| 368 | (pc_addr): Delete. |
| 369 | (imem_addr): New function - translate IMEM address. |
| 370 | (sim_resume): Use imem_addr to translate insn address, abort if |
| 371 | translation failed. |
| 372 | (sim_create_inferior): Write ARGV to memory using sim_write. Pass |
| 373 | argc/argv using r0/r1 not r2/r3. |
| 374 | (sim_size): Do not initialize IMAP/DMAP here. |
| 375 | (sim_open): Call sim_create_inferior and sim_size to initialize |
| 376 | the system. |
| 377 | (sim_create_inferior): Initialize IMAP/DMAP to hardware reset |
| 378 | defaults. |
| 379 | (init_system): Delete. |
| 380 | (xfer_mem, sim_fetch_register, sim_store_register): Do not call |
| 381 | init_system. |
| 382 | (decode_pc): Check prog_bfd is defined before looking up .text |
| 383 | section. |
| 384 | |
| 385 | Sun Feb 1 16:47:51 1998 Andrew Cagney <cagney@b1.cygnus.com> |
| 386 | |
| 387 | * configure: Regenerated to track ../common/aclocal.m4 changes. |
| 388 | |
| 389 | Sat Jan 31 18:15:41 1998 Andrew Cagney <cagney@b1.cygnus.com> |
| 390 | |
| 391 | * configure: Regenerated to track ../common/aclocal.m4 changes. |
| 392 | |
| 393 | Sun Jan 25 22:23:01 1998 Michael Meissner <meissner@cygnus.com> |
| 394 | |
| 395 | * interp.c (sim_stop_reason): Exit status is now in r0, not r2. |
| 396 | |
| 397 | Sat Jan 24 19:00:30 1998 Michael Meissner <meissner@cygnus.com> |
| 398 | |
| 399 | * d10v_sim.h (DEBUG_TRAP): New debug flag. |
| 400 | |
| 401 | * simops.c (OP_5F00): If DEBUG_TRAP is on, turn traps 0-14 into |
| 402 | printing the registers. |
| 403 | |
| 404 | Thu Jan 22 17:54:01 1998 Michael Meissner <meissner@cygnus.com> |
| 405 | |
| 406 | * simops.c (op_types): New ABI, args are r0..r3, system call # is |
| 407 | in r4. |
| 408 | (trace_{in,out}put_func): Ditto. |
| 409 | (OP_4900): Ditto. |
| 410 | (OP_24800000): Ditto. |
| 411 | (OP_4D00): Ditto. |
| 412 | (OP_5F00): Ditto. |
| 413 | |
| 414 | Thu Jan 22 14:30:36 1998 Fred Fish <fnf@cygnus.com> |
| 415 | |
| 416 | * interp.c (UMEM_SEGMENTS): New define, set to 128. |
| 417 | (sim_size): Use UMEM_SEGMENTS rather than hardwired constant. |
| 418 | (sim_close): Reset prog_bfd to NULL after closing it. Also |
| 419 | reset prog_bfd_was_opened_p after closing prog_bfd. |
| 420 | (sim_load): Reset prog_bfd_was_opened_p after closing prog_bfd. |
| 421 | (sim_create_inferior): Get start address from abfd not prog_bfd. |
| 422 | (xfer_mem): Do bounds checking on addresses and return zero length |
| 423 | read/write on bad addresses, rather than aborting. Prepare to |
| 424 | be able to handle xfers that cross segment boundaries, but not |
| 425 | yet implemented. Only emit debug message when d10v_debug is |
| 426 | set as well as DEBUG being defined. |
| 427 | |
| 428 | Mon Jan 19 22:26:29 1998 Doug Evans <devans@seba> |
| 429 | |
| 430 | * configure: Regenerated to track ../common/aclocal.m4 changes. |
| 431 | |
| 432 | Mon Dec 15 23:17:11 1997 Andrew Cagney <cagney@b1.cygnus.com> |
| 433 | |
| 434 | * configure: Regenerated to track ../common/aclocal.m4 changes. |
| 435 | * config.in: Ditto. |
| 436 | |
| 437 | Tue Dec 9 10:28:31 1997 Andrew Cagney <cagney@b1.cygnus.com> |
| 438 | |
| 439 | * d10v_sim.h (RPT_S): Index cregs with RPT_S_CR not RPT_E_CR. |
| 440 | (BPSW): Ditto for BPSW_CR and not PSW_CR. |
| 441 | |
| 442 | * simops.c (OP_5F40): JMP to BPC instead of assigning PC directly. |
| 443 | |
| 444 | Mon Dec 8 12:58:33 1997 Andrew Cagney <cagney@b1.cygnus.com> |
| 445 | |
| 446 | * simops.c (OP_5F00): From Martin Hunt <hunt@cygnus.com>. Change |
| 447 | reserved trap from 0 to 15. Add trap emulation code for 0-14. |
| 448 | |
| 449 | * interp.c (sim_resume): From Martin Hunt <hunt@cygnus.com>. Check |
| 450 | IBA for SDBT. |
| 451 | |
| 452 | * d10v_sim.h (AE_VECTOR_START, RIE_VECTOR_START, |
| 453 | SDBT_VECTOR_START, TRAP_VECTOR_START): Define. |
| 454 | |
| 455 | * simops.c (OP_5F00): For "trap", mask out all but SM bit in PSW, |
| 456 | use move_to_cr. |
| 457 | (OP_5F00): For "trap", update BPSW with move_to_cr. |
| 458 | |
| 459 | Fri Dec 5 15:31:17 1997 Andrew Cagney <cagney@b1.cygnus.com> |
| 460 | |
| 461 | * d10v_sim.h (enum): Enumerate CR register names. |
| 462 | (enum): Enumerate PSW bit values. |
| 463 | (PSW): Obtain value uing move_from_cr. |
| 464 | (MOD_S, MOD_E, BPSW): Make r-values. |
| 465 | (move_from_cr, move_to_cr): Declare functions. |
| 466 | |
| 467 | * interp.c (sim_fetch_register, sim_store_register): Use |
| 468 | move_from_cr and move_to_cr for CR register transfers. |
| 469 | |
| 470 | * simops.c (move_from_cr, move_to_cr): New functions. |
| 471 | (OP_5F40): Move BPSW to PSW using move_to_cr and move_from_cr. |
| 472 | (OP_5600): For "mvtc", use function move_to_cr. |
| 473 | (OP_5200): For "mvfc", use function move_from_cr. |
| 474 | |
| 475 | Fri Dec 5 13:33:14 1997 Andrew Cagney <cagney@b1.cygnus.com> |
| 476 | |
| 477 | * simops.c (OP_5600): For "mvtc" MOD_E and MOD_S, ensure that the |
| 478 | LSbit is zero. |
| 479 | |
| 480 | Thu Dec 4 09:21:05 1997 Doug Evans <devans@canuck.cygnus.com> |
| 481 | |
| 482 | * configure: Regenerated to track ../common/aclocal.m4 changes. |
| 483 | |
| 484 | Thu Dec 4 16:51:02 1997 Andrew Cagney <cagney@b1.cygnus.com> |
| 485 | |
| 486 | * d10v_sim.h (struct _state): Add DM - PSW debug mask. |
| 487 | |
| 488 | * simops.c (OP_5600): For "mvtc", save PSW.DM. |
| 489 | (OP_5200): Ditto for "mvfc". |
| 490 | |
| 491 | Wed Dec 3 17:27:06 1997 Andrew Cagney <cagney@b1.cygnus.com> |
| 492 | |
| 493 | * d10v_sim.h (SEXT56): Define. |
| 494 | |
| 495 | * simops.c (OP_4201): For "rac", sign extend 56 bit value before |
| 496 | it is shifted. |
| 497 | |
| 498 | * d10v_sim.h (MAX32, MIN32, MASK32, MASK40): Re-define using |
| 499 | SIGNED64 macro. |
| 500 | |
| 501 | Tue Dec 2 15:38:34 1997 Fred Fish <fnf@cygnus.com> |
| 502 | |
| 503 | * interp.c (sim_resume): Call do_2_short with LEFT_FIRST or |
| 504 | RIGHT_FIRST, as appropriate, instead of hardcoded ints that |
| 505 | don't match enum values. |
| 506 | |
| 507 | Tue Dec 2 15:01:08 1997 Andrew Cagney <cagney@b1.cygnus.com> |
| 508 | |
| 509 | * simops.c (OP_3A00): For "macu", perform multiply stage using 32 |
| 510 | bit rather than 16 bit precision. |
| 511 | (OP_3C00): For "mulxu", store unsigned product in ACC. |
| 512 | (OP_3800): For "msbu", subtract unsigned product from ACC, |
| 513 | (OP_0): For "sub", compute carry by comparing inputs. |
| 514 | |
| 515 | Tue Dec 2 11:04:37 1997 Andrew Cagney <cagney@b1.cygnus.com> |
| 516 | |
| 517 | * simops.c (OP_1000): For "sub2w", compute carry by comparing |
| 518 | inputs. |
| 519 | |
| 520 | Mon Nov 17 20:57:21 1997 Andrew Cagney <cagney@b1.cygnus.com> |
| 521 | |
| 522 | * simops.c (OP_1): Use 32 bit unsigned arithmetic for subtract, |
| 523 | carry indicated by value > 0xffff. |
| 524 | |
| 525 | Fri Nov 14 12:51:20 1997 Andrew Cagney <cagney@b1.cygnus.com> |
| 526 | |
| 527 | * interp.c (sim_resume): Don't set up SIGINT handler using signal, |
| 528 | handled by client. |
| 529 | (sim_resume): Fix race condition of a direct assignment to |
| 530 | stop_simulator, conditionally call sim_stop. |
| 531 | (sim_stop_reason): Check stop_simulator returning SIGINT. Clear |
| 532 | stop_simulator ready for next sim_resume call. |
| 533 | (sim_ctrl_c): Delete function. |
| 534 | |
| 535 | Thu Nov 13 19:29:34 1997 Andrew Cagney <cagney@b1.cygnus.com> |
| 536 | |
| 537 | * interp.c (sim_resume): For "REP", only check/update the PC when |
| 538 | a branch instruction has not been executed. |
| 539 | |
| 540 | Mon Nov 10 17:50:18 1997 Andrew Cagney <cagney@b1.cygnus.com> |
| 541 | |
| 542 | * simops.c (OP_4201): "rachi". Sign extend bit 40 of ACC. Sign |
| 543 | extend bit 44 all constants. |
| 544 | (OP_4201): Replace GCC specific 0x..LL with SIGNED64 macro. |
| 545 | |
| 546 | Fri Oct 24 10:26:29 1997 Andrew Cagney <cagney@b1.cygnus.com> |
| 547 | |
| 548 | * d10v_sim.h: Include sim-types.h. |
| 549 | (uint8, in816, uiny16, int32, uint32, int64, uint64): Typedef |
| 550 | using unsigned8 et.al. from sim-types.h. |
| 551 | (SEXT32, SEXT40, SEXT44, SEXT60): Replace GCC specific 0x..LL with |
| 552 | SIGNED64 macro. |
| 553 | |
| 554 | Wed Oct 22 14:43:00 1997 Andrew Cagney <cagney@b1.cygnus.com> |
| 555 | |
| 556 | * interp.c (sim_write_phys): New function, write to physical |
| 557 | instead of virtual memory. |
| 558 | |
| 559 | * interp.c (sim_load): Pass lma_p and sim_write_phys to |
| 560 | sim_load_file. |
| 561 | |
| 562 | Mon Oct 13 10:55:07 1997 Fred Fish <cygnus.com> |
| 563 | |
| 564 | * simops.c (OP_6A01): Change OP_POSTDEC to OP_POSTINC and move |
| 565 | exception generation code to OP_6E01. |
| 566 | (OP_6E01): Change OP_POSTINC to OP_POSTDEC and insert exception |
| 567 | generation code. |
| 568 | |
| 569 | Sat Oct 11 09:02:08 1997 Fred Fish <fnf@cygnus.com> |
| 570 | |
| 571 | * simops.c (OP_6401): postdecrement on r15 is OK, remove exception. |
| 572 | (OP_6601): Ditto. |
| 573 | |
| 574 | Fri Oct 3 09:28:00 1997 Andrew Cagney <cagney@b1.cygnus.com> |
| 575 | |
| 576 | * configure: Regenerated to track ../common/aclocal.m4 changes. |
| 577 | |
| 578 | Sat Sep 27 12:51:34 1997 Fred Fish <fnf@cygnus.com> |
| 579 | |
| 580 | * interp.c (pc_addr): Discard upper bit(s) of PC in case |
| 581 | IMAP1 selects unified memory. |
| 582 | * d10v_sim.h (INC_ADDR): Align MOD_E to increment before testing |
| 583 | for end condition. |
| 584 | |
| 585 | Wed Sep 24 17:38:57 1997 Andrew Cagney <cagney@b1.cygnus.com> |
| 586 | |
| 587 | * configure: Regenerated to track ../common/aclocal.m4 changes. |
| 588 | |
| 589 | Tue Sep 23 11:04:38 1997 Andrew Cagney <cagney@b1.cygnus.com> |
| 590 | |
| 591 | * configure: Regenerated to track ../common/aclocal.m4 changes. |
| 592 | |
| 593 | Mon Sep 22 11:46:20 1997 Andrew Cagney <cagney@b1.cygnus.com> |
| 594 | |
| 595 | * configure: Regenerated to track ../common/aclocal.m4 changes. |
| 596 | |
| 597 | Fri Sep 19 17:45:25 1997 Andrew Cagney <cagney@b1.cygnus.com> |
| 598 | |
| 599 | * configure: Regenerated to track ../common/aclocal.m4 changes. |
| 600 | |
| 601 | Mon Sep 15 17:36:15 1997 Andrew Cagney <cagney@b1.cygnus.com> |
| 602 | |
| 603 | * configure: Regenerated to track ../common/aclocal.m4 changes. |
| 604 | |
| 605 | Wed Sep 10 22:30:24 1997 Martin M. Hunt <hunt@cygnus.com> |
| 606 | |
| 607 | * interp.c (sim_resume): Increment PC at end of rep |
| 608 | loop. |
| 609 | |
| 610 | * simops.c (OP_4201): Fix rachi instruction. |
| 611 | |
| 612 | Thu Sep 4 17:21:23 1997 Doug Evans <dje@seba> |
| 613 | |
| 614 | * configure: Regenerated to track ../common/aclocal.m4 changes. |
| 615 | |
| 616 | Wed Aug 27 18:13:22 1997 Andrew Cagney <cagney@b1.cygnus.com> |
| 617 | |
| 618 | * configure: Regenerated to track ../common/aclocal.m4 changes. |
| 619 | * config.in: Ditto. |
| 620 | |
| 621 | Tue Aug 26 10:37:49 1997 Andrew Cagney <cagney@b1.cygnus.com> |
| 622 | |
| 623 | * interp.c (sim_kill): Delete. |
| 624 | (sim_create_inferior): Add ABFD argument. |
| 625 | (sim_load): Move setting of PC from here. |
| 626 | (sim_create_inferior): To here. |
| 627 | (start_address): Delete variable. |
| 628 | |
| 629 | Mon Aug 25 17:50:22 1997 Andrew Cagney <cagney@b1.cygnus.com> |
| 630 | |
| 631 | * configure: Regenerated to track ../common/aclocal.m4 changes. |
| 632 | * config.in: Ditto. |
| 633 | |
| 634 | Mon Aug 25 15:39:29 1997 Andrew Cagney <cagney@b1.cygnus.com> |
| 635 | |
| 636 | * interp.c (sim_open): Add ABFD argument. |
| 637 | |
| 638 | Tue May 20 10:14:45 1997 Andrew Cagney <cagney@b1.cygnus.com> |
| 639 | |
| 640 | * interp.c (sim_open): Add callback argument. |
| 641 | (sim_set_callbacks): Remove SIM_DESC argument. |
| 642 | |
| 643 | Thu Apr 24 00:39:51 1997 Doug Evans <dje@canuck.cygnus.com> |
| 644 | |
| 645 | * configure: Regenerated to track ../common/aclocal.m4 changes. |
| 646 | |
| 647 | Tue Apr 22 10:29:23 1997 Doug Evans <dje@canuck.cygnus.com> |
| 648 | |
| 649 | * interp.c (sim_open): Undo patch to add -E support. |
| 650 | |
| 651 | Fri Apr 18 13:39:01 1997 Andrew Cagney <cagney@b1.cygnus.com> |
| 652 | |
| 653 | * interp.c (sim_stop): New function. |
| 654 | |
| 655 | Thu Apr 17 02:42:00 1997 Doug Evans <dje@canuck.cygnus.com> |
| 656 | |
| 657 | * Makefile.in (SIM_OBJS): Add sim-load.o. |
| 658 | * d10v_sim.h (exec_bfd): Rename to prog_bfd. |
| 659 | * interp.c: #include bfd.h. |
| 660 | (myname, sim_kind, start_address): New static locals. |
| 661 | (prog_bfd_was_opened_p, prog_bfd): New static locals. |
| 662 | (decode_pc): Update to use prog_bfd. |
| 663 | (sim_open): Set sim_kind, myname. Ignore -E arg. |
| 664 | (sim_close): Close prog_bfd if simulator opened it. |
| 665 | (sim_create_inferior): Return SIM_RC. Delete arg start_address. |
| 666 | (sim_load): Return SIM_RC. New arg abfd. Set start address from bfd. |
| 667 | Call sim_load_file to load file into simulator. |
| 668 | * simops.c (trace_input_func): exec_bfd renamed to prog_bfd. |
| 669 | |
| 670 | Wed Apr 16 16:12:03 1997 Andrew Cagney <cagney@b1.cygnus.com> |
| 671 | |
| 672 | * simops.c (OP_5F00): Only provide system calls SYS_execv, |
| 673 | SYS_wait, SYS_wait, SYS_utime, SYS_time if defined by the host. |
| 674 | |
| 675 | Mon Apr 7 15:45:02 1997 Andrew Cagney <cagney@kremvax.cygnus.com> |
| 676 | |
| 677 | * configure: Regenerated to track ../common/aclocal.m4 changes. |
| 678 | * config.in: Ditto. |
| 679 | |
| 680 | Wed Apr 2 15:06:28 1997 Doug Evans <dje@canuck.cygnus.com> |
| 681 | |
| 682 | * interp.c (sim_open): New arg `kind'. |
| 683 | |
| 684 | * configure: Regenerated to track ../common/aclocal.m4 changes. |
| 685 | |
| 686 | Wed Apr 2 14:34:19 1997 Andrew Cagney <cagney@kremvax.cygnus.com> |
| 687 | |
| 688 | * configure: Regenerated to track ../common/aclocal.m4 changes. |
| 689 | |
| 690 | Mon Mar 17 15:10:07 1997 Andrew Cagney <cagney@kremvax.cygnus.com> |
| 691 | |
| 692 | * configure: Re-generate. |
| 693 | |
| 694 | Fri Mar 14 10:34:11 1997 Michael Meissner <meissner@cygnus.com> |
| 695 | |
| 696 | * configure: Regenerate to track ../common/aclocal.m4 changes. |
| 697 | |
| 698 | * simops.c (OP_5F00): Remove old traps 1-3. Make trap 15 the same |
| 699 | as trap 0, which will be deprecated. Only set errno, if an error |
| 700 | in fact was returned. |
| 701 | |
| 702 | Thu Mar 13 12:41:20 1997 Doug Evans <dje@canuck.cygnus.com> |
| 703 | |
| 704 | * interp.c: Delete redundant prototypes of sim_foo fns. |
| 705 | (sim_open): New SIM_DESC result. Argument is now in argv form. |
| 706 | (other sim_*): New SIM_DESC argument. |
| 707 | |
| 708 | Thu Mar 13 10:29:04 1997 Michael Meissner <meissner@cygnus.com> |
| 709 | |
| 710 | * simops.c (trace_{input,output}_func): Call flush_stdout from the |
| 711 | callback functions. |
| 712 | (OP_5F00): Ditto. |
| 713 | (OP_6{4,6,C,A}01): Test for post decrement on the stack pointer. |
| 714 | (OP_{1200,1000000,201,5FE0,1003,17001002}): Fix problems in |
| 715 | setting the carry bit after an add or a subtract. |
| 716 | |
| 717 | Wed Feb 12 16:04:15 1997 Michael Meissner <meissner@cygnus.com> |
| 718 | |
| 719 | * simops.c (OP_{1403,15002A02,3{0,4}0{0,1}}): Only use the bottom |
| 720 | 40 bits of accumulators. Sign/zero extend as appropriate. |
| 721 | |
| 722 | Tue Feb 4 13:33:30 1997 Doug Evans <dje@canuck.cygnus.com> |
| 723 | |
| 724 | * Makefile.in (@COMMON_MAKEFILE_FRAG): Use |
| 725 | COMMON_{PRE,POST}_CONFIG_FRAG instead. |
| 726 | * configure.in: sinclude ../common/aclocal.m4. |
| 727 | * configure: Regenerated. |
| 728 | |
| 729 | Thu Jan 23 11:46:23 1997 Stu Grossman (grossman@critters.cygnus.com) |
| 730 | |
| 731 | * configure configure.in Makefile.in: Update to new configure |
| 732 | scheme which is more compatible with WinGDB builds. |
| 733 | * configure.in: Improve comment on how to run autoconf. |
| 734 | * configure: Re-run autoconf to get new ../common/aclocal.m4. |
| 735 | * Makefile.in: Use autoconf substitution to install common |
| 736 | makefile fragment. |
| 737 | |
| 738 | Fri Dec 27 22:54:05 1996 Angela Marie Thomas (angela@cygnus.com) |
| 739 | |
| 740 | * gencode.c: patch to not #include "d10v_sim.h" which |
| 741 | unecessarily includes bfd.h and causes wingdb configure |
| 742 | to fail. |
| 743 | |
| 744 | Mon Dec 16 13:39:03 1996 Martin M. Hunt <hunt@pizza.cygnus.com> |
| 745 | |
| 746 | * interp.c (xfer_mem): Change unified memory to 0x0. |
| 747 | |
| 748 | Thu Nov 28 20:42:56 1996 Michael Meissner <meissner@tiktok.cygnus.com> |
| 749 | |
| 750 | * simops.c (OP_3E01): Fix tracing information. |
| 751 | (OP_300{0,1}): Do not propigate sign. |
| 752 | |
| 753 | Mon Nov 25 19:47:40 1996 Doug Evans <dje@canuck.cygnus.com> |
| 754 | |
| 755 | * config.in (WORDS_BIGENDIAN): Add. |
| 756 | * configure: Regenerated. |
| 757 | * d10v_sim.h: #include "config.h" |
| 758 | |
| 759 | Sat Nov 23 09:34:50 1996 Michael Meissner <meissner@tiktok.cygnus.com> |
| 760 | |
| 761 | * gencode.c (write_opcodes): Eliminate warnings when generated |
| 762 | table.c is compiled. |
| 763 | |
| 764 | Wed Nov 20 19:41:40 1996 Michael Meissner <meissner@tiktok.cygnus.com> |
| 765 | |
| 766 | * interp.c (sim_open): Cast result of calloc, and make sure NULL |
| 767 | was not returned. |
| 768 | (dmem_addr): If address is illegal or in I/O space, signal a bus |
| 769 | error. |
| 770 | (pc_addr): Signal bus error, not illegal instruction for bogus |
| 771 | pc. |
| 772 | |
| 773 | Wed Nov 20 01:23:03 1996 Doug Evans <dje@canuck.cygnus.com> |
| 774 | |
| 775 | * Makefile.in: Delete all stuff moved to ../common/Make-common.in. |
| 776 | (SIM_OBJS,SIM_EXTRA_CFLAGS,SIM_EXTRA_CLEAN): Define. |
| 777 | * configure.in: Simplify using macros in ../common/aclocal.m4. |
| 778 | Call AC_CHECK_HEADERS(unistd.h). |
| 779 | * configure: Regenerated. |
| 780 | * config.in: New file. |
| 781 | * interp.c: #include "callback.h". |
| 782 | * simops.c: #include "config.h". #include <unistd.h> if present. |
| 783 | |
| 784 | Fri Nov 8 16:19:55 1996 Martin M. Hunt <hunt@pizza.cygnus.com> |
| 785 | |
| 786 | * d10v-sim.h (simops): Add flag is_long. |
| 787 | (State): Add pc_changed. Instructions which update the PC should |
| 788 | use the JMP macro which sets this. |
| 789 | (JMP): New macro. Sets the PC and the pc_changed flag. |
| 790 | |
| 791 | * gencode.c (write_opcodes): Add is_long field. |
| 792 | |
| 793 | * interp.c (lookup_hash): If we blindly apply a short opcode's mask |
| 794 | to a long opcode we could get a false match. Check the opcode size. |
| 795 | (hash): Add a size field to the hash table. |
| 796 | (sim_open): Initialize size field in hash table. |
| 797 | (sim_resume): Change to logic for setting the PC. Used to increment the |
| 798 | PC if it had not been changed. This didn't allow single-instruction loops. |
| 799 | Now checks the flag State.pc_changed. Also now stops when ^C is received. |
| 800 | (dmem_addr): Fix translation of data segments to unified memory. |
| 801 | (sim_ctrl_c): New function. When ^C is received, set stop_simulator flag. |
| 802 | |
| 803 | * simops.c: Changed all branch and jump instructions to use new JMP macro. |
| 804 | (OP_20000000): Corrected trace information to show this is a ldi.l, not |
| 805 | a ldi.s instruction. |
| 806 | |
| 807 | Thu Oct 31 19:13:55 1996 Martin M. Hunt <hunt@pizza.cygnus.com> |
| 808 | |
| 809 | * interp.c (sim_fetch_register, sim_store_register): Fix bug where |
| 810 | updating the accumulators was overwriting other parts of the global |
| 811 | State variable. |
| 812 | |
| 813 | Wed Oct 30 17:35:14 1996 Michael Meissner <meissner@tiktok.cygnus.com> |
| 814 | |
| 815 | * interp.c (bfd.h) Don't include it here any more. |
| 816 | (text{,_start,_end}): Move here from simops.c and make extern. |
| 817 | (decode_pc): New function to return the PC as an address that the |
| 818 | debugger can use. |
| 819 | (dmem_addr): Print decoded PC in error message. |
| 820 | (pc_addr): Ditto. |
| 821 | |
| 822 | * simops.c (bfd.h) Don't include it here any more. |
| 823 | (text{,_start,_end}): Move to simops.c. |
| 824 | (trace_input_func): Move decoding of PC, and looking up .text |
| 825 | start to decode_pc. |
| 826 | |
| 827 | * d10v_sim.h (bfd.h): Include it here. |
| 828 | (text{,_start,_end}): Add external declarations. |
| 829 | (exec_bfd): Ditto. |
| 830 | (decode_pc): Ditto. |
| 831 | |
| 832 | Tue Oct 29 12:13:52 1996 Martin M. Hunt <hunt@pizza.cygnus.com> |
| 833 | |
| 834 | * interp.c (sim_size): Now allocates unified memory for imap segments |
| 835 | 0,1,2, and 127. Initializes imap0 and imap1 to 0x1000. Initializes dmap to 0. |
| 836 | (sim_write): Just call xfer_mem(). |
| 837 | (sim_read): Just call xfer_mem(). |
| 838 | (xfer_mem): New function. Does appropriate memory mapping and copies bytes. |
| 839 | (dmem_addr): New function. Reads dmap register and translates data |
| 840 | addresses to local addresses. |
| 841 | (pc_addr): New function. Reads imap register and computes local address |
| 842 | corresponding to contents of the PC. |
| 843 | (sim_resume): Change to use pc_addr(). |
| 844 | (sim_create_inferior): Change reinitialization code. Also reinitializes |
| 845 | imap[01] and dmap. |
| 846 | (sim_fetch_register): Add fake registers 32,33,34 for imap0, imap1, and dmap. |
| 847 | (sim_store_register): Add fake registers 32,33,34 for imap0, imap1, and dmap. |
| 848 | |
| 849 | * simops.c (MEMPTR): Redefine to use dmem_addr(). |
| 850 | (OP_5F00): Replace references to STate.imem with dmem_addr(). |
| 851 | |
| 852 | * d10v-sim.h (State): Remove mem_min and mem_max. Add umem[128]. |
| 853 | (RB,SW,RW,SLW,RLW): Redefine to use dmem_addr(). |
| 854 | (IMAP0,IMAP1,DMAP,SET_IMAP,SET_IMAP1,SET_DMAP): Define. |
| 855 | |
| 856 | Tue Oct 22 15:22:33 1996 Michael Meissner <meissner@tiktok.cygnus.com> |
| 857 | |
| 858 | * d10v_sim.h (_ins_type): Reorganize, so that we can provide |
| 859 | better statistics, like not counting NOPS as parallel |
| 860 | instructions, and printing total cycles. |
| 861 | (ins_type_counters): Make unsigned long. |
| 862 | (left_nops,right_nops): Fold into ins_type_counters. |
| 863 | |
| 864 | * simops.c (trace_input_func): Print new instruction types. |
| 865 | Handle OP_R2R3 as input types. |
| 866 | (OP_{38000000,7000}): Correctly sign extend bytes. |
| 867 | (OP_5E00): Don't count NOPs as parallel instructions. |
| 868 | (OP_460B): Remove unused variable. |
| 869 | (OP_5F00): Ditto. |
| 870 | |
| 871 | * interp.c (ins_type_counters): Make unsigned long. |
| 872 | (left_nops,right_nops): Delete. |
| 873 | (most functions): Add prototypes. |
| 874 | (INLINE): If GCC and optimize define as __inline__. |
| 875 | ({,lookup_}hash,get_operands): Declare as INLINE. |
| 876 | (do_parallel): Count conditional operations. |
| 877 | (add_commas): New function, to add commas every 3 digits. |
| 878 | (sim_size): Call add_commas to print numbers. |
| 879 | (sim_{open,resume}): Delete unused variables. |
| 880 | (sim_info): Provide better statistics. |
| 881 | (sim_read): Add int return type. |
| 882 | |
| 883 | Mon Oct 21 16:16:26 1996 Martin M. Hunt <hunt@pizza.cygnus.com> |
| 884 | |
| 885 | * interp.c (sim_resume): Change the way single-stepping and exceptions |
| 886 | are handled so single-stepping works again. |
| 887 | |
| 888 | Thu Oct 17 12:24:16 1996 Michael Meissner <meissner@tiktok.cygnus.com> |
| 889 | |
| 890 | * endian.c: Optimize simulated loads/stores on x86, AIX, and big |
| 891 | endian hosts. |
| 892 | |
| 893 | * configure.in (--enable-sim-bswap): New switch to enable using |
| 894 | the BSWAP instruction on x86's. |
| 895 | * configure: Regenerate. |
| 896 | |
| 897 | * Makefile.in ({SWAP,CONFIG}_CFLAGS): Add --enable-sim-bswap |
| 898 | support. |
| 899 | |
| 900 | Wed Oct 16 13:50:06 1996 Michael Meissner <meissner@tiktok.cygnus.com> |
| 901 | |
| 902 | * endian.c: New file. Move endian functions here from interp.c. |
| 903 | Optimize code, and make it work as either inline functions or as a |
| 904 | separate file. |
| 905 | |
| 906 | * interp.c: Move endian functions from here to endian.c. |
| 907 | |
| 908 | * Makefile.in (INCLUDE): Add endian.c. |
| 909 | (run,libsim.a): Add dependency on endian.o. |
| 910 | (endian.o): Add dependency. |
| 911 | |
| 912 | * d10v_sim.h (read/write support): Always go through the machine |
| 913 | independent endian functions. If compiling with GCC and |
| 914 | optimizing, include endian.c so the endian functions are inlined. |
| 915 | |
| 916 | * simops.c (OP_5F00): Correct tracing of accumulators. |
| 917 | |
| 918 | Tue Oct 15 10:57:50 1996 Michael Meissner <meissner@tiktok.cygnus.com> |
| 919 | |
| 920 | * simops.c (OP_5F00): Add support for getpid, kill system calls. |
| 921 | |
| 922 | * interp.c (do_{2_short,parallel}): If an exception is raised, |
| 923 | don't execute the second instruction. |
| 924 | |
| 925 | Sat Oct 12 22:17:43 1996 Michael Meissner <meissner@tiktok.cygnus.com> |
| 926 | |
| 927 | * simops.c (OP_{31000000,6601,6201,6200}): Store address in a |
| 928 | temporary in case the register is overriden when loading. |
| 929 | (OP_6200): Output type is OP_DREG for tracing. |
| 930 | |
| 931 | Fri Oct 4 23:46:18 1996 Michael Meissner <meissner@tiktok.cygnus.com> |
| 932 | |
| 933 | * d10v_sim.h (struct _state): Add mem_{min,max} fields. |
| 934 | |
| 935 | * interp.c (sim_size): Initialize mem_{min,max} fields. |
| 936 | (sim_write): Update mem_{min,max} fields. |
| 937 | (sim_resume): If PC is not in the minimum/maximum memory range, |
| 938 | abort. |
| 939 | (sim_create_inferior): Preserve mem_{min,max} fields. |
| 940 | |
| 941 | Fri Sep 27 13:11:58 1996 Mark Alexander <marka@cygnus.com> |
| 942 | |
| 943 | * simops.c (OP_5F00): Add support for time() system call. |
| 944 | |
| 945 | Wed Sep 25 16:31:41 1996 Michael Meissner <meissner@tiktok.cygnus.com> |
| 946 | |
| 947 | * simops.c (OP_{6E01,6A01,6E1F,6A00}): Print both words being |
| 948 | stored if tracing. |
| 949 | (OP_5F00,trace_{in,out}put_func): Add finer grain tracing for |
| 950 | system calls. |
| 951 | |
| 952 | Mon Sep 23 17:55:30 1996 Michael Meissner <meissner@tiktok.cygnus.com> |
| 953 | |
| 954 | * simops.c (op_types): Add OP_{CONSTANT8,R2,R3}. |
| 955 | (trace_input_func): Add support for OP_{CONSTANT8,R2,R3}. |
| 956 | (OP_{4900,24800000,4800,4A00,4B00,4D00,4C00}): Add OP_R2 and OP_R3 |
| 957 | to call/subroutine returns to trace the first two arguments and |
| 958 | the return value. For small jumps, use CONSTANT8, not CONSTANT16. |
| 959 | |
| 960 | Fri Sep 20 15:36:45 1996 Martin M. Hunt <hunt@pizza.cygnus.com> |
| 961 | |
| 962 | * interp.c (sim_create_inferior): Reinitialize State every time |
| 963 | sim_create_inferior() is called. |
| 964 | |
| 965 | Thu Sep 19 21:38:20 1996 Michael Meissner <meissner@wogglebug.ziplink.net> |
| 966 | |
| 967 | * simops.c (OP_{401,2000000,601,3000000,23000000}): Get sign right |
| 968 | on comparisons. |
| 969 | (OP_401): Fix tracing information. |
| 970 | |
| 971 | Thu Sep 19 10:30:22 1996 Michael Meissner <meissner@tiktok.cygnus.com> |
| 972 | |
| 973 | * simops.c (SIZE_{PC,LINE_NUMBER}): New default sizes for output. |
| 974 | (trace_input_func): Use them. |
| 975 | (trace_input_func): Make sure there is a trailing space after the |
| 976 | instruction. |
| 977 | (OP_6200): Fix tracing info. |
| 978 | |
| 979 | * Makefile.in (run): Add dependencies on libbfd.a and |
| 980 | libiberity.a. |
| 981 | |
| 982 | Wed Sep 18 09:13:25 1996 Michael Meissner <meissner@tiktok.cygnus.com> |
| 983 | |
| 984 | * d10v_sim.h (DEBUG_INSTRUCTION): New debug value to include line |
| 985 | numbers and function names in debug trace. |
| 986 | (DEBUG): If not defined, set to DEBUG_TRACE, DEBUG_VALUES, and |
| 987 | DEBUG_LINE_NUMBER. |
| 988 | (SIG_D10V_{STOP,EXIT}): Values to represent the stop instruction |
| 989 | and exit system call trap being executed. |
| 990 | |
| 991 | * interp.c (sim_stop_reason): Set exit code correctly for stop |
| 992 | instruction and exit system call trap. |
| 993 | |
| 994 | * configure.in (--enable-sim-cflags): Remove trace case. |
| 995 | (--enable-sim-debug): New switch to set the debug values. |
| 996 | * configure: Regenerate. |
| 997 | |
| 998 | * simops.c (trace_{input,output}_func): Rename from |
| 999 | trace_{input,output}. |
| 1000 | (trace_{input,output}): Call trace_{input,output}_func if |
| 1001 | d10v_debug is non-zero. |
| 1002 | (SIZE_INSTRUCTION): Cut down to 8. |
| 1003 | (SIZE_OPERANDS): Cut down to 18. |
| 1004 | (SIZE_LOCATION): New value for size of line number, function name |
| 1005 | field. |
| 1006 | (init_text_p,text{,_start,_end}): New static variables for |
| 1007 | printing line number and function name. |
| 1008 | (exec_bfd): New external that run.c sets. |
| 1009 | (trace_input_func): Print line number and function name if |
| 1010 | available and if desired. |
| 1011 | (OP_4E09): Don't print out DBT message. |
| 1012 | (OP_5FE0): Set exception field to SIG_D10V_STOP. |
| 1013 | (OP_5F00): Set exception field to SIG_D10V_EXIT. |
| 1014 | |
| 1015 | Sat Sep 14 22:18:43 1996 Michael Meissner <meissner@tiktok.cygnus.com> |
| 1016 | |
| 1017 | * interp.c (do_2_short): If the instruction encodes jump->ins, |
| 1018 | don't do the second instruction if the jump succeeds. |
| 1019 | |
| 1020 | Fri Sep 13 22:35:19 1996 Michael Meissner <meissner@tiktok.cygnus.com> |
| 1021 | |
| 1022 | * simops.c (OP_5F00): Use unknown traps to print all GPRs, |
| 1023 | accumulators, PC, and F0/F1/C flags. |
| 1024 | |
| 1025 | Thu Sep 12 12:50:11 1996 Mark Alexander <marka@cygnus.com> |
| 1026 | |
| 1027 | * simops.c (OP_5F00): Fix problems with system calls. |
| 1028 | |
| 1029 | Thu Sep 12 12:19:28 1996 Michael Meissner <meissner@tiktok.cygnus.com> |
| 1030 | |
| 1031 | * simops.c (OP_5F00): Correct tracing information for trap. |
| 1032 | |
| 1033 | Wed Sep 11 18:55:50 1996 Michael Meissner <meissner@tiktok.cygnus.com> |
| 1034 | |
| 1035 | * Makefile.in (CSEARCH): Correctly find opcodes directory. |
| 1036 | |
| 1037 | Mon Sep 9 13:27:26 1996 Michael Meissner <meissner@tiktok.cygnus.com> |
| 1038 | |
| 1039 | * simops.c (trace_output): Properly align accumulator output. |
| 1040 | (OP_3{0,2,4}00): Properly parenthesize test expression. Add error |
| 1041 | if shift count is too high. |
| 1042 | (OP_4E{00,02,04,20,22,40,42}): Make tests agree with book. |
| 1043 | (OP_4E09): Make cpfg properly trace the input flags. |
| 1044 | (op_types): Add OP_FLAG_OUTPUT. |
| 1045 | (trace_{input,output}): Support OP_FLAG_OUTPUT. |
| 1046 | (OP_31000000): This ld2w varient is a 16-bit memory reference, not |
| 1047 | an 8-bit memory reference instruction for tracing purposes. |
| 1048 | (OP_201): Addi needs to set the carry. |
| 1049 | |
| 1050 | Fri Sep 6 17:56:17 1996 Martin M. Hunt <hunt@pizza.cygnus.com> |
| 1051 | |
| 1052 | * simops.c (OP_2600, OP_2601): Changed min and max comparisons |
| 1053 | to use signed register values. |
| 1054 | |
| 1055 | Wed Sep 4 11:35:17 1996 Michael Meissner <meissner@tiktok.cygnus.com> |
| 1056 | |
| 1057 | * d10v_sim.h (DEBUG_*): Add bit flags for controlling debug |
| 1058 | output. |
| 1059 | (_ins_type): New enumeration to specify which container an |
| 1060 | instruction is in, and whether it is part of a parallel operation. |
| 1061 | (_state): Add ins_type field. |
| 1062 | ({,u}int{8,16,32,64}): Use limits.h to size the appropriate types. |
| 1063 | (ins_type_counters): Counters for the various instruction types. |
| 1064 | ({left,right}_nops): Counters for the number of nops in each |
| 1065 | container. |
| 1066 | (d10v_debug): New variable to indicate whether debugging is turned |
| 1067 | on. |
| 1068 | |
| 1069 | * simops.c: (all functions): Change all #ifdef DEBUG code so that |
| 1070 | the input and output values can be traced, along with the |
| 1071 | instruction type. Make the -t option enable tracing. |
| 1072 | (all functions): Change printf calls to use the printf_filtered |
| 1073 | function in the callback table. |
| 1074 | |
| 1075 | * interp.c (_leftright): New enumeration to say whether 2 short |
| 1076 | instructions are done left first or right first. |
| 1077 | (do_{long,2_short,parallel}): Indicate in the machine state which |
| 1078 | type of instruction this is. Count each of the types of |
| 1079 | instructions executed. |
| 1080 | (sim_size): Only print the memory sizes if DEBUG_MEMSIZE debug |
| 1081 | flag is set. |
| 1082 | (sim_resume): Pass left/right indication to do_2_short. |
| 1083 | (all functions): Change printf calls to use the printf_filtered |
| 1084 | function in the callback table. |
| 1085 | (sim_trace): Turn on debug flag if DEBUG was defined, and call |
| 1086 | sim_resume. |
| 1087 | (sim_info): Print out statistics on instructions. |
| 1088 | (sim_{trace,create_inferior}): Eliminate extraneous output unless |
| 1089 | debugging. |
| 1090 | (sim_open): If args == -t and DEBUG was defined, set d10v_debug. |
| 1091 | Only initialize the hash table the first time sim_open is called. |
| 1092 | |
| 1093 | * Makefile.in: Make objects depend on d10v_sim.h. |
| 1094 | ({,SIM_}CFLAGS): Include configure dependent switches. Setting |
| 1095 | CFLAGS does not override host/target defines or SIM_CFLAGS. |
| 1096 | (CC_FOR_BUILD,gencode): Use CC_FOR_BUILD to compile gencode. |
| 1097 | (run): By default, the math library is not needed to be linked |
| 1098 | in. |
| 1099 | ({BFD,LIBIBERTY}_LIB): Define as variables so they can be |
| 1100 | overridden. |
| 1101 | (VPATH): Don't set to anything but @srcdir@ to work with non-GNU |
| 1102 | makes. |
| 1103 | ({run,callback}.o): Provide explicit paths to their appropriate |
| 1104 | source directories. |
| 1105 | (gencode{,.o},d10v-opc.o): Split compilation into creating object |
| 1106 | and linking. Instead of linking in libopcodes.a, just compile |
| 1107 | d10v-opc.o directly to handle canadian cross. |
| 1108 | (CSEARCH): Add opcodes directory. |
| 1109 | |
| 1110 | * configure.in (--enable-sim-cflags): New switch to allow user to |
| 1111 | set the defaults. |
| 1112 | (CC_FOR_BUILD): Deal with canadian crosses. |
| 1113 | * configure: Regenerate. |
| 1114 | |
| 1115 | Wed Sep 04 04:45:34 1996 Mark Alexander <marka@cygnus.com> |
| 1116 | |
| 1117 | * simops.c: Include correct syscall.h for d10v, not host's. |
| 1118 | Fix #ifdef SYS_stat. |
| 1119 | |
| 1120 | Tue Sep 3 14:00:04 1996 Michael Meissner <meissner@tiktok.cygnus.com> |
| 1121 | |
| 1122 | * simops.c (OP_5F00): Wrap all SYS_xxx traps with #ifdef. |
| 1123 | Add trap 2 to be printf and trap 3 to be putchar. |
| 1124 | |
| 1125 | Wed Aug 28 21:42:34 1996 Mark Alexander <marka@cygnus.com> |
| 1126 | |
| 1127 | * Makefile.in, d10v_sim.h, interp.c, simops.c: Add support |
| 1128 | for low-level system calls. |
| 1129 | |
| 1130 | Wed Aug 28 17:33:19 1996 Martin M. Hunt <hunt@pizza.cygnus.com> |
| 1131 | |
| 1132 | * Makefile.in, d10v_sim.h, interp.c: Fix byte-order problems. |
| 1133 | |
| 1134 | Mon Aug 26 18:30:28 1996 Martin M. Hunt <hunt@pizza.cygnus.com> |
| 1135 | |
| 1136 | * d10v_sim.h (SEXT32): Added. |
| 1137 | * interp.c: Commented out printfs. |
| 1138 | * simops.c: Fixed error in sb and st2w. |
| 1139 | |
| 1140 | Thu Aug 15 13:30:03 1996 Martin M. Hunt <hunt@pizza.cygnus.com> |
| 1141 | |
| 1142 | * Makefile.in, d10v_sim.h, interp.c, simops.c: Added remaining |
| 1143 | DSP instructions. Added modulo addressing. |
| 1144 | |
| 1145 | Sun Aug 11 12:57:15 1996 Martin M. Hunt <hunt@pizza.cygnus.com> |
| 1146 | |
| 1147 | * Makefile.in, d10v_sim.h, interp.c, simops.c: Snapshot. |
| 1148 | |
| 1149 | Fri Aug 2 17:44:24 1996 Martin M. Hunt <hunt@pizza.cygnus.com> |
| 1150 | |
| 1151 | * d10v_sim.h, simops.c: Snapshot. |
| 1152 | |
| 1153 | Thu Aug 1 17:05:24 1996 Martin M. Hunt <hunt@pizza.cygnus.com> |
| 1154 | |
| 1155 | * ChangeLog, Makefile.in, configure, configure.in, d10v_sim.h, |
| 1156 | gencode.c, interp.c, simops.c: Created. |
| 1157 | |