12021-07-01 Mike Frysinger <vapier@gentoo.org> 2 3 * Makefile.in (RESERVED_CFLAGS): Delete. 4 * configure.ac: Delete sim-reserved-bits. 5 * std-config.h (WITH_RESERVED_BITS): Delete. 6 * configure: Regenerate. 7 82021-06-30 Mike Frysinger <vapier@gentoo.org> 9 10 * configure.ac: Add -W flags from ../m4/sim_ac_option_warnings.m4. 11 Run compile tests against each flag. 12 * configure: Regenerate. 13 142021-06-29 Mike Frysinger <vapier@gentoo.org> 15 16 * main.c (sim_io_error): Add comment 17 * sim_calls.c (sim_io_error): Likewise. Change "" to " ". 18 (error): Likewise. 19 202021-06-20 Mike Frysinger <vapier@gentoo.org> 21 22 * Makefile.in (INLINE_CFLAGS): Change to $(SIM_INLINE). 23 * configure.ac: Delete sim-inline logic. 24 * configure: Regenerate. 25 262021-06-19 Mike Frysinger <vapier@gentoo.org> 27 28 * configure.ac: Replace ALL_INLINE with ALL_C_INLINE and 29 PSIM_INLINE_LOCALS with INLINE_LOCALS. 30 * inline.h: Likewise. 31 * options.c: Likewise. 32 * std-config.h: Likewise. Include sim-inline.h explicitly. 33 (REVEAL_MODULE): Define to H_REVEALS_MODULE. 34 (INLINE_MODULE): Define to C_REVEALS_MODULE. 35 (PSIM_INLINE_LOCALS): Delete. 36 (ALL_INLINE): Delete. 37 * configure: Regenerate. 38 392021-06-19 Mike Frysinger <vapier@gentoo.org> 40 41 * Makefile.in: Move intl vars to ../arch-subdir.mk.in. 42 * configure.ac: Delete ZW_GNU_GETTEXT_SISTER_DIR call. 43 * config.in, configure: Regenerate. 44 452021-06-19 Mike Frysinger <vapier@gentoo.org> 46 47 * Makefile.in: Delete toolchain vars. 48 * configure.ac: Likewise. 49 * configure: Regenerate. 50 512021-06-19 Mike Frysinger <vapier@gentoo.org> 52 53 * Makefile.in (LIBS): Add $(COMMON_LIBS). 54 (ZLIB): Use $(zlibdir). 55 * configure.ac: Delete AM_ZLIB & AC_PLUGINS calls. 56 * aclocal.m4, config.in, configure: Regenerate. 57 582021-06-18 Mike Frysinger <vapier@gentoo.org> 59 60 * Makefile.in (WERROR_CFLAGS): Delete. 61 * configure.ac: Delete werror configure option. 62 * configure: Regenerate. 63 642021-06-18 Mike Frysinger <vapier@gentoo.org> 65 66 * Makefile.in: Include ../arch-subdir.mk. 67 682021-06-18 Mike Frysinger <vapier@gentoo.org> 69 70 * sim-main.h: Delete sim-signal.h include. 71 722021-06-17 Mike Frysinger <vapier@gentoo.org> 73 74 * Makefile.in (ENDIAN_CFLAGS): Delete. 75 * configure.ac: Delete sim-endian. 76 * configure: Regenerate. 77 782021-06-17 Mike Frysinger <vapier@gentoo.org> 79 80 * igen.c (gen_semantics_h): Rename PAGE_SIZE to MPC860C0_PAGE_SIZE. 81 * ppc-instructions: Likewise. 82 832021-06-16 Mike Frysinger <vapier@gentoo.org> 84 85 * configure.ac: Delete AC_EXEEXT call. 86 * configure: Regenerate. 87 882021-06-16 Mike Frysinger <vapier@gentoo.org> 89 90 * configure.ac: Delete sim-assert logic. 91 * config.in, configure: Regenerate. 92 932021-06-16 Mike Frysinger <vapier@gentoo.org> 94 95 * altivec.igen: Change BIG_ENDIAN to BFD_ENDIAN_BIG. 96 * configure.ac: Change LITTLE_ENDIAN, BIG_ENDIAN, & 0 to 97 BFD_ENDIAN_LITTLE, BFD_ENDIAN_BIG, & BFD_ENDIAN_UNKNOWN respectively. 98 * emul_generic.c: Likewise. 99 * options.c (options_byte_order): Likewise. Change int to bfd_endian. 100 * psim.c (current_target_byte_order): Change type to bfd_endian. 101 (psim_create): Change LITTLE_ENDIAN & BIG_ENDIAN to BFD_ENDIAN_LITTLE 102 & BFD_ENDIAN_BIG respectively. 103 * sim-endian-n.h: Likewise. 104 * sim-endian.c: Likewise. 105 * std-config.h: Include bfd.h. 106 (LITTLE_ENDIAN, BIG_ENDIAN): Delete. 107 (HOST_BYTE_ORDER): Change to BFD_ENDIAN_BIG & BFD_ENDIAN_LITTLE. 108 (WITH_TARGET_BYTE_ORDER): Change to BFD_ENDIAN_UNKNOWN. 109 (current_target_byte_order): Change type to bfd_endian. 110 (CURRENT_TARGET_BYTE_ORDER): Compare to BFD_ENDIAN_UNKNOWN. 111 * vm.c (vm_synchronize_context): Change LITTLE_ENDIAN & BIG_ENDIAN to 112 BFD_ENDIAN_LITTLE & BFD_ENDIAN_BIG respectively. 113 * configure: Regenerate. 114 1152021-06-16 Mike Frysinger <vapier@gentoo.org> 116 117 * basics.h (__attribute__): Delete. 118 * misc.h (__attribute__): Likewise. 119 Include ansidecl.h. 120 1212021-06-16 Mike Frysinger <vapier@gentoo.org> 122 123 * cpu.h: Include ansidecl.h. 124 (cpu_error): Change __attribute__ ((format (printf... to 125 ATTRIBUTE_PRINTF_3. 126 * device.h (device_error): Change __attribute__ ((format (printf... 127 to ATTRIBUTE_PRINTF_2. 128 * lf.h: Include ansidecl.h. 129 (lf_printf): Change __attribute__ ((format (printf... to 130 ATTRIBUTE_PRINTF_2. 131 * sim_callbacks.h (sim_io_printf_filtered): Change __attribute__ 132 ((format (printf... to ATTRIBUTE_PRINTF_1. 133 * tree.h (tree_parse): Change __attribute__ ((format (printf... to 134 ATTRIBUTE_PRINTF_2. 135 1362021-06-16 Mike Frysinger <vapier@gentoo.org> 137 138 * double.c: Include ansidecls.h. 139 * dp-bit.c: Change __attribute__ ((packed)) to ATTRIBUTE_PACKED. 140 1412021-06-16 Mike Frysinger <vapier@gentoo.org> 142 143 * basics.h (NORETURN): Delete. 144 * sim_callbacks.h: Include ansidecl.h. Change NORETURN to 145 ATTRIBUTE_NORETURN. 146 * sim_calls.c: Likewise. 147 1482021-06-16 Mike Frysinger <vapier@gentoo.org> 149 150 * basics.h (UNUSED): Delete. 151 * gen-icache.c (print_icache_extraction): Change UNUSED to 152 ATTRIBUTE_UNUSED. 153 * idecode_expression.h: Likewise. Include ansidecl.h. 154 * inline.h: Likewise. 155 1562021-06-16 Mike Frysinger <vapier@gentoo.org> 157 158 * basics.h: Delete CONCAT* and XCONCAT* macros. 159 * corefile.c: Include symcat.h. 160 * idecode_fields.h: Likewise. 161 * sim-endian.c: Likewise. 162 * vm.c: Likewise. 163 1642021-06-16 Mike Frysinger <vapier@gentoo.org> 165 166 * device.h (device_add_boolean_property): Rename bool arg to boolean. 167 1682021-06-16 Mike Frysinger <vapier@gentoo.org> 169 170 * Makefile.in (HOSTENDIAN_CFLAGS): Delete. 171 * configure.ac: Delete sim-hostendian logic. 172 * altivec_registers.h (WITH_HOST_BYTE_ORDER): Rename to ... 173 (HOST_BYTE_ORDER): ... this. 174 * options.c: Likewise. 175 * sim-endian.c: Likewise. 176 * psim.c (current_host_byte_order): Delete. 177 (CURRENT_HOST_BYTE_ORDER): Rename to ... 178 (HOST_BYTE_ORDER): ... this. 179 * sim-endian-n.h: Likewise. 180 * sim-endian.h: Delete all custom endian include & define logic. 181 * std-config.h (WITH_HOST_BYTE_ORDER): Delete. 182 (LITTLE_ENDIAN): Define fallback. 183 (BIG_ENDIAN): Likewise. 184 (HOST_BYTE_ORDER): Define based on WORDS_BIGENDIAN. 185 (current_host_byte_order, CURRENT_HOST_BYTE_ORDER): Delete. 186 * config.in, configure: Regenerate. 187 1882021-06-13 Mike Frysinger <vapier@gentoo.org> 189 190 * Makefile.in (COMMON_OBJS_NAMES, +COMMON_OBJS): New variables. 191 (LIB_OBJ): Replace version.o with $(COMMON_OBJS). 192 (version.c, version.o): Delete rules. 193 1942021-06-12 Mike Frysinger <vapier@gentoo.org> 195 196 * Makefile.in: Add $(EXEEXT) to run and psim. 197 1982021-06-12 Mike Frysinger <vapier@gentoo.org> 199 200 * Makefile.in: Delete ALIGNMENT_CFLAGS. 201 * configure.ac: Delete sim-alignment. 202 * configure: Regenerate. 203 2042021-06-12 Mike Frysinger <vapier@gentoo.org> 205 206 * configure.ac: Delete calls to ACX_PKGVERSION & ACX_BUGURL. 207 * aclocal.m4, config.in, configure: Regenerate. 208 2092021-06-12 Mike Frysinger <vapier@gentoo.org> 210 211 * configure.ac: Delete sim-stdio & sim-trace. 212 * debug.h: Define TRACE_* defines. 213 * config.in, configure: Regenerate. 214 2152021-06-12 Mike Frysinger <vapier@gentoo.org> 216 217 * configure.ac: Delete AC_STRUCT_*, AC_TYPE_*, AC_CHECK_FUNCS, 218 AC_CHECK_HEADERS, and AC_HEADER_DIRENT calls. 219 * config.in, configure: Regenerate. 220 2212021-06-12 Mike Frysinger <vapier@gentoo.org> 222 223 * configure.ac: Delete sim-env configure option. 224 * defs.h: Include ../config.h. Undefine PACKAGE* defines. 225 * std-config.h (ALL_ENVIRONMENT): Define. 226 * config.in, configure: Regenerate. 227 2282021-06-09 Mike Frysinger <vapier@gentoo.org> 229 230 * basics.h (NULL): Delete. 231 * gen-itable.c (NULL): Likewise. 232 * gen-model.c (NULL): Likewise. 233 * ld-cache.c (NULL): Likewise. 234 * ld-decode.c (NULL): Likewise. 235 2362021-05-29 Mike Frysinger <vapier@gentoo.org> 237 238 * configure.ac (WERROR_CFLAGS): Add -Wno-format for mingw32 hosts. 239 * configure: Regenerate. 240 2412021-05-29 Mike Frysinger <vapier@gentoo.org> 242 243 * emul_generic.c (emul_write_status): Rename errno to err. 244 (emul_write2_status): Likewise. 245 * emul_generic.h (emul_write_status, emul_write2_status): Likewise. 246 * emul_netbsd.c (errno): Delete. 247 * emul_unix.c (errno): Delete. 248 2492021-05-29 Mike Frysinger <vapier@gentoo.org> 250 251 * Makefile.in (INCLUDES): Add -I../.. 252 2532021-05-16 Mike Frysinger <vapier@gentoo.org> 254 255 * Makefile.in (gentmap): Pass -DUSE_CONFIG_H. 256 * basics.h, debug.c, filter_filename.c, inline.c, sim-endian.c, 257 words.h: Replace config.h include with defs.h. 258 * defs.h: New file. 259 2602021-05-15 Mike Frysinger <vapier@gentoo.org> 261 262 * Makefile.in (WERROR_CFLAGS): Define. 263 (STD_CFLAGS): Add $(WERROR_CFLAGS). 264 * configure.ac: Add --enable-werror. 265 * device.c (device_full_name): Delete full_name variable. 266 (device_clean): Delete system variable. 267 * emul_chirp.c (chirp_emul_getprop): Cast vars to unsigned long. 268 (chirp_emul_seek): Likewise. 269 * hw_glue.c (hw_glue_init_address): Use %zu format. 270 * hw_ide.c (hw_ide_io_read_buffer): Cast vars to unsigned long. 271 (hw_ide_io_write_buffer): Likewise. 272 * hw_init.c (update_for_binary_section): Cast vars to unsigned long. 273 * hw_phb.c (hw_phb_dma_read_buffer): Likewise. 274 (hw_phb_dma_write_buffer): Likewise. 275 * hw_shm.c (hw_shm_init_data): Delete d variable. 276 (hw_shm_attach_address_callback): Delete shm variable. 277 * igen.c (gen_semantics_c): Include tree.h. 278 * interrupts.c (alignment_interrupt): Cast vars to unsigned long. 279 * ld-insn.c (dump_insn_field): Cast vars to unsigned long. 280 * main.c (main): Add const to argv. 281 * options.c (print_options): Cast var to int. 282 * ppc-instructions: Add %s to format. Delete shifted variable. Add 283 parenthesis to binary operations. 284 * psim.c (find_arg): Add const to return and argv. 285 (is_num): Add const to string. 286 (psim_options): Add const to return and argv, and p & param. 287 (psim_command): Add const to argv, device, and media. 288 (psim_stack): Add const to argv and envp. 289 * psim.h: Add const to psim_options, psim_command, and psim_stack. 290 * tree.c (parse_reg_property): Delete & from sizeof. 291 * vm.c (om_virtual_to_real): Const vars to long. 292 * vm_n.h (vm_data_map_read_N): Change format to %zu. 293 (vm_data_map_write_N): Likewise. 294 * configure: Regenerate. 295 2962021-05-14 Mike Frysinger <vapier@gentoo.org> 297 298 * Makefile.in: Update path. 299 * gdb-sim.c: Update include path. 300 * main.c: Likewise. 301 * psim.h: Likewise. 302 * sim_calls.c: Likewise. 303 3042021-04-22 Tom Tromey <tom@tromey.com> 305 306 * mon.c: Update includes. 307 * emul_unix.c: Update includes. 308 (do_unix_gettimeofday): Update condition. 309 3102021-04-22 Tom Tromey <tom@tromey.com> 311 312 * Makefile.in (stamp-vals, stamp-map): New targets. 313 (targ-vals.h, targ-map.c): Update. 314 (clean): Remove files. 315 3162021-04-08 Tom Tromey <tom@tromey.com> 317 318 * emul_unix.c: Include time.h. 319 3202021-04-08 Simon Marchi <simon.marchi@polymtl.ca> 321 322 * Makefile.in: Set ASAN_OPTIONS when running igen. 323 3242021-04-03 Mike Frysinger <vapier@gentoo.org> 325 326 * Makefile.in (install): Install as run-ppc when not the primary arch. 327 (install-strip): Likewise. 328 3292021-03-13 Mike Frysinger <vapier@gentoo.org> 330 331 * Makefile.in (BUILD_LDFLAGS): Rename to ... 332 (LDFLAGS_FOR_BUILD): ... this. 333 (LINK_FOR_BUILD): Change BUILD_LDFLAGS to LDFLAGS_FOR_BUILD. 334 3352021-03-13 Mike Frysinger <vapier@gentoo.org> 336 337 * Makefile.in (COMPILE_FOR_BUILD, LINK_FOR_BUILD): Define. 338 Change $(CC_FOR_BUILD) $(BUILD_CFLAGS) $(BUILD_LDFLAGS) to 339 $(LINK_FOR_BUILD). Change $(CC_FOR_BUILD) $(BUILD_CFLAGS) to 340 $(COMPILE_FOR_BUILD). 341 3422021-03-08 Mike Frysinger <vapier@gentoo.org> 343 344 * Makefile.in (gentmap, dgen, igen, tmp-filter, tmp-ld-decode, 345 tmp-ld-cache, tmp-ld-insn): Delete $(BUILD_LIBS). 346 3472021-03-07 Mike Frysinger <vapier@gentoo.org> 348 349 * Makefile.in (check): Define. 350 3512021-02-13 Mike Frysinger <vapier@gentoo.org> 352 353 * configure.ac: Replace sinclude with AC_CONFIG_MACRO_DIRS. 354 * aclocal.m4, configure: Regenerate. 355 3562021-02-06 Mike Frysinger <vapier@gentoo.org> 357 358 * Makefile.in (STD_CFLAGS): Delete $(HDEFINES) $(TDEFINES). 359 (NOWARN_CFLAGS): Likewise. 360 (HDEFINES, TDEFINES): Delete. 361 * configure.ac: Delete AC_SUBST(HDEFINES) and bfd/configure.host 362 sourcing. 363 * configure: Regenerate. 364 3652021-01-19 Mike Frysinger <vapier@gentoo.org> 366 367 * Makefile.in (version.c): Simplifiy args and call move-if-change. 368 3692021-01-11 Mike Frysinger <vapier@gentoo.org> 370 371 * configure.ac: Delete checks for stdlib.h, string.h, 372 strings.h, and time.h. 373 * config.in, configure: Regenerate. 374 * cpu.c, debug.c, device.c, device_table.c, device_table.h, 375 dgen.c, emul_bugapi.c, emul_chirp.c, emul_netbsd.c, emul_unix.c, 376 filter.c, hw_com.c, hw_eeprom.c, hw_nvram.c, hw_opic.c, hw_pal.c, 377 hw_phb.c, hw_sem.c, hw_shm.c, lf.c, main.c, misc.c, misc.h, 378 mon.c, pk_disklabel.c, psim.c, registers.c, sim_calls.c, table.c, 379 tree.c: Delete HAVE_ERRNO_H, HAVE_STDLIB_H, HAVE_STRING_H, 380 HAVE_STRINGS_H, HAVE_LIMITS_H, HAVE_TIME_H, and strings.h include. 381 * hw_nvram.c: Likewise. 382 (_hw_nvram_device): Always define host_time as time_t. 383 (hw_nvram_update_clock): Delete error fallback. 384 * gen-model.c (gen_model_c): Delete HAVE_STDLIB_H output. 385 386 3872021-01-09 Mike Frysinger <vapier@gentoo.org> 388 389 * configure: Regenerate. 390 3912021-01-08 Mike Frysinger <vapier@gentoo.org> 392 393 * sim_calls.c (sim_memory_map): Define. 394 3952021-01-04 Mike Frysinger <vapier@gentoo.org> 396 397 * gen-icache.c, igen.c: Include stdlib.h. 398 3992021-01-04 Mike Frysinger <vapier@gentoo.org> 400 401 * acinclude.m4 (ACX_BUGURL): Change http:// to https://. 402 * configure: Regenerate. 403 4042020-10-20 Dr. David Alan Gilbert <dgilbert@redhat.com> 405 406 * emul_netbsd.c (do_sigprocmask): Fix printf format. 407 4082020-07-03 Sebastian Huber <sebastian.huber@embedded-brains.de> 409 410 * ld-insn.h (last_model, last_model_data, last_model_function, 411 last_model_internal, last_model_macro, last_model_static): 412 Delete. 413 (max_model_fields_len, model_data, model_functions, 414 model_internal, model_macros, model_static, models): Declare, but do not 415 define. 416 * ld-insn.c (last_model, last_model_data, last_model_function, 417 last_model_internal, last_model_macro, last_model_static, 418 max_model_fields_len, model_data, model_functions, 419 model_internal, model_macros, model_static, models): Define. 420 4212020-03-12 Kamil Rytarowski <n54@gmx.com> 422 423 * emul_netbsd.c (netbsd_signal_names): Sync with NetBSD 9.99.49. 424 4252020-03-12 Kamil Rytarowski <n54@gmx.com> 426 427 * emul_netbsd.c (netbsd_error_names): Sync with NetBSD 9.99.49. 428 4292019-12-19 Tom Tromey <tromey@adacore.com> 430 431 PR build/24572: 432 * Makefile.in (install-strip): New target. 433 4342019-09-20 Alan Modra <amodra@gmail.com> 435 436 * emul_generic.c (emul_add_tree_options): Delete old bfd code. 437 4382019-01-26 Tom Tromey <tom@tromey.com> 439 440 * Makefile.in (version.c): Use sim's create-version.sh. 441 4422018-05-09 Sebastian Rasmussen <sebras@gmail.com> 443 444 * e500_registers.h: Comment typo fix. 445 * ppc-instructions (ppc_insn_mfcr): Likewise. 446 4472017-09-05 John Baldwin <jhb@FreeBSD.org> 448 449 PR sim/20863 450 * sim_calls.c (error): New function. 451 4522017-02-13 Mike Frysinger <vapier@gentoo.org> 453 454 * cpu.h: Include libiberty.h. 455 * emul_bugapi.c (emul_bugapi_instruction_name): Use ARRAY_SIZE. 456 * emul_generic.h: Include libiberty.h. 457 * emul_netbsd.c (emul_netbsd_syscalls): Use ARRAY_SIZE. 458 * emul_unix.c (convert_to_solaris_stat): Likewise. 459 (emul_solaris_syscalls): Likewise. 460 (emul_linux_syscalls): Likewise. 461 * options.c (print_options): Likewise. 462 * ppc-instructions: Likewise. 463 4642016-01-10 Mike Frysinger <vapier@gentoo.org> 465 466 * configure.ac (sim-assert): Call AC_MSG_CHECKING, 467 AC_DEFINE_UNQUOTED, and AC_MSG_RESULT 468 (sim-env, sim-stdio, sim-trace): Delete. 469 * config.in, configure: Regenerate. 470 * Make-common.in (ENV_CFLAGS, TRACE_CFLAGS, ASSERT_CFLAGS, 471 STDIO_CFLAGS): Delete. 472 (CONFIG_CFLAGS): Delete $(ENV_CFLAGS), $(TRACE_CFLAGS), 473 $(ASSERT_CFLAGS), and $(STDIO_CFLAGS). 474 * std-config.h (WITH_ENVIRONMENT, WITH_TRACE, WITH_ASSERT, 475 WITH_STDIO): Delete. 476 4772016-01-10 Mike Frysinger <vapier@gentoo.org> 478 479 * configure: Regenerate. 480 4812016-01-10 Mike Frysinger <vapier@gentoo.org> 482 483 * configure: Regenerate. 484 4852016-01-10 Mike Frysinger <vapier@gentoo.org> 486 487 * configure.ac: Delete --enable-sim-regparm and sim_regparm, 488 and --enable-sim-stdcall and sim_stdcall. 489 * configure: Regenerate. 490 * Makefile.in (REGPARM_CFLAGS, STDCALL_CFLAGS): Delete. 491 (CONFIG_CFLAGS): Delete $(REGPARM_CFLAGS) and $(STDCALL_CFLAGS). 492 * inline.h: Delete REGPARM everywhere. 493 * options.c (print_options): Delete WITH_REGPARM and 494 WITH_STDCALL. 495 * std-config.h (WITH_REGPARM, WITH_STDCALL, REGPARM): Delete. 496 4972016-01-10 Mike Frysinger <vapier@gentoo.org> 498 499 * configure.ac: Delete --enable-sim-cflags and sim_cflags. 500 * configure: Regenerate. 501 * INSTALL: Delete all mention of --enable-sim-cflags. 502 * Makefile.in (SIM_CFLAGS): Delete. 503 (STD_CFLAGS, NOWARN_CFLAGS): Delete $(SIM_CFLAGS). 504 (psim): Likewise. 505 5062016-01-06 Mike Frysinger <vapier@gentoo.org> 507 508 * sim_calls.c (sim_open): Mark argv const. 509 (sim_create_inferior): Mark argv and env const. 510 5112016-01-04 Mike Frysinger <vapier@gentoo.org> 512 513 * configure.ac (sim-bswap): Delete. 514 * configure: Regenerate. 515 * INSTALL: Delete --enable-sim-bswap docs. 516 * Makefile.in (BSWAP_CFLAGS): Delete. 517 (CONFIG_CFLAGS): Delete $(BSWAP_CFLAGS). 518 * options.c (print_options): Delete WITH_BSWAP. 519 * sim-endian.h (htonl, ntohl): Delete. 520 * std-config.h (WITH_BSWAP): Delete. 521 5222016-01-02 Mike Frysinger <vapier@gentoo.org> 523 524 * main.c (main): Pass SIM_OPEN_STANDALONE to psim_options and 525 psim_usage. 526 * psim.c (psim_usage): Add new kind arg. Only show bug URL and 527 exit when kind is SIM_OPEN_STANDALONE. 528 (psim_options): Add new kind arg. Pass kind down to all psim_usage 529 calls. Replace error/break calls after psim_usage with return NULL. 530 Only exit with version case when kind is SIM_OPEN_STANDALONE. 531 * psim.h: Include gdb/remote-sim.h. 532 (psim_options): Add new kind arg. 533 (psim_usage): Likewise. 534 * sim_calls.c (sim_open): Pass kind to psim_options. Return NULL 535 when it returns NULL. 536 5372015-12-29 Kevin Buettner <kevinb@redhat.com> 538 539 * emul_netbsd.c (fd_closed): New static array. 540 (fdbad): New function. 541 (do_read, do_write, do_close, do_dup, do_ioctl, do_dup2, do_fcntl) 542 (do_fstatfs, do_fstat, do_lseek): Call `fdbad'. 543 (emul_netbsd_init): Initialize `fd_closed'. 544 * emul_unix.c (fd_closed): New static array. 545 (fdbad): New function. 546 (do_unix_read, do_unix_write, do_unix_close, do_unix_dup) 547 (do_unix_dup2, do_unix_lseek, do_solaris_fstat, do_solaris_ioctl) 548 (do_linux_fstat, do_linux_ioctl): Call `fdbad'. 549 (emul_solaris_init, emul_linux_init): Initialize `fd_closed'. 550 5512015-12-26 Mike Frysinger <vapier@gentoo.org> 552 553 * Makefile.in (TCONFIG_H): Delete. 554 (sim-fpu.o): Delete $(TCONFIG_H). 555 (tconfig.h): Delete rule. 556 5572015-11-21 Mike Frysinger <vapier@gentoo.org> 558 559 PR sim/13834 560 * Makefile.in (gentmap): Change $< to $(srcdir)/../common/gentmap.c. 561 (callback.o): Change $< to $(srcdir)/../common/callback.c. 562 (options.o): Change $< to $(srcdir)/options.c. 563 5642015-11-17 Pedro Alves <palves@redhat.com> 565 566 * debug.h (TRACE, ITRACE, DTRACE, DITRACE, PTRACE): Call 567 sim_io_printf_filtered instead of printf_filtered. 568 5692015-06-12 Mike Frysinger <vapier@gentoo.org> 570 571 * configure: Regenerate. 572 5732015-04-29 Nick Clifton <nickc@redhat.com> 574 575 PR 18273 576 * hw_htab.c (htab_map_binary): Fix overlap check. 577 5782015-04-13 Mike Frysinger <vapier@gentoo.org> 579 580 * Makefile.in (version.o): Change to using create-version.sh from gdb. 581 (create-version.sh): Delete. 582 5832015-03-31 Mike Frysinger <vapier@gentoo.org> 584 585 * config.in, configure: Regenerate. 586 * Makefile.in (INCLUDES): Add $(ZLIBINC). 587 (ZLIB, ZLIBINC): Define. 588 (BFD_LIB): Add $(ZLIB). 589 5902014-11-23 Joel Sherrill <joel.sherrill@oarcorp.com> 591 592 * ChangeLog, ChangeLog.00, hw_com.c, ld-cache.h, ppc-instructions: 593 Change immediatly to immediately. 594 5952014-08-27 Joel Sherrill <joel.sherrill@oarcorp.com> 596 597 * basics.h, device.c, device.h, hw_htab.c, hw_memory.c: 598 Correct spelling in comments. 599 6002014-08-19 Alan Modra <amodra@gmail.com> 601 602 * configure.ac: Invoke AC_PLUGINS. 603 * configure: Regenerate. 604 * config.in: Regenerate. 605 6062014-03-10 Mike Frysinger <vapier@gentoo.org> 607 608 * sim_calls.c (sim_do_command): Add const to cmd. 609 6102014-03-05 Mike Frysinger <vapier@gentoo.org> 611 612 * sim_calls.c (sim_load): Add const to prog. 613 6142014-02-17 Aaro Koskinen <aaro.koskinen@iki.fi> 615 616 PR gdb/12202 617 * Makefile.in (psim): Delete $(LIBS) from dependency. 618 6192013-10-15 Hans-Peter Nilsson <hp@axis.com> 620 621 * Makefile.in (srcsim): New variable. 622 (version.c): Adjust call to $(srccom)/create-version.sh as per change. 623 6242013-06-28 Tom Tromey <tromey@redhat.com> 625 626 * Make-common.in (version.c): Use version.in, not 627 common/version.in. 628 6292013-06-24 Joel Brobecker <brobecker@adacore.com> 630 631 * Makefile.in (srccom): New variable. 632 (version.c): Update rule dependencies, and re-implement using 633 sim/common/create-version.sh. 634 6352013-05-03 Hafiz Abid Qadeer <abidh@codesourcery.com> 636 637 revert: 638 2013-04-19 Nathan Froyd <froydnj@codesourcery.com> 639 * ppc-instructions (isel): New instruction. 640 6412013-04-19 Nathan Froyd <froydnj@codesourcery.com> 642 643 * ppc-instructions (isel): New instruction. 644 6452012-12-19 Joel Brobecker <brobecker@adacore.com> 646 647 * COPYING: Update to GPL version 3. 648 6492012-06-15 Joel Brobecker <brobecker@adacore.com> 650 651 * configure: Regenerate. 652 6532012-05-24 Pedro Alves <palves@redhat.com> 654 655 PR gdb/7205 656 * Replace TARGET_SIGNAL_ with GDB_SIGNAL_ throughout. 657 6582012-03-14 Michael Haubenwallner <michael.haubenwallner@salomon.at> 659 660 * emul_unix.c (st_pad1, st_pad2, st_pad3): Undefine. 661 6622012-01-02 Joel Brobecker <brobecker@adacore.com> 663 664 * dp-bit.c: Reformat copyright header. 665 6662011-02-11 Ben Golding <ben_golding@yahoo.co.uk> 667 668 * events.c: add #include <stdlib.h> for free(). Fix PR build/13372. 669 6702011-10-17 Mike Frysinger <vapier@gentoo.org> 671 672 * configure.ac: Change include to common/acinclude.m4. 673 6742011-10-17 Mike Frysinger <vapier@gentoo.org> 675 676 * configure.ac: Change AC_PREREQ to 2.64. Delete AC_CONFIG_HEADER 677 call. Replace common.m4 include with SIM_AC_COMMON. 678 * configure: Regenerate. 679 6802011-06-09 Joel Brobecker <brobecker@adacore.com> 681 682 * psim.c (psim_options): Fix length of comparison when checking 683 for --sysroot= option. 684 6852011-06-08 Joel Brobecker <brobecker@adacore.com> 686 687 * psim.c (psim_options): Add option that cause the error 688 in invalid-option error messages. Print the usage when 689 detecting an invalid long-name option. 690 6912011-06-08 Joel Brobecker <brobecker@adacore.com> 692 693 * psim.c (psim_options): Accept and ignore `--sysroot=...'. 694 6952011-06-03 Joel Brobecker <brobecker@adacore.com> (obvious fix) 696 697 From Stephen Kitt <steve@sk2.org> 698 * vm.c (vm_synchronize_context): Spelling fix in function 699 documentation. 700 7012011-04-16 Mike Frysinger <vapier@gentoo.org> 702 703 * sim_calls.c (sim_complete_command): New stub function. 704 7052011-02-14 Mike Frysinger <vapier@gentoo.org> 706 707 * cap.c (cap_remove): Change zfree to free. 708 * corefile.c (core_init): Likewise. 709 * device.c (detach_device_interrupt_edge): Likewise. 710 (clean_device_interrupt_edges): Likewise. 711 (device_instance_delete): Likewise. 712 (device_set_property): Likewise. 713 (clean_device_properties): Likewise. 714 (device_add_range_array_property): Likewise. 715 (device_add_reg_array_property): Likewise. 716 * emul_bugapi.c (emul_bugapi_do_read): Likewise. 717 (emul_bugapi_do_write) 718 * emul_netbsd.c (write_direntries): Likewise. 719 (do_read): Likewise. 720 (do_write): Likewise. 721 (do_getdirentries): Likewise. 722 * emul_unix.c (do_unix_read): Likewise. 723 (do_unix_write): Likewise. 724 * events.c (event_queue_init): Likewise. 725 (event_queue_deschedule): Likewise. 726 (event_queue_process): Likewise. 727 * hw_disk.c (open_disk_image): Likewise. 728 (hw_disk_instance_delete): Likewise. 729 * hw_eeprom.c (hw_eeprom_instance_delete): Likewise. 730 * hw_htab.c (htab_dma_binary): Likewise. 731 * hw_init.c (update_for_binary_section): Likewise. 732 * hw_memory.c (hw_memory_set_available): Likewise. 733 (hw_memory_init_address): Likewise. 734 (hw_memory_instance_release): Likewise. 735 * pk_disklabel.c (disklabel_delete): Likewise. 736 * table.c (table_push): Likewise. 737 * tree.c (parse_reg_property): Likewise. 738 (parse_ranges_property): Likewise. 739 (parse_string_property): Likewise. 740 * main.c (zfree): Delete. 741 * sim_calls.c (zfree): Likewise. 742 * sim_callbacks.h (zfree): Likewise. 743 7442011-01-11 Andrew Burgess <aburgess@broadcom.com> 745 746 * gdb-sim.c (sim_store_register): Update return value to 747 match new API. 748 7492011-01-05 Joel Brobecker <brobecker@adacore.com> 750 751 * psim.texinfo: Copyright year update. 752 7532010-04-14 Mike Frysinger <vapier@gentoo.org> 754 755 * sim_calls.c (sim_write): Add const to buf arg. 756 7572010-02-14 Andreas Schwab <schwab@linux-m68k.org> 758 759 * ppc-instructions: Fix missing assignment in last change. 760 7612010-02-05 Andreas Schwab <schwab@linux-m68k.org> 762 763 * ppc-instructions: Fix aliasing bugs when calling 764 invalid_arithemetic_operation. 765 7662009-11-13 Nathan Froyd <froydnj@codesourcery.com> 767 768 * configure.ac: If build != host, create a separate build-config.h 769 file desecribing the build machine. 770 * configure: Regenerate. 771 * lf.c: Include build-config.h instead of config.h. 772 * dgen.c: Likewise. 773 * igen.c: Likewise. 774 * misc.c: Likewise. 775 * misc.h: Likewise. 776 * filter.c: Likewise. 777 * table.c: Likewise. 778 7792009-10-15 Joel Sherrill <joel.sherrill@oarcorp.com> 780 781 * std-config.h: Fix spelling error. 782 7832009-09-22 Joel Sherrill <joel.sherrill@oarcorp.com> 784 785 * main.c: Fix spelling error. 786 7872009-09-15 Andreas Tobler <andreast-list@fgznet.ch> 788 Doug Evans <dje@google.com> 789 790 * configure.ac (sim_hwflags): Use AC_DEFINE to define HAVE_UNION_SEMUN. 791 * configure: Regenerate. 792 * config.in: Regenerate. 793 * hw_sem.c: (HAVE_UNION_SEMUN): Renamed from HAS_UNION_SEMUN. 794 7952009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 796 797 * config.in: Regenerate. 798 * configure: Likewise. 799 800 * configure: Regenerate. 801 8022009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 803 804 * Makefile.in (datarootdir): New variable. 805 8062009-01-12 Nathan Froyd <froydnj@codesourcery.com> 807 808 * ppc-instructions (sync): Add L field. 809 8102008-12-15 Joel Sherrill <joel.sherrill@oarcorp.com> 811 812 * ppc-instructions, ppc-spr-table: Add ability 813 to read tbrl and tbru special registers. 814 8152008-11-18 Joel Sherrill <joel.sherrill@oarcorp.com> 816 817 * configure: Regenerated. 818 * configure.ac: Add test for System V shared memory and semaphore. 819 * debug.c, debug.h: Add trace support for new devices. 820 * hw_sem.c, hw_shm.c: New files. 821 * Makefile.in: Add hw_sem.c and hw_shm.c. 822 8232008-07-11 Hans-Peter Nilsson <hp@axis.com> 824 825 * configure.ac: Add test for libz and zlib.h. 826 * Makefile.in (LIBS): Set from @LIBS@. 827 * configure: Regenerate. 828 * config.in: Ditto. 829 8302008-06-06 Vladimir Prus <vladimir@codesourcery.com> 831 Daniel Jacobowitz <dan@codesourcery.com> 832 Joseph Myers <joseph@codesourcery.com> 833 834 * configure.ac: Use ACX_PKGVERSION and ACX_BUGURL. 835 * configure, config.in: Regenerated. 836 * Makefile.in (LIB_OBJ): Add version.o. 837 (version.c, version.o): New rules. 838 * psim.c (psim_usage): Add help parameter. Print the bug URL. 839 Exit with code 0 for help. 840 (psim_options): Update calls to psim_usage. Handle --help and 841 --version. 842 * psim.h (psim_usage): Update prototype. 843 * main.c (main): Update psim_usage call. 844 8452008-03-14 Nick Hudson <nick.hudson@dsl.pipex.com 846 847 * configure.ac: Pass ../../intl to ZW_GNU_GETTEXT_SISTER_DIR. 848 * configure: Regenerate. 849 8502007-10-15 Daniel Jacobowitz <dan@codesourcery.com> 851 852 * gdb-sim.c (regnum2spr): Rename to... 853 (sim_spr_register_name): ... this. Make global. 854 8552007-09-04 Jerome Guitton <guitton@adacore.com> 856 857 * sim/ppc/emul_bugapi.c (emul_bugapi_create): quote the file 858 name property before parsing it. 859 8602006-12-21 Hans-Peter Nilsson <hp@axis.com> 861 862 * acconfig.h: Remove. 863 * config.in: Regenerate. 864 8652006-11-22 Tom Marn <tom.marn@telargo.com> 866 867 Committed by Andrew Cagney. 868 * ppc-instructions: Implement optional PowerPC stfiwx instruction. 869 8702006-07-12 Fred Fish <fnf@specifix.com> 871 872 * sim-endian.h (asm/byteorder.h): Don't include private kernel 873 header. 874 8752006-06-13 Richard Earnshaw <rearnsha@arm.com> 876 877 * configure: Regenerated. 878 8792006-05-31 Daniel Jacobowitz <dan@codesourcery.com> 880 881 * Makefile.in: Replace INTLLIBS and INTLDEPS with LIBINTL 882 and LIBINTL_DEP everywhere. 883 (INTL_DIR, INTL_SRC): Remove. 884 (INTL_CFLAGS): Use INCINTL. 885 * configure.ac: Use ZW_GNU_GETTEXT_SISTER_DIR. 886 * configure: Regenerated. 887 8882006-05-05 Andreas Schwab <schwab@suse.de> 889 890 * configure.ac (CFLAGS_FOR_BUILD): Set and substitute. 891 * configure: Regenerate. 892 893 * Makefile.in (CFLAGS_FOR_BUILD): Define. 894 (BUILD_CFLAGS): Use it instead of hardcoding "-g -O". 895 (gentmap): Fix typo BUILD_FLAGS -> BUILD_CFLAGS. 896 8972006-04-23 Andreas Schwab <schwab@suse.de> 898 899 * Makefile.in (tmp-ld-decode): Fix dependencies. 900 (tmp-ld-cache): Likewise. 901 (tmp-ld-insn): Likewise. 902 9032006-02-01 Mark Mitchell <mark@codesourcery.com> 904 905 * emul_netbsd.c (emul_netbsd_create): Quote file-name property. 906 * emul_unix.c (emul_unix_create): Likewise. 907 * tree.c (libiberty.h): Include it. 908 (tree_quote_property): New function. 909 * tree.h (tree_quote_property): Declare. 910 9112006-01-25 Mark Mitchell <mark@codesourcery.com> 912 913 * words.h (natural32): Define as "int". 914 9152006-01-23 Mark Mitchell <mark@codesourcery.com> 916 917 * words.h (signed32): Define as "int". 918 (unsigned32): Define as "unsigned int". 919 9202005-11-28 Mark Mitchell <mark@codesourcery.com> 921 922 * configure.ac (USE_WIN32API): Define it. 923 * configure.in: Regenerate. 924 * config.in: Likewise. 925 * emul_netbsd.c (write_timezone): Guard with HAVE_GETTIMEOFDAY. 926 * emul_unix.c (do_unix_mkdir): Handle Win32 1-argument mkdir. 927 9282005-11-28 Mark Mitchell <mark@codesourcery.com> 929 930 * psim.c: Include gdb/signals.h. 931 932 * sim_calls.c (gdb/signals.h): Include it. 933 (sim_stop_reason): Use TARGET_SIGNAL_*. 934 * psim.c (cntrl_c_simulation): Use TARGET_SIGNAL_*. 935 9362005-07-15 Ben Elliston <bje@au.ibm.com> 937 938 * hw_htab.c (bfd_get_section_lma): Remove macro; use BFD's. 939 9402005-07-15 Ben Elliston <bje@au.ibm.com> 941 942 * hw_init.c: Comment out tokens after #endif directive. 943 * hw_register.c: Likewise. 944 * hw_trace.c: Likewise. 945 * hw_vm.c: Likewise. 946 9472005-04-20 Manoj Iyer <manjo@austin.ibm.com> 948 949 * psim.c: Added libiberty.h header file. 950 9512005-04-18 Manoj Iyer <manjo@austin.ibm.com> 952 953 * configure.ac: Added check for long long. 954 * config.in: Regenerated. 955 * configure: Regenerated. 956 * words.h: Modified logic to check for HAVE_LONG_LONG instead of 957 __GNUC__, added config.h header file. 958 9592005-03-25 Anthony Green <green@redhat.com> 960 961 * tree.c (parse_reg_property): Fix memset usage. 962 9632005-03-23 Mark Kettenis <kettenis@gnu.org> 964 965 * configure: Regenerate. 966 9672005-01-11 Andrew Cagney <cagney@localhost.localdomain> 968 969 * configure.ac: Delete AC_CONFIG_AUX_DIR. 970 * configure: Re-generate. 971 9722005-01-07 Andrew Cagney <cagney@gnu.org> 973 974 * configure.ac: Rename configure.in, require autoconf 2.59. 975 * configure: Re-generate. 976 9772005-01-03 Andreas Schwab <schwab@suse.de> 978 979 * Makefile.in (hw_com.o, hw_eeprom.o): Depend on 980 $(DEVICE_TABLE_H). 981 9822004-11-16 Andreas Schwab <schwab@suse.de> 983 984 * Makefile.in (defines.h): Depend on tmp-defines. 985 (hw.c hw.h): Depend on tmp-hw. 986 (pk.h): Depend on tmp-pk. 987 9882004-11-11 Andreas Schwab <schwab@suse.de> 989 990 * sim_calls.c: Include "libiberty.h". 991 9922004-09-24 Ian Lance Taylor <ian@wasabisystems.com> 993 994 Committed by Andrew Cagney. 995 * configure.in: Check for sys/mount.h, sys/vfs.h, sys/statfs.h. 996 Check for struct statfs. 997 * emul_netbsd.c: If not HAVE_STRUCT_STATFS, #undef HAVE_FSTATFS. 998 * configure, config.in: Regenerate. 999 10002004-08-05 Nathanael Nerode <neroden@gcc.gnu.org> 1001 1002 * Makefile.in (GDB_INCLUDES): Remove bogus reference to mmalloc. 1003 10042004-08-04 Andrew Cagney <cagney@gnu.org> 1005 Jim Blandy <jimb@redhat.com> 1006 1007 * sim_callbacks.h (simulator): Declare. 1008 * Makefile.in (gdb-sim.o): New rule. 1009 (MAIN_SRC, GDB_OBJ): Add gdb-sim.o, gdb-sim.c. 1010 (DEFS_H): Delete. 1011 (GDB_SIM_PPC_H): Define. 1012 * gdb-sim.c: New file. 1013 * sim_calls.c: Do not include "defs.h". 1014 (simulator): Drop static. 1015 (sim_store_register, sim_fetch_register): Delete. 1016 10172004-08-04 Andrew Cagney <cagney@gnu.org> 1018 1019 * Back out accidently committed change. 1020 10212004-08-04 Jim Blandy <jimb@redhat.com> 1022 1023 Use a fixed register numbering when communicating with the PowerPC 1024 simulator. 1025 * sim_calls.c: #include "registers.h" and "gdb/sim-ppc.h"; do not 1026 include GDB's "defs.h". 1027 (gdb_register_name_table): New variable. 1028 (gdb_register_name_table_size): New enum constant. 1029 (gdb_register_name): New function. 1030 (sim_fetch_register, sim_store_register): Use gdb_register_name, 1031 instead of calling gdbarch_register_name. 1032 * Makefile.in (GDB_SIM_PPC_H): New variable. 1033 (DEFS_H): Delete variable. 1034 (sim_calls.o): Update dependencies. 1035 10362004-07-26 Andrew Cagney <cagney@gnu.org> 1037 1038 Problem from Olaf Hering <olh@suse.de>. 1039 * Makefile.in (install, installdirs): Add DESTDIR. 1040 10412004-07-10 Ben Elliston <bje@au.ibm.com> 1042 1043 * tree.c (parse_integer_property): Comment typo fix. 1044 10452004-07-06 Jim Blandy <jimb@redhat.com> 1046 1047 * Makefile.in: Update all dependency information. 1048 (BASICS_H, CPU_H, IDECODE_H, PSIM_H, REGISTERS_H, DEVICE_TABLE_H) 1049 (EMUL_GENERIC_H): Values updated. 1050 (ACCONFIG_H, ALTIVEC_EXPRESSION_H, ALTIVEC_REGISTERS_H) 1051 (ANSIDECL_H, BFD_H, BITS_H, CAP_H, COMMON_SIM_BASE_H) 1052 (COMMON_SIM_BASICS_H, COMMON_SIM_FPU_H, COMMON_SIM_INLINE_H) 1053 (COMMON_SIM_SIGNAL_H, CONFIG_H, COREFILE_H, COREFILE_N_H, DEBUG_H) 1054 (DEFINES_H, DEFS_H, DEVICE_H, E500_EXPRESSION_H, E500_REGISTERS_H) 1055 (EMUL_BUGAPI_H, EMUL_CHIRP_H, EMUL_NETBSD_H, EMUL_UNIX_H, EVENTS_H) 1056 (FILTER_FILENAME_H, FILTER_H, GDB_CALLBACK_H, GDB_REMOTE_SIM_H) 1057 (GEN_ICACHE_H, GEN_IDECODE_H, GEN_ITABLE_H, GEN_MODEL_H) 1058 (GEN_SEMANTICS_H, GEN_SUPPORT_H, HW_CPU_H, HW_H, HW_PHB_H) 1059 (ICACHE_H, IDECODE_BRANCH_H, IDECODE_EXPRESSION_H) 1060 (IDECODE_FIELDS_H, IGEN_H, INLINE_H, INTERRUPTS_H, ITABLE_H) 1061 (LD_CACHE_H, LD_DECODE_H, LD_INSN_H, LF_H, MISC_H, MODEL_H, MON_H) 1062 (OPTIONS_H, OS_EMUL_H, PK_H, PPC_CONFIG_H, SEMANTICS_H) 1063 (SIM_CALLBACKS_H, SIM_ENDIAN_H, SIM_ENDIAN_N_H, SIM_MAIN_H) 1064 (SPREG_H, STD_CONFIG_H, SUPPORT_H, TABLE_H, TARG_VALS_H, TCONFIG_H) 1065 (TREE_H, VM_H, VM_N_H, WORDS_H): New variables. 1066 (callback.o, cap.o, corefile.o, debug.o, device.o, device_table.o) 1067 (dgen.o, emul_bugapi.o, emul_chirp.o, emul_netbsd.o, emul_unix.o) 1068 (events.o, filter.o, filter_filename.o, filter_host.o) 1069 (gen-icache.o, gen-idecode.o, gen-itable.o, gen-model.o) 1070 (gen-semantics.o, gen-support.o, hw_core.o, hw_cpu.o, hw_disk.o) 1071 (hw_htab.o, hw_init.o, hw_phb.o, hw_register.o, icache.o) 1072 (idecode.o, igen.o, interrupts.o, itable.o, ld-cache.o) 1073 (ld-decode.o, ld-insn.o, lf.o, main.o, misc.o, model.o, mon.o) 1074 (options.o, os_emul.o, pk_disklabel.o, psim.o, registers.o) 1075 (semantics.o, sim-endian.o, sim-fpu.o, sim_calls.o, spreg.o) 1076 (support.o, table.o, targ-map.o, tree.o, vm.o): Update dependencies. 1077 10782004-06-28 Jim Blandy <jimb@redhat.com> 1079 1080 * e500_registers.h (EVR): Cast the 32-bit value of the GPR to an 1081 unsigned type before or-ing it with a 64-bit value. 1082 10832004-06-15 Alan Modra <amodra@bigpond.net.au> 1084 1085 * hw_htab.c (htab_sum_binary(bfd): Use bfd_get_section_size 1086 instead of bfd_get_section_size_before_reloc. 1087 (htab_dma_binary(bfd): Likewise. 1088 * hw_init.c (update_for_binary_section(bfd): Likewise. 1089 10902004-05-10 Daniel Jacobowitz <dan@debian.org> 1091 1092 * configure.in (sim_fpu_cflags): Add -I../common. 1093 * configure: Regenerated. 1094 10952004-01-27 Andrew Cagney <cagney@redhat.com> 1096 1097 * ppc-instructions: Update copyright. 1098 (convert_to_integer): Add trailing ";" to label. 1099 11002003-10-16 Michael Snyder <msnyder@redhat.com> 1101 1102 * emul_netbsd.c: Only a comment may follow an #endif. 1103 11042003-10-15 Michael Snyder <msnyder@redhat.com> 1105 1106 * Makefile.in (sim_calls.o): No longer depends on gdb/tm.h. 1107 11082003-06-22 Andrew Cagney <cagney@redhat.com> 1109 1110 Written by matthew green <mrg@redhat.com>, with fixes from Aldy 1111 Hernandez <aldyh@redhat.com>, Jim Wilson <wilson@redhat.com>, and 1112 Nick Clifton <nickc@redhat.com>. 1113 1114 * ppc-instructions: Include altivec.igen and e500.igen. 1115 (model_busy, model_data): Add vr_busy and vscr_busy. 1116 (model_trace_release): Trace vr_busy and vscr_busy. 1117 (model_new_cycle): Update vr_busy and vscr_busy. 1118 (model_make_busy): Update vr_busy and vscr_busy. 1119 * registers.c (register_description): Add Altivec and e500 1120 registers. 1121 * psim.c (psim_read_register, psim_read_register): Handle Altivec 1122 and e500 registers. 1123 * ppc-spr-table (SPEFSCR): Add VRSAVE and SPEFSCR registers. 1124 * configure.in (sim_filter): When *altivec* add "av". When *spe* 1125 or *simd* add e500. 1126 (sim_float): When *altivec* define WITH_ALTIVEC. When *spe* add 1127 WITH_E500. 1128 * configure: Re-generate. 1129 * e500.igen, altivec.igen: New files. 1130 * e500_expression.h, altivec_expression.h: New files. 1131 * idecode_expression.h: Update copyright. Include 1132 "e500_expression.h" and "altivec_expression.h". 1133 * e500_registers.h, altivec_registers.h: New files. 1134 * registers.h: Update copyright. Include "e500_registers.h" and 1135 "altivec_registers.h". 1136 (registers): Add Altivec and e500 specific registers. 1137 * Makefile.in (IDECODE_H): Add "idecode_e500.h" and 1138 "idecode_altivec.h". 1139 (REGISTERS_H): Add "e500_registers.h" and "altivec_registers.h". 1140 (tmp-igen): Add dependencies on altivec.igen and e500.igen . 1141 11422003-06-22 Andrew Cagney <cagney@redhat.com> 1143 1144 Problems reported by Joshua LeVasseur. 1145 * emul_chirp.c: Update copyright. 1146 (chirp_emul_nextprop): Return the first property. 1147 * hw_htab.c: Update copyright. 1148 (htab_decode_hash_table): Fix check for htab size. 1149 11502003-06-21 Andrew Cagney <cagney@redhat.com> 1151 1152 * interrupts.c: Update copyright. 1153 (external_interrupt): Fix test for already pending interrupt. 1154 Problem found by Joshua LeVasseur. 1155 1156 * ppc-instructions: Add missing +8 line. Found by blofeldus at 1157 yahoo.com. 1158 11592003-06-21 Andrew Cagney <cagney@redhat.com> 1160 1161 From Ian Lance Taylor <ian@airs.com>: * hw_nvram.c 1162 (hw_nvram_init_address): Correct call to memset--swap second and 1163 third arguments. 1164 11652003-06-21 Andrew Cagney <cagney@redhat.com> 1166 1167 * hw_com.c (hw_com_device_init_data): Check that the output, and 1168 not input file opened. Pointed out by masahino tky3.3web.ne.jp. 1169 11702003-06-20 Andrew Cagney <cagney@redhat.com> 1171 1172 * sim_calls.c (sim_create_inferior): Assert that 1173 psim_write_register succeeded. 1174 (sim_fetch_register, sim_store_register): Make "regname" constant. 1175 Delete Altivec hack. Return result from psim_read_register / 1176 psim_write_register. 1177 * psim.h (psim_read_register, psim_write_register): Change return 1178 type to int. Update comments. 1179 * psim.c: Update copyright. 1180 (psim_stack): Assert that the psim_read_register worked. 1181 (psim_read_register, psim_read_register): Return the register's 1182 size. Allocate the cooked buffer dynamically. 1183 * hw_register.c: Update copyright. 1184 (do_register_init): Check that psim_write_register succeeded. 1185 * hw_init.c: Update copyright. 1186 (create_ppc_elf_stack_frame, create_ppc_aix_stack_frame): Assert 1187 that the register transfer worked. 1188 11892003-06-19 Andrew Cagney <cagney@redhat.com> 1190 1191 * ld-insn.h: Update copyright. 1192 (cache_fields): Define. 1193 (insn_table_fields): Add insn_field_6 and insn_field_7. 1194 (load_insn_table): Pass in the "cache_rules". 1195 * ld-insn.c: Update copyright. 1196 (load_insn_table): Add parameter "cache_rules". Handle "cache", 1197 "computed" and "scratch" fields. 1198 (main): Pass "cache_rules" to load_insn_table. 1199 * ld-cache.h: Update copyright. 1200 (append_cache_table): Declare. 1201 * ld-cache.c: Update copyright. 1202 (append_cache_table): New function. 1203 (load_cache_table): Call. 1204 * gen-model.c: Include "ld-cache.h". 1205 * gen-itable.c: Include "ld-cache.h". 1206 * igen.c: Move #include "ld-cache.h" to earlier. Update 1207 copyright. 1208 (main): Permit a NULL "cache_rules". Pass address of 1209 "cache_rules" to load_insn_table. 1210 * Makefile.in (tmp-ld-insn): Add "ld-cache.o". 1211 (tmp-igen): Do not include ppc-cache-rules. 1212 (gen-itable.o, gen-model.o): Add "ld-cache.h". 1213 * ppc-cache-rules: Delete file. 1214 * ppc-instructions: Add cache rules. 1215 12162003-06-19 Andrew Cagney <cagney@redhat.com> 1217 1218 * Makefile.in (ICACHE_CFLAGS, SEMANTICS_CFLAGS): Delete. 1219 (SIM_FPU_FLAGS): Define. 1220 (icache.o): Delete explicit compile command. 1221 (semantics.o, idecode.o): Delete explicit compile command. 1222 (NOWARN_CFLAGS, STD_CFLAGS): Append SIM_FPU_CFLAGS. 1223 * gen-support.c (gen_support_c): Generate #include of 1224 "sim-inline.h" and "sim-fpu.h", but conditional on 1225 HAVE_COMMON_FPU. 1226 * gen-idecode.c (gen_idecode_c): Ditto. 1227 * igen.c (gen_icache_c, gen_semantics_c): Wrap #include of 1228 "sim-inline.h" and "sim-fpu.h" in HAVE_COMMON_FPU conditional. 1229 Move to before "support.h". 1230 * Makefile.in, gen-support.c, gen-idecode.c, igen.c: Update 1231 copyright. 1232 12332003-05-16 Ian Lance Taylor <ian@airs.com> 1234 1235 * Makefile.in (various): Use $(SHELL) whenever we invoke 1236 move-if-change. 1237 12382003-02-27 Andrew Cagney <cagney@redhat.com> 1239 1240 * sim_calls.c (sim_open, sim_create_inferior): Rename _bfd to bfd. 1241 12422002-09-27 Andrew Cagney <ac131313@redhat.com> 1243 1244 * hw_disk.c (hw_disk_init_address): Set device type to "block", 1245 not "disk". 1246 12472002-06-22 Andrew Cagney <ac131313@redhat.com> 1248 1249 * Makefile.in (INTL_SRC): Define. 1250 (INTL_CFLAGS): Define. 1251 (INTL_DIR): Define. 1252 (STD_CFLAGS): Add INTL_CFLAGS. 1253 12542002-06-17 Elena Zannoni <ezannoni@redhat.com> 1255 1256 * psim.c (psim_options): Don't choke when gdb invokes us with 1257 the --architecture option, just ignore it. 1258 12592002-06-16 Andrew Cagney <ac131313@redhat.com> 1260 1261 * configure: Regenerated to track ../common/aclocal.m4 changes. 1262 12632002-06-08 Andrew Cagney <cagney@redhat.com> 1264 1265 * main.c: Include "gdb/callback.h" and "gdb/remote-sim.h". 1266 * sim_calls.c: Ditto. 1267 12682002-05-30 DJ Delorie <dj@redhat.com> 1269 1270 * lf.c (lf_print__gnu_copyleft): Convert multiline strings to 1271 compatible format. 1272 * gen-idecode.c (print_run_until_stop_body): Likewise. 1273 * gen-model.c (gen_model_c): Likewise. 1274 12752002-04-15 Elena Zannoni <ezannoni@redhat.com> 1276 1277 * sim_calls.c (sim_fetch_register, sim_store_register): Return -1 for 1278 AltiVec registers as a temporary stopgap. 1279 12802002-03-24 David O'Brien <obrien@FreeBSD.org> 1281 1282 * ppc/hw_disk.c: Export a disk device property. 1283 12842002-03-23 Andrew Cagney <ac131313@redhat.com> 1285 1286 From 2001-12-09 Julien Ducourthial <jducourt@noos.fr>: 1287 * ppc-instructions (lswx): Do the register control with the 1288 register count. Initialize the right register in the loop. 1289 (mtfsfi) : Correct prefix for the instruction. 1290 12912002-02-24 Andrew Cagney <ac131313@redhat.com> 1292 1293 From wiz at danbala: 1294 * std-config.h: Fix grammar and typos. Update copyright. 1295 Fix PR gdb/287. 1296 12972002-01-12 matthew green <mrg@redhat.com> 1298 1299 * Makefile.in (tmp-igen): Pass -I $(srcdir) to igen. 1300 * igen.c (main): Change -I to add include paths for :include: 1301 files. 1302 Implement -G as per sim/igen, with just gen-icache=N support. 1303 Call load_insn_table() with the built include path. 1304 1305 * ld-insn.c (parse_include_entry): New. Load an :include: file. 1306 (load_insn_table): New `includes' argument. Look for :include: 1307 entries and call parse_include_entry() for them. 1308 (main): Adjust load_insn_table() call. 1309 * ld-insn.h (model_include_fields): New enum. 1310 (load_insn_table): Update prototype. 1311 * table.c (struct _open_table, struct _table): Rework 1312 structures to handle included files. 1313 (table_push): Move the guts of table_open() here. 1314 1315 * table.c (struct _open table, struct table): Make table object an 1316 indirect ptr to the current table file. 1317 (current_line, new_table_entry, next_line): Make file arg type 1318 open_table. 1319 (table_open): Use table_push. 1320 (table_entry_read): Point variable file at current table, at eof, pop 1321 last open table. 1322 1323 * misc.h (NZALLOC): New macro. From sim/igen. 1324 1325 * table.h, table.c (table_push): New function. 1326 13272002-01-04 matthew green <mrg@redhat.com> 1328 1329 * bits.c (LSMASKED64): New inline function. 1330 (LSEXTRACTED64): Likewise. 1331 * bits.h (_LSB_POS, _LSMASKn, LSMASK64): New macros from 1332 sim/common/sim-bits.h 1333 (LSMASKED64, LSEXTRACTED64): New functions definitions. 1334 * Makefile.in (sim-bits.o): Remove target. 1335 1336 * main.c (zalloc): Fix typo in error message. 1337 13382001-12-16 Andrew Cagney <ac131313@redhat.com> 1339 1340 * configure.in (sim_fpu): Don't add sim-bits.o. 1341 * configure: Re-generate. 1342 13432001-12-15 matthew green <mrg@redhat.com> 1344 1345 * main.c: Include "defs.h", "bfd.h", "callback.h" and "remote-sim.h". 1346 (sim_io_error): New function. 1347 * sim_calls.c: (sim_io_error): New function. 1348 13492001-12-14 matthew green <mrg@redhat.com> 1350 1351 * Makefile.in (LIB_OBJ): Add @sim_fpu@. 1352 (ICACHE_CFLAGS, SEMANTICS_CFLAGS): New variables. 1353 (icache.o, semantics.o): Add new ICACHE_FLAGS & SEMANTICS_FLAGS. 1354 (sim-fpu.o, sim-bits.o, tconfig.h): New targets. 1355 * configure.in: Rename INLINE_LOCALS to PSIM_INLINE_LOCALS. Add a 1356 check for sim/common/sim-fpu.c. Output sim_fpu and sim_fpu_cflags. 1357 * configure: Regenerate. 1358 * device.h (device_find_integer_array_property): Match function definition. 1359 * gen-icache.c (print_icache_internal_function_declaration): Rename 1360 INLINE_ICACHE to PSIM_INLINE_ICACHE. 1361 * gen-idecode.c (print_idecode_run_function_header): Rename INLINE_IDECODE 1362 to PSIM_INLINE_IDECODE. 1363 * gen-semantics.c (print_semantic_function_header): Rename 1364 EXTERN_SEMANTICS to PSIM_EXTERN_SEMANTICS. 1365 * gen-support.c (print_support_function_name): Rename INLINE_SUPPORT to 1366 PSIM_INLINE_SUPPORT. 1367 * igen.c (print_function_name): Also escape `(' and `)'. 1368 (gen_semantics_h): Rename EXTERN_SEMANTICS to PSIM_EXTERN_SEMANTICS. 1369 (gen_semantics_c): Likewise. Also output includes for "sim-fpu.h" 1370 * inline.h (INLINE_SIM_ENDIAN): Renamed INLINE_PSIM_ENDIAN. 1371 (EXTERN_SIM_ENDIAN): Renamed EXTERN_PSIM_ENDIAN. 1372 (STATIC_INLINE_SIM_ENDIAN): Renamed STATIC_INLINE_PSIM_ENDIAN. 1373 (INLINE_LOCALS): Renamed PSIM_INLINE_LOCALS. 1374 (EXTERN_SUPPORT): Renamed PSIM_EXTERN_SUPPORT. 1375 (INLINE_SUPPORT): Renamed PSIM_INLINE_SUPPORT. 1376 (EXTERN_SEMANTICS): Renamed PSIM_EXTERN_SEMANTICS. 1377 (INLINE_SEMANTICS): Renamed PSIM_INLINE_SEMANTICS. 1378 (EXTERN_IDECODE): Renamed PSIM_EXTERN_IDECODE. 1379 (INLINE_IDECODE): Renamed PSIM_INLINE_IDECODE. 1380 (EXTERN_ICACHE): Renamed PSIM_EXTERN_ICACHE. 1381 (INLINE_ICACHE): Renamed PSIM_INLINE_ICACHE. 1382 * options.c (options_inline): Fix names. 1383 * sim-endian-n.h: Change INLINE_SIM_ENDIAN to INLINE_PSIM_ENDIAN. 1384 * sim-endian.h: Likewise. 1385 * sim-main.h: New file. 1386 * std-config.h: Rename INLINE_LOCALS to PSIM_INLINE_LOCALS. 1387 13882001-12-01 Andrew Cagney <ac131313@redhat.com> 1389 1390 From Mark Peek. 1391 * ppc-spr-table: Add SDA and PIR. 1392 13932001-10-29 Andrew Cagney <ac131313@redhat.com> 1394 1395 * tree.c (parse_size): Assert #size-cells > 0. 1396 (parse_address): Ditto for #address-cells. 1397 (parse_reg_property): Only parse the size when #size-cells is 1398 non-zero. 1399 14002001-10-25 Andrew Cagney <ac131313@redhat.com> 1401 1402 * emul_generic.c (OEA_MEMORY_SIZE): Increase to 4mb. 1403 * hw_htab.c (htab_map_binary): Don't try to map the text section 1404 when it is empty. 1405 * emul_chirp.c (map_over_chirp_note): Default load-base to -1 not 1406 CHIRP_LOAD_BASE. 1407 (emul_chirp_create): Map in the interrupt table. 1408 14092001-07-16 Daniel Jacobowitz <drow@mvista.com> 1410 1411 * Makefile.in: Add dependencies on $(CPU_H). 1412 1413Wed Mar 7 10:45:12 HST 2001 Glen Nakamura <gen@lava.net> 1414 1415 * hw_init.c (dma_file): Fixed problem with loading last 1KB of 1416 file. 1417 14182001-03-04 Andrew Cagney <ac131313@redhat.com> 1419 1420 * emul_netbsd.c [WITH_NetBSD_HOST]: Include <sys/mount.h> and 1421 <errno.h>. 1422 (do_stat): Only do SYS test when SYS_stat defined. 1423 (do_sigprocmask): Ditto for SYS_sigprocmask. 1424 (do_fstat): Ditto for SYS_fstat. 1425 (do_getdirentries): Ditto for SYS_getdirentries. 1426 (do_lstat): Ditto for SYS_lstat. 1427 14282001-01-15 Geoffrey Keating <geoffk@redhat.com> 1429 1430 * emul_netbsd.c (do_open): Translate the flag parameter to the 1431 open syscall to the numbers supported by the host. 1432 14332000-12-12 Geoffrey Keating <geoffk@redhat.com> 1434 1435 * sim-endian.h: Don't have parameters on macro definitions which 1436 are simply renaming functions, to permit use of XCONCAT2 in both 1437 the macro name and the arguments in a use of such a definition. 1438 14392000-11-15 Jim Blandy <jimb@redhat.com> 1440 1441 * sim_calls.c: Doc fix. 1442 (sim_fetch_register, sim_store_register): Call 1443 gdbarch_register_name directly, instead of going through 1444 REGISTER_NAME macro. 1445 14462000-10-24 Geoff Keating <geoffk@cygnus.com> 1447 1448 * ppc-instructions (lfsux): Correct XO field of lfsux instruction. 1449 1450Tue May 23 21:39:23 2000 Andrew Cagney <cagney@b1.cygnus.com> 1451 1452 * configure: Regenerated to track ../common/aclocal.m4 changes. 1453 1454Fri Apr 28 15:59:27 2000 Andrew Cagney <cagney@b1.cygnus.com> 1455 1456 * events.c (event_queue_process): Call update_time_from_event 1457 every time an event is removed from the queue. 1458 (update_time_from_event): Delete assertion that a negative 1459 time_from_event implies an empty event queue. 1460 1461Fri Apr 28 15:53:54 2000 Andrew Cagney <cagney@b1.cygnus.com> 1462 1463 * interrupts.c (deliver_hardware_interrupt): Print time trace in 1464 decimal. 1465 * events.c (event_queue_process): Cleanup trace message. 1466 (update_time_from_event): Trace full event queue. 1467 14682000-03-25 Geoff Keating <geoffk@cygnus.com> 1469 1470 * ppc-instructions (Disabled_Exponent_Underflow): Increment 1471 the exponent when denormalizing. 1472 1473Thu Sep 2 18:15:53 1999 Andrew Cagney <cagney@b1.cygnus.com> 1474 1475 * configure: Regenerated to track ../common/aclocal.m4 changes. 1476 14771999-05-08 Felix Lee <flee@cygnus.com> 1478 1479 * configure.in: Use AC_EXEEXT instead of AM_EXEEXT. 1480 * configure: Regenerated to track ../common/aclocal.m4 changes. 1481 14821999-04-02 Keith Seitz <keiths@cygnus.com> 1483 1484 * sim_calls.c (POLL_QUIT_INTERVAL): Define. Used to tweak 1485 the frequency at which the poll_quit callback is called. 1486 (poll_quit_count): New global. 1487 (sim_io_poll_quit): Only call the poll_quit callback 1488 after the specified POLL_QUIT_INTERVAL. 1489 14901999-02-22 Jim Lemke <jlemke@cygnus.com> 1491 1492 * dc-complex: Force expansion on all bits of field BO. 1493 Previously, the least-significant (prediction) bit was ignored. 1494 * ppc-instructions (conditional branches): Implement mpc860c0 option. 1495 * igen.c (gen_semantics_[ch]): Setup for mpc860c0 option. 1496 * psim.c (is_num, psim_options): Added parsing for mpc860c0 option. 1497 * interrupts.h: Added "mpc860c0_instruction_program_interrupt". 1498 * interrupts.c (program_interrupt): Added handling for above interrupt. 1499 15001999-02-01 Jim Blandy <jimb@zwingli.cygnus.com> 1501 1502 Make the simulator compatible with the MPC750. It would be nicer 1503 to make this a real multi-sim, but that's more work than we have 1504 time for. 1505 * emul_generic.c (emul_add_tree_options): Only require strict 1506 alignment if it was explicitly requested at configuration time. 1507 Don't make it the default for little-endian machines. 1508 * ppc-spr-table (UMMCR0, UMMCR1, UPMC1, UPMC2, USIA, UPMC3, UPMC4, 1509 MMCR0, PMC1, PMC2, SIA, MMCR1, PMC3, PMC4, L2CR, ICTC, THRM1, 1510 THRM2, THRM3): Plop in the MPC750 SPR registers. 1511 (DABR): This is weird. This was HID5, but the PPC spec says this 1512 should be DABR; why did some random processor use it for something 1513 else? The HID5 entry dates back to the original checkin of the 1514 simulator code in 1995, so remove it. 1515 * sim_calls.c (register_names): Delete this; since the user can 1516 now change GDB's list of register names dynamically, we can't 1517 pretend there's a static mapping here. 1518 (sim_fetch_register, sim_store_register): Call GDB's REGISTER_NAME 1519 function to get the register name. That ought to be accurate. 1520 However, we're changing a compile-time dependency (using the 1521 REGISTER_NAMES macro) into a link- and run-time dependency 1522 (calling REGISTER_NAME, which happens to be a function call on the 1523 PPC). 1524 15251999-01-22 Jim Lemke <jlemke@cygnus.com> 1526 1527 * igen.c(gen_semantics_[ch]): setup/use of new option 1528 (-o mpc860c0[=n]). 1529 interrupts.[ch](mpc860c0_instruction_program_interrupt): added. 1530 ppc-instructions(the four branch insn groups): detect problematic br's. 1531 psim.c(is_num - added, psim_options): Parse and init new option. 1532 These changes are currently under #ifdef WITH_OPTION_MPC860C0. 1533 15341998-12-01 Ken Raeburn <raeburn@cygnus.com> 1535 1536 * hw_nvram.c (hw_nvram_bcd): Force value to fit in 0..99. 1537 1538Fri Nov 20 12:17:28 1998 Andrew Cagney <cagney@b1.cygnus.com> 1539 1540 * main.c (sim_io_poll_quit): Stub function. 1541 1542 * events.c (SIM_EVENTS_POLL_RATE): Define. 1543 (sim_events_poll): Copy function from common/sim-events.c. 1544 (event_queue_init): Copy scheduling of sim_events_poll from same. 1545 1546 * sim_callbacks.h, sim_calls.c (sim_io_poll_quit): New function, 1547 poll the external environment. 1548 15491998-11-19 Michael Meissner <meissner@cygnus.com> 1550 1551 * ppc-instructions (is_{NaN,inf}): Use unsigned64 to get the 1552 fractional type, so that quiet NaN's aren't treated like 1553 Infinities. 1554 1555Mon Sep 28 09:42:45 1998 Drew Moseley <dmoseley@cygnus.com> 1556 1557 * table.c (table_open): For cygwin hosts, we need to use the 1558 return value from the read routine as the number of bytes to 1559 process. This apparently is due to text-mode vs binary-mode. If 1560 the mounts are done text-mode, then the size returnedby fstat() 1561 may be different than the number of bytes "read" in text mode. 1562 1563Sun Oct 4 00:50:47 1998 Felix Lee <flee@cygnus.com> 1564 1565 * emul_netbsd.c (do_open): fix order-of-evaluation problem. 1566 (do_close): ditto. 1567 (do_fstat): ditto. 1568 (do_lstat): ditto. 1569 15701998-09-03 Michael Meissner <meissner@cygnus.com> 1571 1572 * emul_{netbsd,unix}.c: Update copyright year. 1573 1574Mon Jun 29 10:57:36 1998 Michael Snyder <msnyder@cleaver.cygnus.com> 1575 1576 * sim_calls.c (sim_fetch_register, sim_store_register): 1577 return zero when nothing to do. 1578 15791998-06-26 Michael Meissner <meissner@cygnus.com> 1580 1581 * configure.in (AC_CHECK_HEADERS): Don't check for sys/mount.h. 1582 * configure: Regenerate. 1583 * emul_{netbsd,unix}.c (toplevel): No longer try to include 1584 sys/mount.h. It conflicts on Linux when gnu libc2 is used. 1585 1586Tue May 12 12:10:33 PDT 1998 James Ingham <jingham@leda.cygnus.com> 1587 1588 * Makefile.in: The run target depended on a target psim$(EXEEXT), 1589 but there was no such target, only plain psim. So I changed the 1590 run target to depend on psim. 1591 1592Sat May 2 01:10:12 1998 Stu Grossman <grossman@babylon-5.cygnus.com> 1593 1594 * aclocal.m4: Remove defs of AM_EXEEXT and AM_CYGWIN32. These are 1595 now defined in ../common/aclocal.m4, and the double definition causes 1596 problems with AC_SUBST of EXEEXT. 1597 * configure: Regenerate. 1598 1599Wed Apr 29 15:44:52 1998 Geoffrey Noer <noer@cygnus.com> 1600 1601 * aclocal.m4: new file for AM_EXEEXT macro 1602 * configure.in: call AM_EXEEXT 1603 * configure: regenerate with autoconf 2.12.1. 1604 * Makefile.in: add EXEEXT support 1605 1606Sun Apr 26 15:31:55 1998 Tom Tromey <tromey@creche> 1607 1608 * configure: Regenerated to track ../common/aclocal.m4 changes. 1609 * config.in: Ditto. 1610 1611Sun Apr 26 15:19:51 1998 Tom Tromey <tromey@cygnus.com> 1612 1613 * acconfig.h: New file. 1614 * configure.in: Reverted change of Apr 24; use sinclude again. 1615 Don't call AC_C_CROSS. 1616 1617Fri Apr 24 14:16:40 1998 Tom Tromey <tromey@creche> 1618 1619 * configure: Regenerated to track ../common/aclocal.m4 changes. 1620 * config.in: Ditto. 1621 1622Fri Apr 24 11:18:46 1998 Tom Tromey <tromey@cygnus.com> 1623 1624 * Makefile.in (top_builddir): New macro. 1625 (INTLLIBS): New macro. 1626 (INTLDEPS): Likewise. 1627 (psim): Depend on INTLDEPS; link against INTLLIBS. 1628 * configure.in: Call CY_GNU_GETTEXT. 1629 1630Wed Apr 22 14:28:48 1998 Michael Meissner <meissner@cygnus.com> 1631 1632 * configure: Regenerate with autoconf 2.12.1. 1633 1634Fri Mar 13 09:25:58 1998 Andrew Cagney <cagney@b1.cygnus.com> 1635 1636 * psim.c (psim_read_register, psim_write_register): Handle updates 1637 for FPSCR. 1638 1639 * registers.c (register_description): Reconize "FPSCR". 1640 1641 * emul_netbsd.c (emul_netbsd_create): When FP available, enable 1642 MSR FP exception mode. Do not enable FPSCR bits. 1643 * emul_unix.c (emul_unix_create): Ditto. 1644 1645Tue Feb 17 12:48:58 1998 Andrew Cagney <cagney@b1.cygnus.com> 1646 1647 * sim_calls.c (sim_store_register, sim_fetch_register): Pass in 1648 length parameter. Return -1. 1649 1650Mon Feb 9 14:13:14 1998 Andrew Cagney <cagney@b1.cygnus.com> 1651 1652 * ppc-instructions (fdiv, fdivs): Check for divide by zero. 1653 (is_invalid_zero_divide, invalid_zero_divide_operation): New 1654 functions. 1655 1656Wed Dec 10 17:38:28 1997 Andrew Cagney <cagney@b1.cygnus.com> 1657 1658 * sim_calls.c (sim_load): Do not parse PROG using buildargv, use 1659 raw value instead. 1660 16611997-11-05 Felix Lee <flee@cygnus.com> 1662 1663 * emul_chirp.c: #ifdef HAVE_UNISTD_H 1664 1665Wed Oct 15 08:50:54 1997 Andrew Cagney <cagney@b1.cygnus.com> 1666 1667 * corefile.c (core_attach): Pad out allocated memory regions so 1668 that they are always correctly aligned. 1669 (struct _core_mapping, core_map_attach, core_init, 1670 new_core_mapping): Change free_buffer to type void*. 1671 1672Mon Oct 6 18:09:26 1997 Michael Meissner <meissner@cygnus.com> 1673 1674 * sim_calls.c (zfree): Call free correctly. 1675 1676Mon Sep 29 10:05:01 1997 Andrew Cagney <cagney@b1.cygnus.com> 1677 1678 * sim_calls.c (zfree): Use free, not mfree. 1679 (sim_io_flush_stdoutput): Replace gdb_flush with callback -> 1680 flush_stdout. 1681 1682Fri Sep 26 09:50:29 1997 Andrew Cagney <cagney@b1.cygnus.com> 1683 1684 * ppc-instructions (sraw, slw, srw): From Charles Lefurgy, Fix 1685 mask extracting shift amount. Correctly condition for setting XER 1686 in sraw. 1687 (ldhau): From Johannes Reisinger, update rA after load. 1688 1689Tue Sep 9 22:13:23 1997 Felix Lee <flee@cygnus.com> 1690 1691 * basics.h (CONCAT*): token-pasting macros, if ALMOST_STDC, 1692 for MSVC. 1693 * words.h: __int64 instead of long long for MSVC. 1694 1695Wed Aug 27 10:24:15 1997 Andrew Cagney <cagney@b1.cygnus.com> 1696 1697 * sim_calls.c (sim_create_inferior): Check the simulator was 1698 initialized before creating inferior. 1699 1700 * idecode_expression.h (ALU_END): From Charles Lefurgy - Extract 1701 sign bit using 64 bit and not a 32 bit mask. 1702 1703Wed Aug 27 10:15:48 1997 Andrew Cagney <cagney@b1.cygnus.com> 1704 1705 * sim_calls.c (sim_load): From Ian Lance Taylor - free argv after 1706 it has been used, not before. 1707 1708Tue Aug 26 10:41:35 1997 Andrew Cagney <cagney@b1.cygnus.com> 1709 1710 * sim_calls.c (sim_kill): Delete. 1711 (sim_create_inferior): Add ABFD argument. 1712 (entry_point): Delete variable. 1713 (sim_load): Move setting of PC from here. 1714 (sim_create_inferior): To here. 1715 1716Mon Aug 25 16:17:06 1997 Andrew Cagney <cagney@b1.cygnus.com> 1717 1718 * sim_calls.c (sim_open): Add ABFD argument. 1719 1720Thu Jul 3 10:18:06 1997 Andrew Cagney <cagney@b1.cygnus.com> 1721 1722 * ppc-instructions (PPC_INSN_INT): From Michael Thies - Monitoring 1723 CR register updates dependant on RC value had logic backwards. 1724 1725 * ppc-instructions (Load String Word Immediate): From Brad Parker 1726 - sense of wrap test in check for overwriting RA wrong. 1727 (Load String Word Indexed): Ditto. 1728 1729 * configure.in: From Erik Landry - set sim_default_model not 1730 sim_model for sim-default-model option. 1731 * configure: Regenerate. 1732 1733 * interrupts.c (check_masked_interrupts): Schedule a hardware 1734 interrupt delivery when FP interrupts get enabled. 1735 (program_interrupt): Generate FP exceptions instead of aborting. 1736 (deliver_hardware_interrupt): Deliver a FP exception if so 1737 enabled. 1738 1739 * registers.h: Add definition of fpscr_vx_bits. 1740 1741 * idecode_expression.h (FPSCR_END): Always update FEX and VX bits 1742 in FPSCR. 1743 (FPSCR_END): Explicitly check for possible floating point 1744 exception conditions. 1745 (FPSCR_BEGIN): Simplify. 1746 1747 * ppc-instructions (Move From FPSCR): Enable. 1748 (Move To FPSCR Bit 1): Ditto. 1749 (Move To FPSCR Bit 0): Ditto. 1750 (Move To FPSCR Field Immediate): Ditto. 1751 (Move to Condition Register from FPSCR): Simplify. 1752 (invalid_arithemetic_operation): Generate a QNaN when invalid 1753 operation exception disabled. 1754 1755Tue May 20 10:22:50 1997 Andrew Cagney <cagney@b1.cygnus.com> 1756 1757 * sim_calls.c (sim_open): Add callback argument. 1758 (sim_set_callbacks): Delete. 1759 1760Tue Apr 22 22:36:57 1997 Mike Meissner <meissner@cygnus.com> 1761 1762 * sim_callbacks.h (error): Make declaration match gdb's. 1763 * main.c (error): Ditto. 1764 1765Fri Apr 18 17:03:09 1997 Andrew Cagney <cagney@b1.cygnus.com> 1766 1767 * sim_calls.c (sim_stop_reason): Simplify. Was running implies 1768 stopped/SIGINT. Exit implies a status code. 1769 1770 * psim.c (cntrl_c_simulation): From main.c. Event function that 1771 halts the simulator. 1772 (psim_stop): New. Asynchronously schedule a stop simulator event. 1773 (psim_run_until_stop): Delete. Made redundant by psim_stop. 1774 1775 * main.c (cntrl_c): Update. 1776 (cntrl_c_simulation): Moved to psim.c. 1777 1778 * sim_calls.c (sim_stop): New function. Use psim_stop which 1779 schedules a stop event. 1780 (sim_resume): Drop SIGINT handler, now in gdb/main.c. 1781 (sim_resume): Use psim_run as stop variable no longer needed. 1782 1783Fri Apr 18 17:03:08 1997 Andrew Cagney <cagney@b1.cygnus.com> 1784 1785 * psim.c (psim_options): Handle -E option correctly. 1786 (psim_usage): Document. 1787 1788Thu Apr 17 03:28:03 1997 Doug Evans <dje@canuck.cygnus.com> 1789 1790 * psim.c (psim_options): Ignore -E option (sets endianness). 1791 * sim_calls.c: #include bfd.h. 1792 (entry_point): New static local. 1793 (sim_load): Return SIM_RC. New arg abfd. Set start address from bfd. 1794 (sim_create_inferior): Return SIM_RC. Delete arg start_address. 1795 1796Tue Apr 15 14:57:18 1997 Ian Lance Taylor <ian@cygnus.com> 1797 1798 * Makefile.in (INSTALL): Set to @INSTALL@. 1799 (INSTALL_XFORM, INSTALL_XFORM1): Remove. 1800 (install): Depend upon installdirs. Use $(program_transform_name) 1801 directly, rather than using $(INSTALL_XFORM). 1802 (installdirs): New target. 1803 1804Fri Apr 4 17:54:36 1997 Jim Wilson <wilson@cygnus.com> 1805 1806 * Makefile.in (tmp-hw, tmp-pk): Use for loop to eliminate duplicates 1807 rather than the non-portable cat -n. 1808 1809Mon Apr 14 16:29:51 1997 Ian Lance Taylor <ian@cygnus.com> 1810 1811 * Makefile.in (INSTALL): Change install.sh to install-sh. 1812 1813Tue Apr 1 18:15:14 1997 Jim Wilson <wilson@cygnus.com> 1814 1815 * ppc-instructions: Change milhwu to mulhwu. 1816 1817Wed Apr 2 15:38:08 1997 Doug Evans <dje@canuck.cygnus.com> 1818 1819 * sim_calls.c (sim_open): New arg `kind'. 1820 1821Wed Apr 2 14:51:17 1997 Ian Lance Taylor <ian@cygnus.com> 1822 1823 * COPYING: Update FSF address. 1824 1825Tue Mar 25 16:17:59 1997 Andrew Cagney <cagney@kremvax.cygnus.com> 1826 1827 * main.c (sim_io_read_stdin): Only compile unbuffered IO code if 1828 all the required features are supported by the host OS. 1829 1830Tue Mar 25 12:13:02 1997 Andrew Cagney <cagney@kremvax.cygnus.com> 1831 1832 * emul_bugapi.c (emul_bugapi_create): Guard against NULL images. 1833 1834 * configure.in (enable-sim-endain): Correct typo in usage (from 1835 Erik Landry <landry@ENGR.ORST.EDU>). 1836 * configure: Re-generate. 1837 1838Fri Mar 14 18:23:02 1997 Andrew Cagney <cagney@kremvax.cygnus.com> 1839 1840 * Makefile.in (targ-vals.def): Re-do rule so that it works with 1841 FreeBSD's make. Didn't like $<. 1842 1843Thu Mar 13 12:55:48 1997 Doug Evans <dje@canuck.cygnus.com> 1844 1845 * sim_calls.c (sim_open): New SIM_DESC result. Argument is now 1846 in argv form. 1847 (other sim_*): New SIM_DESC argument. 1848 1849Thu Feb 13 10:35:14 1997 Andrew Cagney <cagney@phydeaux.cygnus.com> 1850 1851 * ppc-opcode-simple-array, ppc-opcode-simple-goto, 1852 ppc-opcode-simple-switch, ppc-opcode-complex-array, 1853 ppc-opcode-complex-goto, ppc-opcode-complex-switch, 1854 ppc-opcode-jump, ppc-opcode-goto, ppc-opcode-flat: Delete, 1855 superseeded by --sim-decode-mechanism option. 1856 1857 * ppc-opcode-simple, dc-simple: Rename to be 8.3 1858 * ppc-opcode-complex, dc-complex: Ditto. 1859 * ppc-opcode-stupid, dc-stupid: Ditto. 1860 * ppc-opcode-test-1, dc-test.01: Ditto. 1861 * ppc-opcode-test-2, dc-test.02: Ditto. 1862 1863 * configure.in (--enable-sim-opcode): Change prefix to dc- instead 1864 of ppc-opcode-. 1865 1866Wed Feb 12 19:33:45 1997 Andrew Cagney <cagney@phydeaux.cygnus.com> 1867 1868 * Many of the ppc-opcode-* files are identical baring the type of 1869 lookup table. Instead of having multiple tables, igen can do this 1870 via an additional option. 1871 1872 * ld-decode.h, ld-decode.c (force_decode_gen_type): New function, 1873 allow the type of generated table specified in the decode file to 1874 be overridden. 1875 1876 * ld-decode.c (load_decode_table): Allow the table type to be 1877 overridden. 1878 1879 * igen.c (main): Add -T <mechanism> option so that an overriding 1880 instruction decode mechanism can be specified. 1881 1882 * configure.in: New option --sim-decode-mechanism to control 1883 igen's new -T <mechanism> flag. 1884 * Makefile.in (IGEN_FLAGS): Add IGEN_IDECODE_MECHANISM set by the 1885 configure script. 1886 * configure: Regenerate. 1887 1888Tue Feb 11 13:49:10 1997 Michael Meissner <meissner@tiktok.cygnus.com> 1889 1890 * events.c (event_queue_create): Don't use NULL to initialize an 1891 integer field. 1892 (even_queue_{init,schedule_after_signal,tick}): Conditionalize use 1893 of sigprocmask to appropriate autoconf test. 1894 1895 * main.c ({cntrl_c,main}): Use RETSIGTYPE for signal return type, 1896 don't assume void. 1897 * sim_calls.c (sim_{ctrl_c,resume}): Ditto. 1898 1899 * Makefile.in (callback.o): Define HAVE_CONFIG_H, so callback.c 1900 includes our config.h. 1901 1902Tue Feb 4 13:42:59 1997 Doug Evans <dje@canuck.cygnus.com> 1903 1904 * configure.in: Fix typo in test for callback.c. 1905 * configure: Regenerated. 1906 1907Fri Feb 7 10:04:25 1997 Andrew Cagney <cagney@kremvax.tpgi.com.au> 1908 1909 * emul_chirp.c (emul_chirp_create): Handle a virtbase of -1 being 1910 found in the device tree. 1911 1912Wed Feb 5 10:56:27 1997 Andrew Cagney <cagney@kremvax.tpgi.com.au> 1913 1914 * Property create/initialization still wasn't correctly ordered. 1915 Should be delaying everything related to ihandle creation until 1916 after the rest of the tree has been established. 1917 1918 * device.c (device_find_ihandle_runtime_property): Update. 1919 (device_add_ihandle_runtime_property): Update. 1920 1921 * tree.c (parse_ihandle_property): Delay lookup of the device to 1922 be opened until the ihandle initialization phase. 1923 * tree.c (print_properties): Update. 1924 1925Wed Feb 5 10:56:27 1997 Andrew Cagney <cagney@kremvax.tpgi.com.au> 1926 1927 * gen-icache.c (print_icache_extraction): Add a reason parameter. 1928 Augment each extracted field with a comment citing the codes 1929 origin. Should simplify tracking down incorrect cache 1930 extractions. 1931 1932Tue Feb 4 17:44:51 1997 Andrew Cagney <cagney@kremvax.tpgi.com.au> 1933 1934 * gen-icache.c: Generalize code handling XXX_is_NNN so that it 1935 works for normal and boolean table entries. 1936 1937 * psim.c (psim_write_memory): last_cpu == -1 or nr_cpus is now 1938 valid. Handle this just like *_{read,write}_register now handles 1939 it. 1940 1941Mon Feb 3 17:18:16 1997 Andrew Cagney <cagney@kremvax.tpgi.com.au> 1942 1943 * events.c (insert_event_entry): Correct loop termination 1944 assertions. 1945 1946Fri Jan 31 16:20:26 1997 Andrew Cagney <cagney@kremvax.tpgi.com.au> 1947 1948 * psim.c (psim_options): Add new option -c for max-iterations or 1949 count. 1950 (psim_usage): Document. 1951 (psim_max_iterations_exceeded): New function, abort simulation if 1952 max iterations exceeded. 1953 1954 * gen-idecode.c: Re-work the table lookup code so that it assumes 1955 that the entry is a leaf by default. Simplify the boolean table 1956 entry code so that it involves a mask + test instead of shift + 1957 shift + mask + test. 1958 1959 * gen-idecode.c: Correct generated igen body so that it no drops 1960 or doubles clock interrupts. 1961 1962 1963Thu Jan 30 11:23:20 1997 Andrew Cagney <cagney@kremvax.tpgi.com.au> 1964 1965 * Makefile.in (BUILT_SRC_WO_CONFIG): Change targ-vals.* to 1966 @sim_targ_vals@ 1967 1968 * configure.in (sim_callback, sim_targ_vals): Set sim_targ_valls 1969 if common callback is present. 1970 1971Wed Jan 29 12:32:41 1997 Michael Meissner <meissner@tiktok.cygnus.com> 1972 1973 * configure.in (sim_callback): If the gdb is post 4.16, configure 1974 callback support from the common directory. 1975 * configure: Regenerate. 1976 1977 * Makefile.in (BUILT_SRC_WO_CONFIG): Add targ-vals.{h,def} and 1978 targ-map.c. 1979 (GDB_OBJ): Add callback support configured in. 1980 (gentmap,targ-vals.def): Build from common directory. 1981 (targ-vals.h,targ-map.c): Build by running gentmap. 1982 (callback.o): Build from source in common directory. 1983 (targ-map.o): Add dependency. 1984 (clean): Remove gentmap. 1985 1986Wed Jan 29 12:14:19 1997 Andrew Cagney <cagney@kremvax.tpgi.com.au> 1987 1988 * igen wasn't aborting if the opcode table contained no valid 1989 fields. 1990 1991 * misc.c (name2i): Possibly abort if an invalid name is 1992 encountered. 1993 * ld-decode.c: Abort if the table type isn't found. 1994 1995Wed Jan 29 12:14:19 1997 Andrew Cagney <cagney@kremvax.tpgi.com.au> 1996 1997 * When performance monitoring is disabled, it is still possible to 1998 determine the simulation speed by looking at the number of elapsed 1999 ticks recorded by the event queue. 2000 2001 * psim.c (psim_write_register, psim_read_register): Force the cpu 2002 to zero when it is either of `-1' or `nr_cpus'. In both cases the 2003 next cpu would be zero any way. 2004 2005 * mon.c (mon_print_info): If possible, print the system cycle 2006 performance. This is an indication of the number of instructions 2007 per second. 2008 2009Wed Jan 29 12:14:19 1997 Andrew Cagney <cagney@kremvax.tpgi.com.au> 2010 2011 * The code to allow an event queue to be updated during a signal 2012 was missing. For main.c, a cntrl-c simulation termination wasn't 2013 handled cleanly. 2014 2015 * The simulation would not correctly restart if an event requested 2016 that the simulation be halted. 2017 2018 * psim.c (psim_options): Add hack to -i option to optionally 2019 include a level vis -i2. 2020 (psim_usage): Document. 2021 2022 * main.c (cntrl_c, cntrl_c_simulation): New functions. When a 2023 cntrl-c occures schedule an event to halt the simulation. 2024 (main): Catch CNTRL-C signals with the function cntrl_c. 2025 2026 * events.c (event_queue_process): Mask interrupts while 2027 manipulating the async event queue. 2028 (event_queue_init): Ditto. 2029 (event_queue_schedule_after_signal): Ditto. 2030 2031 * events.c (event_queue_process): Mark the event queue as being in 2032 the processing state when processing has started. Adjust code 2033 so that it is tolerant of halts. 2034 (event_queue_init): Start the event queue out with processing 2035 false. 2036 (event_queue_tick): Check that processing isn't still being 2037 performed. 2038 2039 * gen-idecode.c (print_run_until_stop_body): Call 2040 event_queue_process_events to clear possibly pending events before 2041 starting a simulation run. Re-arange main loop so that simulator 2042 is correctly restarted when an event halts the simulation. 2043 2044 * psim.c (psim_halt): Handle an event halting the simulation. 2045 * psim.c (psim_init): Adjust initial cpu - == -1 - to match 2046 reworked idecode. 2047 2048Wed Jan 29 12:14:19 1997 Andrew Cagney <cagney@kremvax.tpgi.com.au> 2049 2050 * ppc-opcode-complex: Correct typo - was expanding ORA instead of 2051 RA. Based on instruction frequency stats, expand additional 2052 instructions. 2053 * ppc-instructions: Change all `RA == 0' to RA_is_0. 2054 2055 * ppc-opcode-stupid: Move all but the basic table in -complex into 2056 here. Update to new format. 2057 2058 * Makefile.in (tmp-defines): New target. Force defines.h to always 2059 be built. Hence get ppc-opcode-goto to build. 2060 2061Tue Jan 28 13:00:19 1997 Andrew Cagney <cagney@kremvax.tpgi.com.au> 2062 2063 * hw_com.c (hw_com_instance_read, hw_com_instance_write): 2064 Implement. 2065 2066Thu Jan 23 09:07:26 1997 Andrew Cagney <cagney@kremvax.tpgi.com.au> 2067 2068 * hw_trace.c (hw_trace_init_data): Delete. The trace options need 2069 to be initialized independant of the rest of the simulation 2070 initalization. Otherwize a trace option explictly set from gdb 2071 could be overridden by hw_trace. 2072 2073 * psim.c (psim_options): Clarify reason why the trace ioctl occures. 2074 2075 * FIXME: The trace code is too scattered - hw_trace.c, psim.c, 2076 debug.c. It could be much simpler. 2077 2078Thu Jan 23 09:07:26 1997 Andrew Cagney <cagney@kremvax.tpgi.com.au> 2079 2080 * Some devices support removable media. Add hooks to the disk 2081 device so that it supports this. 2082 2083 * device.c (device_add_string_array_property, 2084 device_find_string_array_property): New functions, manipulate 2085 properties containing an array of strings. 2086 (device_find_string_property): Allow a string array. 2087 (device_init_static_properties): Update. 2088 (device_init_runtime_properties): Update. 2089 2090 * hw_disk.c (hw_disk_ioctl): Add ioctl for changing the disk 2091 media. If no file image is specified, use the next one in the 2092 image property list. 2093 (hw_disk_init_address): Change the file property so that it is a 2094 string array - use the first entry for the initial file image. 2095 2096 * tree.c (print_string_aray_property): New function - print a 2097 string array. 2098 (print_properties): Adjust. 2099 (print_string): Write a string, handling double quotes. 2100 2101 * device.h: Define an ioctl to `change-media' with an optional new 2102 media image. 2103 2104 * hw_disk.c: Allow floppy disk devices to be specified. 2105 2106 * psim.c (psim_command): New function, parse more complex psim 2107 commands such as "change-media" and "trace". 2108 * sim_calls.c (sim_do_command): Use. 2109 2110Wed Jan 22 09:38:33 1997 Andrew Cagney <cagney@kremvax.tpgi.com.au> 2111 2112 * For expressions like (RA == 0) that are entered in to the cache 2113 as RA_is_0. If possible generate the result of the expression so 2114 that the compiler gets a better chance of eliminating dead 2115 branches. 2116 2117 * gen-icache.c (print_icache_extraction): For a cache entry of 2118 the form <name>_is_<const> where it is a boolean field, generate 2119 the result of the expression instead of the expression its self. 2120 (print_icache_body): Remove code that was looking for *_is_0 and 2121 then generating corresponding definitions. 2122 2123 * gen-icache.c (print_icache_struct): If there is no cache, do not 2124 output expressions in idecode.h file. 2125 2126 * gen-icache.c (print_icache_body): Output them here. 2127 2128 * ppc-opcode-complex: Clarify constant values for SPR==LR register 2129 expansion. 2130 2131 * ppc-cache-rules (RA_is_0, SPR_is_256): Two new cache entries. 2132 2133Wed Jan 22 12:24:52 1997 Andrew Cagney <cagney@kremvax.tpgi.com.au> 2134 2135 * The code that put values in and extracted values from the cache 2136 was too compilicated. The cache table did not allow values to be 2137 computed from cache entries. #defines could only be used when a 2138 cache was present, remove the restriction. 2139 2140 * ld-cache.h, ld-cache.c: Add a new cache entry type - SCRATCH. A 2141 scratch variable is defined when a cache entry is beinf 2142 filled. Change the definition of a COMPUTE variable to be defined 2143 when the cache entry is being used. 2144 * gen-icache.c: Update. 2145 2146 * ld-cache.h, ld-cache.c: Change field names so that their meaning 2147 is more obvious. old_name->field_name, new_name->derived_name. 2148 * gen-icache.c: Update 2149 2150 * gen-icache.h, gen-icache.c (print_icache_body): Make the three 2151 different types of cache code - put into cache, extract from 2152 cache, no cache - an explicit argument to print_icache_body. 2153 * gen-icache.c (print_icache_extraction): Ditto. 2154 2155 * gen-semantics.c (print_c_semantic): Update use. 2156 * gen-idecode.c (print_jump_insn): Update use. 2157 * gen-icache.c (print_icache_function): Update use. 2158 2159 * igen.c (main): Change 'R' option so that it does not force the 2160 cache. 2161 2162 * configure.in (enable-sim-icache): Clarify description. Make 2163 #define one of the defaults regardless of the cache. Probably 2164 should revamp and add a separate option. 2165 2166Tue Jan 21 13:26:10 1997 Andrew Cagney <cagney@kremvax.tpgi.com.au> 2167 2168 * pk_disklabel.c (block_is_fdisk): Tidy up traces - use dos 2169 partition numbering. 2170 (pk_disklabel_create_instance): Partition 1..4 are valid - not 2171 1..3. 2172 (is_iso9660): New function, verify a CD9660 File system. 2173 (pk_disklabel_create_instance): Start expanding so that active 2174 partition selection is supported. 2175 2176Mon Jan 20 11:20:15 1997 Andrew Cagney <cagney@kremvax.tpgi.com.au> 2177 2178 * The cap object was retaining a reference to the instance of a 2179 device after it was deleted. Instead add and remove cap's from the 2180 cap db as they are created and deleted. This ensuring that a 2181 capibility is only used during the lifetime of the corresponding 2182 object. 2183 2184 * cap.h, cap.c: Correct cap type - was signed32 should be 2185 signed_cell. 2186 2187 * cap.c (cap_add, cap_remove): New methods for cap object that 2188 allow the explicit addition and removal of internal objects that 2189 the cap knows about. 2190 2191 * cap.c (cap_init): Rewrite. Verify that the only objects 2192 remaining in the cap data base are those that were entered first. 2193 Thse objects will be the permenant ones. 2194 * device.c (device_init_address): Remember to initialize the cap 2195 database. 2196 2197 * device.c (device_create_instance_from): Explicitly add device 2198 instances to the cap database. Simplify create code. 2199 (device_instance_delete): Explicitly remove device instances from 2200 the cap database. 2201 2202 * device.c (device_create_from): Explicitly add a device to the 2203 cap data base. 2204 2205 * device.c (device_create_from): Always set the cap members. 2206 2207 * hw_disk.c: Output the instance when tracing. 2208 2209Sun Jan 19 16:44:29 1997 Andrew Cagney <cagney@kremvax.tpgi.com.au> 2210 2211 * tree.c (split_device_specifier): Add support for aliases when 2212 looking up a device. Now needs a device as an argument. 2213 (split_property_specifier): Ditto. 2214 2215Sun Jan 19 15:28:23 1997 Andrew Cagney <cagney@kremvax.tpgi.com.au> 2216 2217 * The memory "claim" and "release" methods take an address and 2218 size as arguments. These may be multi cell values. Initially fix 2219 the memory code so that they check/detect this. Leave the 2220 adjustment of any clients to later. 2221 2222 * hw_memory.c (hw_memory_instance_claim, 2223 hw_memory_instance_release): Handle multi-cell memory devices. 2224 2225 * hw_memory.c (hw_memory_instance_claim): Be tolerant towards the 2226 release of memory regions that were not claimed. 2227 2228Fri Jan 17 12:01:07 1997 Andrew Cagney <cagney@kremvax.tpgi.com.au> 2229 2230 * device.h, device.c (device_instance_call_method): Correct return 2231 type - can return either 0 or -1, hence should be a signed type. 2232 * device_table.h: Ditto. 2233 2234 * hw_memory.c (hw_memory_instance_claim, 2235 hw_memory_instance_release): Update. 2236 * hw_disk.c (hw_disk_max_transfer, hw_disk_block_size, 2237 hw_disk_nr_blocks): Ditto. 2238 2239Fri Jan 17 11:50:13 1997 Andrew Cagney <cagney@kremvax.tpgi.com.au> 2240 2241 * emul_chirp.c (chirp_emul_claim): Implement using the "claim" 2242 method belonging to "/chosen/memory". 2243 (chirm_emul_release): Ditto. 2244 2245 * Makefile.in (LIB_INLINE_SRC): Remove emul_* from list of files 2246 that are inlined. These modules are called via a table and are 2247 not made inline. 2248 2249 * hw_init.c (update_for_binary_section): Fix failure to allocate 2250 memory used by the binary in real-mode executions. If "claim" 2251 property is present, allocate memory from the "/chosen/memory" 2252 device. 2253 2254 * emul_chirp.c (emul_chirp_create): Specify that memory should be 2255 claimed when loading a real image. 2256 2257 * hw_memory.c (hw_memory_instance_claim): Don't page align memory 2258 allocations. 2259 2260 * hw_memory.c (hw_memory_instance_release): Avoid infinite loop 2261 when merging adjacent memory chunks. 2262 2263Thu Jan 16 08:51:25 1997 Andrew Cagney <cagney@kremvax.tpgi.com.au> 2264 2265 * vm.h (vm_data_map_read_buffer, vm_data_map_write_buffer): Add 2266 optional PROCESSOR & CIA args so that this routine also abort an 2267 access. 2268 2269 * vm_n.h (vm_data_map_read_N, vm_data_map_write_N): For a 2270 miss-aligned access when a transfer fails abort. 2271 2272 * emul_bugapi.c (emul_bugapi_do_write): Use emul_read_buffer 2273 instead of the vm_read_buffer. 2274 * emul_netbsd.c (do_write): Ditto. 2275 * emul_unix.c (do_unix_write): Ditto. 2276 2277Wed Jan 15 14:38:25 1997 Andrew Cagney <cagney@kremvax.tpgi.com.au> 2278 2279 * configure.in (--enable-sim-jump): Default is NULL and not -E. 2280 * configure: Regenerate. 2281 2282 * basics.h (__attribute__): Enable attributes if GCC >= 2.6. 2283 (UNUSED): Only enable UNUSED if GCC >= 2.7. 2284 2285 * gen-icache.c (print_icache_extraction): Print UNUSED macro 2286 instead of explicit __unused__ attribute. 2287 (print_icache_body): Ditto. 2288 * idecode_expression.h (FPSCR_BEGIN): Use UNUSED. 2289 2290Wed Jan 15 13:54:50 1997 Andrew Cagney <cagney@kremvax.tpgi.com.au> 2291 2292 * cpu.h, cpu.c (cpu_synchronize_context): Add CIA argument as 2293 reference point. 2294 2295 * vm.c (vm_synchronize_context): Add PROCESSOR and CIA as 2296 arguments so that there is a reference point for recovery. 2297 (vm_synchronize_context): Pass processor+cia for errors. 2298 (om_unpack_sr): Ditto. 2299 (om_unpack_srs): Ditto. 2300 * vm.c (vm_create): Review error messages. 2301 2302 * vm.c: Include "cpu.h" so that cpu_error is visible. 2303 2304 * ppc-instructions (Return From Interrupt): Pass CIA. 2305 (Instruction Synchronize): Ditto. 2306 * psim.c (psim_init): Ditto. 2307 2308Wed Jan 15 12:25:11 1997 Andrew Cagney <cagney@kremvax.tpgi.com.au> 2309 2310 * cpu.h, cpu.c (cpu_error): Aborts simulation with error message, 2311 but also saves current processor state. 2312 2313 * basics.h: Move #include <stdarg.h> to here from device_table.h. 2314 2315 * interrupts.c (perform_oea_interrupt): Use. No longer loose CIA 2316 when simulation aborted. 2317 (program_interrupt): Ditto. 2318 (floating_point_unavailable_interrupt): Ditto. 2319 (alignment_interrupt): Ditto. 2320 (floating_point_assist_interrupt): Ditto. 2321 (perform_oea_interrupt): Ditto. 2322 (machine_check_interrupt): Ditto. 2323 2324Tue Jan 14 12:19:10 1997 Andrew Cagney <cagney@kremvax.tpgi.com.au> 2325 2326 * ppc-instructions (Move from Special Purpose Register): Support 2327 move from DEC. 2328 2329Mon Jan 13 16:58:12 1997 Andrew Cagney <cagney@kremvax.tpgi.com.au> 2330 2331 * debug.h, debug.c: Add "interrupts" trace option. 2332 2333 * interrupts.c (data_storage_interrupt): Add tracing. 2334 (machine_check_interrupt): Ditto. 2335 (instruction_storage_interrupt): Ditto. 2336 (alignment_interrupt): Ditto. 2337 (program_interrupt): Ditto. 2338 (floating_point_unavailable_interrupt): Ditto. 2339 (system_call_interrupt): Ditto. 2340 (floating_point_assist_interrupt): Ditto. 2341 (deliver_hardware_interrupt): Ditto. 2342 2343 * interrupts.c (program_interrupt): For UEA mode, halt the 2344 processor - so that the current state is saved - instead of 2345 aborting. 2346 (floating_point_unavailable_interrupt): Ditto. 2347 (floating_point_assist_interrupt): Ditto. 2348 2349Thu Jan 2 09:10:41 1997 Andrew Cagney <cagney@kremvax.tpgi.com.au> 2350 2351 * interrupts.c (perform_oea_interrupt): Halt rather than abort on 2352 a double interrupt. 2353 2354Wed Jan 1 22:54:52 1997 Andrew Cagney <cagney@kremvax.tpgi.com.au> 2355 2356 * ppc-instructions (Store Multiple Word, Load Multiple Word): 2357 Enable. 2358 2359 * tree.c (print_properties): For an array consider printing it out 2360 as an integer array. 2361 2362 * hw_memory.c (hw_memory_init_address): If an "available" property 2363 is present, use that to initialize the available memory instead of 2364 using the reg property. 2365 2366 * emul_generic.c (emul_add_tree_hardware): Add "available" 2367 property to memory device. 2368 2369Fri Dec 20 13:19:07 1996 Andrew Cagney <cagney@kremvax.tpgi.com.au> 2370 2371 * ppc-instructions (Rotate Left Word then AND with Mask): Enable. 2372 2373 * device.c (device_instance_call_method): Was only looking at the 2374 first method. 2375 2376 * hw_disk.c (hw_disk_nr_blocks): Implement #blocks method. 2377 (hw_disk_block_size): Implement block-size method. 2378 (hw_disk_max_transfer): Implement max-transfer method. 2379 2380 * hw_phb.c (hw_phb_init_address): Reinit the rest of the PHB. 2381 2382 * emul_chirp.c (chirp_emul_instance_to_path): Recover from an 2383 invalid ihandle. 2384 (chirp_emul_instance_to_package): Ditto. 2385 (chirp_emul_method): Ditto. 2386 (chirp_emul_read): Ditto. 2387 (chirp_emul_write): Ditto. 2388 (chirp_emul_close): Ditto. 2389 (chirp_emul_seek): Ditto. 2390 (chirp_emul_package_to_path): Ditto (for phandle). 2391 (chirp_emul_package_to_path): Return the length. 2392 2393 * psim.c (psim_merge_device_file): Allow continuation lines. 2394 2395Thu Dec 19 11:09:43 1996 Andrew Cagney <cagney@kremvax.tpgi.com.au> 2396 2397 * emul_chirp.c (chirp_emul_boot): Implement. Well report the new 2398 string and exit. 2399 2400 * emul_chirp.c (chirp_emul_exit): Correct type of args struct 2401 members - *_cell not host dependant int. 2402 2403Wed Dec 18 17:49:59 1996 Andrew Cagney <cagney@kremvax.tpgi.com.au> 2404 2405 * interrupts.c (perform_oea_interrupt): Print additional 2406 information if a double interrupt is encountered. 2407 2408Wed Dec 18 17:49:59 1996 Andrew Cagney <cagney@kremvax.tpgi.com.au> 2409 2410 * psim.c (psim_merge_device_file): Tolerate an incorrect file-name 2411 being specified with the -f option. 2412 (psim_merge_device_file): Correct check for end of string. 2413 2414Wed Dec 18 17:49:59 1996 Andrew Cagney <cagney@kremvax.tpgi.com.au> 2415 2416 * emul_chirp.c (chirp_emul_peer): Was falling off the end of the 2417 list of devices. Return zero to the client instead. 2418 * emul_chirp.c (chirp_emul_child): Ditto 2419 * emul_chirp.c (chirp_emul_parent): Ditto 2420 2421 * device.c (device_root): Assert assumption about the device being 2422 valid. 2423 2424Tue Dec 17 15:12:38 1996 Andrew Cagney <cagney@kremvax.tpgi.com.au> 2425 2426 * emul_chirp.c (emul_chirp_create): Add description property to 2427 each significant node in the device tree. 2428 * emul_bugapi.c (emul_bugapi_create): Ditto. 2429 2430Fri Dec 13 14:30:31 1996 Andrew Cagney <cagney@kremvax.tpgi.com.au> 2431 2432 * main.c (sim_io_read_stdin): For a single byte STDIO read, use a 2433 tempoary two byte buffer. Single byte read with fgets will not 2434 work. 2435 * main.c: Include errno.h. 2436 (sim_io_read_stdin): For non-STDIO, make it work. 2437 2438 * emul_chirp.c (chirp_emul_read): Return the correct error status. 2439 2440Fri Dec 13 14:30:31 1996 Andrew Cagney <cagney@kremvax.tpgi.com.au> 2441 2442 * std-config.h (WITH_STDIO): Don't hard-wire the STDIO mechanism. 2443 Instead have each emulation default it to DO_USE_STDIO. 2444 2445 * emul_generic.c (emul_add_tree_options): Select the STDIO I/O 2446 mechanism as the default if enabled or if nothing selected. 2447 2448 * sim_calls.c (sim_io_read_stdin): Passify GCC's desire for a 2449 return value. 2450 (sim_io_write_stdout): Ditto. 2451 (sim_io_write_stderr): Ditto. 2452 * main.c (sim_io_write_stdout): Ditto. 2453 (sim_io_write_stderr): Ditto. 2454 (sim_io_read_stdin): Ditto. 2455 2456Tue Dec 10 10:31:48 1996 Michael Meissner <meissner@tiktok.cygnus.com> 2457 2458 * emul_chirp.c (emul_chirp_instruction_call): Make *printf calls 2459 type correct. 2460 * vm.c (om_effective_to_virtual): Ditto. 2461 * events.c (event_queue_schedule{,_after_signal}): Ditto. 2462 (event_queue_{deschedule,process}): Ditto. 2463 * hw_htab.c (htab_decode_hash_table): Ditto. 2464 (htab_map_{page,binary}): Ditto. 2465 * hw_opic.c (hw_opic_init_data): Ditto. 2466 (handle_interrupt): Ditto. 2467 (do_processor_init_register_{read,write}): Ditto. 2468 (write_vector_priority_register): Ditto. 2469 ({read,write}_destination_register): Ditto. 2470 (do_suprious_vector_register_{read,write}): Ditto. 2471 (do_current_task_priority_register_N_{read,write}): Ditto. 2472 (do_timer_frequency_reporting_register_{read,write}): Ditto. 2473 (do_timer_N_{current,base}_count_register_{read,write}): Ditto. 2474 (do_ipi_N_dispatch_register_write): Ditto. 2475 (do_vendor_identification_register_read): Ditto. 2476 (do_feature_reporting_register_N_read): Ditto. 2477 (do_global_configuration_register_N_{read,write}): Ditto. 2478 * hw_phb.c (hw_phb_attach_address): Ditto. 2479 (hw_phb_unit_decode): Ditto. 2480 (hw_phb_address_to_attach_address): Ditto. 2481 (hw_phb_io_{read,write}_buffer): Ditto. 2482 * hw_ide.c (setup_fifo): Ditto. 2483 2484 * sim_calls.c ({defs,callback,remote-sim}.h): Find gdb include 2485 files via -I<dir> instead of using "../../gdb/" prefixes. 2486 2487Tue Dec 10 10:12:44 1996 Andrew Cagney <cagney@kremvax.tpgi.com.au> 2488 2489 * debug.h: Add tracing for the pal device. 2490 * hw_pal.c: Update. 2491 2492 * emul_chirp.c (chirp_emul_getprop): More tracing. 2493 2494Tue Dec 10 10:12:44 1996 Andrew Cagney <cagney@kremvax.tpgi.com.au> 2495 2496 * device.h, device.c (device_find_ihandle_runtime_property): New 2497 function. Reverse of add_ihandle_runtime property. 2498 (device_init_runtime_properties): Use it. 2499 2500 * device.c (find_property_entry): New function returns the 2501 internal property spec. 2502 (device_set_property): Use. 2503 (device_find_property): Use. 2504 2505Tue Dec 10 10:12:44 1996 Andrew Cagney <cagney@kremvax.tpgi.com.au> 2506 2507 * psim.c (psim_merge_device_file): Strip newline from device 2508 specs. 2509 2510Tue Dec 10 10:12:44 1996 Andrew Cagney <cagney@kremvax.tpgi.com.au> 2511 2512 * hw_htab.c (htab_map_binary): For overlapping text / data maps 2513 merge the two. Also check that the merge is safe. 2514 2515 * emul_chirp.c (emul_chirp_create): Add a description property to 2516 the pte's so that they are easier to identify. 2517 2518 (emul_chirp_create): Don't specify a load address for the CHRP 2519 image. Always use the values specified by the executable. 2520 2521 * hw_htab.c (htab_map_page): Abort if a duplicate map is 2522 encountered. 2523 2524Mon Dec 9 12:08:46 1996 Andrew Cagney <cagney@kremvax.tpgi.com.au> 2525 2526 * hw_htab.c (htab_map_page): Formatting. 2527 2528 * emul_chirp.c (emul_chirp_instruction_call): Check for a NULL 2529 method name when handling the client call. Also check for other 2530 bad call arguments. 2531 2532 * emul_chirp.c (emul_chirp_create): Allow real-mode?, real-base, 2533 etc to be overriden. 2534 2535Mon Dec 9 12:08:46 1996 Andrew Cagney <cagney@kremvax.tpgi.com.au> 2536 2537 * os_emul.c (os_emul_create): Use tree find property instead of 2538 device find property - sigh. 2539 2540Thu Dec 5 10:46:42 1996 Andrew Cagney <cagney@kremvax.tpgi.com.au> 2541 2542 * 961205: Release snapshot 961205. 2543 2544Thu Dec 5 10:46:42 1996 Andrew Cagney <cagney@kremvax.tpgi.com.au> 2545 2546 * configure.in (hostbitsize, bitsize): Fix typo in error message - 2547 cannot contain a comma. 2548 (sim-warnings): Check for more potential errors. 2549 2550 * psim.c (psim_usage): Add -f <file> option. Specifies a file 2551 containing device tree specifications that should be merged into 2552 the device tree. 2553 2554 * configure.in: Sort options. 2555 * configure: Rebuild 2556 2557Wed Dec 4 13:57:31 1996 Andrew Cagney <cagney@kremvax.tpgi.com.au> 2558 2559 * psim.c (psim_usage): Add -n option - specify number of 2560 processors. 2561 2562 * emul_chirp.c: Add description. 2563 * emul_bugapi.c: Ditto. 2564 * emul_unix.c: Ditto. 2565 * emul_netbsd.c: Ditto. 2566 2567Fri Nov 29 11:12:22 1996 Andrew Cagney <cagney@kremvax.tpgi.com.au> 2568 2569 * hw_pal.c (hw_pal_attach_address): New function, if an attach is 2570 encountered, assume that it is the single disk. 2571 * hw_pal.c: Add generic device/size decode methods. 2572 2573 * hw_nvram.c (hw_nvram_init_address): Use the first nonzero reg 2574 property entry when determining the nvram size. 2575 2576 * hw_core.c: Add generic address/size decode methods. 2577 2578 * emul_chirp.c (emul_chirp_instruction_call): Return and trace 2579 nonzero status from client functions. 2580 2581 * main.c (error): Always include a cariage return when writing out 2582 errors. 2583 2584Wed Nov 20 00:36:55 1996 Doug Evans <dje@canuck.cygnus.com> 2585 2586 * sim_calls.c (sim_resume): Reset sim_should_run if single 2587 stepping. 2588 2589Thu Nov 28 13:19:46 1996 Andrew Cagney <cagney@kremvax.tpgi.com.au> 2590 2591 * emul_bugapi.c (emul_bugapi_do_diskio): Add support for multiple 2592 optional disks. 2593 2594 * emul_generic.c (emul_add_tree_hardware): Drop the dummy eeprom. 2595 Attach the pal - for I/O - as a pseudo device haning from the 2596 firmware sub tree. 2597 2598 * emul_bugapi.c (emul_bugapi_create): Add a small memory device to 2599 the device tree at the address of the hi-mem interrupt vector 2600 addreses. Used by bugapi to establish its trap instructions. 2601 2602 * debug.h: Add a new macro DITRACE for tracing device instances. 2603 2604 * debug.h: Extend the DTRACE macro so that it can also tests for 2605 device specific tracint. 2606 2607 * device.h, device.c (device_trace): Add method to determine 2608 device specific tracing. 2609 (device_init_address): Set the devices tracing level. 2610 2611Thu Nov 21 12:05:32 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 2612 2613 * tree.h, tree.c (tree_device): New files - separate out the 2614 device parser and other tree operations from the device. 2615 2616 * inline.h, inline.c (INLINE_TREE): Add. 2617 * device.h, device.c (device_tree_add_parsed): Delete. 2618 * Makefile.in (tree.c): Add rules for new file. 2619 * Makefile.in: Better order the emul_* files. 2620 2621 * emul_generic.c (emul_add_tree_hardware): Update. 2622 * emul_netbsd.c (emul_netbsd_create): Update. 2623 * emul_unix.c (emul_unix_create): Ditto. 2624 * emul_chirp.c (emul_chirp_create): Ditto. 2625 * emul_bugapi.c (emul_bugapi_create): Ditto. 2626 * psim.c (psim_tree): Ditto. 2627 * hw_init.c: Ditto. 2628 2629 * emul_generic.h: Include tree.h 2630 * Makefile.in: Add to EMUL_GENERIC_H dependencies. 2631 2632 * device.h, device.c (device_root): New function - returns the 2633 root of the tree. 2634 * corefile.c: Use. 2635 2636 * device.h, device.c (device_clean): New function, clean up device 2637 ready for next simulation run. This includes things like deleting 2638 interrupt edges and properties created during the simulation and 2639 also scrubbing any pre-defined properties. 2640 * tree.c (tree_init): Use. 2641 2642 * device.h, device.c (device_init_static_properties): New 2643 function. Initialize any static predefined properties. By static 2644 we mean those that have values that can be determined before the 2645 device tree initialization has started. 2646 * tree.c (tree_init): Use. 2647 2648 * device.h, device.c (device_init_address): Add code to 2649 check/verify the devices #address-cells and #size-cells. 2650 (device_add_integer_property): Delete corresponding code. 2651 (device_nr_address_cells, device_nr_data_cells): Check for 2652 property when returning value. 2653 2654 * device.h, device.c (device_init_runtime_properties): New 2655 function. Initialize those properties that are not `static'. At 2656 present the only such property is the ihandle. 2657 * tree.c (tree_init): Use. 2658 2659 * device.h, device.c (reg, ranges): Rework these so that they use 2660 an array of the fundamental type - single reg or single range 2661 entry. 2662 2663 * device.h, device.c (device_add_ihandle_runtime_property): 2664 Re-implement the adding of an ihandle during tree construction so 2665 that it better fits in with device initialization. 2666 2667Thu Nov 21 12:05:32 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 2668 2669 * device.h, device.c (device_ioctl): Add additional argument - 2670 request - so that the caller must always specify the type of 2671 the ioctl request. 2672 2673 * device_table.h: Update. 2674 * hw_trace.c (hw_trace_ioctl): Ditto. 2675 * hw_vm.c (hw_vm_ioctl_callback): Ditto. 2676 * hw_init.c (hw_stack_ioctl_callback): Ditto. 2677 * psim.c (psim_options): Ditto. 2678 2679Thu Nov 21 12:05:32 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 2680 2681 * BUGS: Updated a bit. 2682 2683Wed Nov 20 14:06:37 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 2684 2685 * hw_opic.c: Finish - third round. 2686 2687Wed Nov 20 12:02:08 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 2688 2689 * hw_glue.c (hw_glue_io_read_buffer_callback): Fix miscalc of glue 2690 reg index. 2691 (hw_glue_io_write_buffer_callback): Ditto. 2692 2693Tue Nov 19 21:17:08 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 2694 2695 * events.c (event_queue_process): Was incorrectly consuming future 2696 events on the queue when they should be left alone. 2697 2698 * debug.h, debug.c (events): Add support for event queue tracing. 2699 * events.c: Add event tracing. 2700 2701 * debug.h, debug.c: Order device trace options. 2702 2703Fri Nov 15 15:23:39 1996 Michael Meissner <meissner@tiktok.cygnus.com> 2704 2705 * pk_disklabel.c (pk_disklabel_create_instance): Fix up some 2706 warnings generated by GCC. 2707 2708Sun Nov 17 17:59:14 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 2709 2710 * sim-endian.h: Add LE versions of byte swap macros. Needed for 2711 PCI devices which are little-endian. 2712 2713 * sim-endian-n.h (endian_le2h_N, endian_h2le_N): Ditto 2714 2715Sun Nov 17 17:59:14 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 2716 2717 * hw_iobus.c (hw_iobus_attach_address_callback): Change the iobus 2718 so that it is implementing a 1-1 address map. 2719 2720 * emul_generic.c (emul_add_tree_hardware): Adjust. 2721 2722 * emul_generic.c (emul_add_tree_hardware): Don't add the nvram as 2723 a default. 2724 2725Sun Nov 17 17:59:14 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 2726 2727 * device.c (split_find_device): Be tolerant of missing unit 2728 addresses. 2729 2730Fri Nov 15 16:49:49 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 2731 2732 * basics.h (port_direction): New type, specify the direction of 2733 any `port'. 2734 2735 * device.h, device.c (device_interrupt_decode): Include 2736 specification of port direction in operations. 2737 (device_interrupt_encode): Ditto. 2738 2739 * device_table.h: Add a direction field to the interrupt port 2740 table. 2741 2742 * device.c (device_tree_add_parsed): Specify port direction. 2743 2744Thu Nov 14 21:38:13 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 2745 2746 * hw_opic.c: Finish - second round. 2747 2748Thu Nov 7 00:18:59 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 2749 2750 * hw_htab.c (htab_init_data_callback): Allow the virtual-address 2751 to be specified as an array which allows 64bit addresses. 2752 2753 * device.c (device_find_integer_array_property): New function. 2754 Simplify the querying of elements of an integer array. 2755 (device_add_integer_property, device_find_integer_property): 2756 Update to correctly use the cell type. 2757 2758 * vm.c (om_unpack_sr): Clarify shifting comment. 2759 (om_pte_0_masked_vsid): Ditto. Add 64bit version. 2760 2761 * emul_chirp.c (emul_chirp_create): Initialize the segment 2762 registers. 2763 2764 * vm.c (om_effective_to_virtual): Trace segment register use. 2765 2766 * hw_htab.c (htab_map_page): Print out the pteg base address to 2767 simplify cross checking between vm and the htab. 2768 (htab_decode_hash_table): Use device_error instead of error. 2769 (htab_map_page): Ditto. 2770 (htab_dma_binary): Ditto. 2771 (htab_map_binary): Ditto. 2772 (htab_init_data_callback): Ditto. 2773 2774Wed Nov 6 20:20:58 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 2775 2776 * interrupts.h: Clarify what the optional instruction program 2777 interrupt is - a subset of illegal instruction program interrupt. 2778 2779 * interrupts.c (program_interrupt): For UEA mode, clarify what an 2780 optional instruction program interrupt is. 2781 (program_interrupt): For OEA mode, as per spec, generate an 2782 illegal instruction program interrupt when an optional instruction 2783 is encountered. 2784 2785 * gen-semantics.c (print_semantic_body): Delete code 2786 differentiating between an unimplemented floating point and normal 2787 instruction. Instead, such a case can be handled explicitly. 2788 2789 * ppc-instructions (store floating-point as integer word indexed): 2790 Mark as optional. 2791 (Floating Convert to Integer Doubleword): Make the floating point 2792 assist interrupt explicit. 2793 (Floating Convert To Integer Doubleword with round towards Zero): 2794 Ditto. 2795 (Floating Convert To Integer Word): Ditto 2796 (Move From FPSCR): Ditto. 2797 (Move to Condition Register from FPSCR): Ditto. 2798 (Move To FPSCR Fields): Ditto. 2799 (Move To FPSCR Field Immediate): Ditto. 2800 (Move To FPSCR Bit 0): Ditto. 2801 (Move To FPSCR Bit 1): Ditto. 2802 2803Mon Nov 4 12:49:13 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 2804 2805 * corefile.c (core_map_read_buffer, core_map_write_buffer): Avoid 2806 breaking up transfers. 2807 2808 * corefile.c: Adjust arguments so that the client server 2809 relationship is clarified. 2810 2811 * hw_glue.c (hw_glue_init_address): Update so it can be attached 2812 to a PCI bus. 2813 2814 * hw_disk.c (hw_disk_instance_write): Add more checks to disk IO - 2815 looking for things like overflow/underflow. 2816 2817Sun Nov 3 18:45:20 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 2818 2819 * emul_generic.c (emul_add_tree_hardware): Hang the disk off the 2820 PAL device instead of the IOBUS. The disk must be attached to a 2821 logical bus. 2822 2823 * hw_disk.c (hw_disk_init_address): Just use the unit address 2824 directly in the attach - the rest isn't relevant. 2825 2826Sat Nov 2 21:48:57 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 2827 2828 * configure.in (sim-hardware, sim-packages): Allow additional 2829 hardware and packages to be prefixed as well as appended. 2830 2831 * Makefile.in (tmp-hw, tmp-pk): Retain the user specified order of 2832 packages when building them. Consequently, a user can override a 2833 standard device by prefixing their own version. 2834 2835 * Makefile.in (hw_opic.o, hw_pci.o, hw_ide.o): Add dependencies. 2836 2837Fri Nov 1 14:42:57 1996 Michael Meissner <meissner@tiktok.cygnus.com> 2838 2839 * mon.c (_cpu_mon): Add fields for counting 1, 2, 4, and 8 byte 2840 reads and writes. 2841 (mon_{read,write}): Count 1, 2, 4, and 8 byte reads/writes. 2842 (mon_print_info): Correct typo regarding # of unaligned reads and 2843 writes. Print out how many 1, 2, 4, and 8 byte reads/writes there 2844 are. 2845 2846Tue Oct 29 17:55:43 1996 Michael Meissner <meissner@tiktok.cygnus.com> 2847 2848 * configure.in (AC_CHECK_FUNCS): Add access. 2849 * config{.in,ure}: Regenerate. 2850 2851 * emul_unix.c (do_unix_nop): System call that always succeeds. 2852 (do_unix_access): Support access system call. 2853 (solaris_descriptors): Make sigaltstack and sigaction nops. 2854 ({solaris,linux}_descriptors): Add support for access. 2855 2856Tue, 8 Oct 18:42:26 1996 Jason Molenda <crash@cygnus.co.jp> 2857 2858 * Makefile.in (clean): Move config.log to distclean. 2859 2860Fri Nov 1 16:44:28 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 2861 2862 * corefile-n.h (core_map_write_N): Improve abort messages. 2863 2864 * device.h, device.c (device_attach_address): Remove unused name 2865 parameter. 2866 (device_detach_address): Ditto. 2867 * device_table.h, device_table.c: Update. 2868 * hw_iobus.c (hw_iobus_attach_address_callback): Ditto. 2869 * hw_nvram.c (hw_nvram_init_address): Ditto. 2870 * hw_memory.c (hw_memory_init_address): Ditto. 2871 * hw_vm.c (hw_vm_init_address_callback): Ditto. 2872 (hw_vm_attach_address): Ditto. 2873 (hw_vm_add_space): Ditto. 2874 * hw_init.c (update_for_binary_section): Ditto. 2875 * hw_core.c (hw_core_attach_address_callback): Ditto. 2876 2877 * hw_iobus.c (hw_iobus_attach_address_callback): Rewrite to handle 2878 configurable parent busses. 2879 2880Wed Oct 30 18:46:32 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 2881 2882 * device_table.c (generic_device_size_to_attach_size): Provide 2883 limited support for multi-cell sizes. 2884 (generic_device_address_to_attach_address): Ditto for addresses. 2885 2886Tue Oct 29 02:01:29 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 2887 2888 * device.c (device_add_integer_property): Check for setting of 2889 #address-cells and #size-cells properties. For these, update the 2890 corresponding device values. 2891 (device_nr_address_cells, device_nr_size_cells): Use the value 2892 from the device instead of the property. 2893 2894 * hw_core.c: Use generic address and size conversions for the top 2895 bus. 2896 2897 * hw_memory.c (hw_memory_init_address): Tolerate case where 2898 #address and #size cells is greater than 1. 2899 2900 * device.c (device_tree_print_device): Clean out printing of 2901 properties. 2902 2903 * device.c (split_device_specifier): Don't detect comments here - 2904 "#" can be a valid prefix - eg #size-cells. 2905 2906 * psim.c (psim_merge_device_file): Suppress comments and blank 2907 lines here. 2908 2909 * emul_generic.c (emul_add_tree_hardware): Fix typo of incorrect 2910 pal unit address. Add the property /#address-cells to the root of 2911 the tree. 2912 2913 * device.c (device_template_create_device): Check that the unit 2914 address was successfully parsed. 2915 2916 * device_table.c (generic_device_unit_decode): Rewrite to better 2917 handle multi-cell addresses. 2918 (generic_device_unit_encode): Ditto. 2919 2920 * emul_generic.c (emul_add_tree_hardware): "reg" properties no 2921 longer need the explicit array type - the parser takes care of it. 2922 2923 * pk_disklabel.c (pk_disklabel_create_instance): Add NULL return 2924 to keep GCC happy. 2925 2926Mon Oct 28 22:55:48 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 2927 2928 * hw_ide.c: New file. Model of a basic IDE interface attached to 2929 a PCI bus. 2930 2931 * configure.in (hardware): Add the ide device to the default 2932 configuration. 2933 * configure: Regenerate. 2934 2935 * debug.h, debug.c: Add tracing option for the IDE device. 2936 2937Fri Oct 25 21:28:25 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 2938 2939 * hw_phb.c, hw_phb.h: New files - implement a PHB. 2940 2941 * configure.in (hardware): Add the phb to the list of devices to 2942 build by default. 2943 2944Fri Oct 25 21:28:25 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 2945 2946 * hw_com.c: Review description. 2947 * hw_disk.c: Ditto. 2948 * hw_htab.c: Ditto. 2949 * hw_eeprom.c: Ditto. 2950 * hw_init.c: Ditto. 2951 * hw_cpu.c: Ditto. 2952 2953 * hw_com.c: Update event handling. 2954 2955 * hw_disk.c: Implement tracing. 2956 2957Fri Oct 25 21:28:25 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 2958 2959 * device_table.c (generic_device_init_address): Use 2960 assigned-addresses property in preference to any other reg 2961 property. 2962 2963Fri Oct 25 21:28:25 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 2964 2965 * device.h, device.c (device_find_ranges_property): New function. 2966 Simplify the manipulation of "ranges" properties. 2967 2968 * device.c (device_add_parsed): Extend to include support for the 2969 ranges property. 2970 2971 * device.c (device_add_parsed): Add assigned-addresses to the list 2972 of reg type properties. 2973 2974 * device.c (device_tree_print_device): Add code to format and 2975 print a ranges property. 2976 2977 * device.h, device.c (device_nr_address_cells, 2978 device_nr_size_cells): New functions. Determine the values of the 2979 standard properties #address-cells and #size-cells. Both of which 2980 are optional and have default values of two and one respectfuly. 2981 Previously, code that determined #address-cells was incorrectly 2982 using a value of one. 2983 2984Fri Oct 25 21:28:25 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 2985 2986 * debug.h, debug.c: Sort debug options, Add entries for the 2987 comming PHB device. 2988 2989Fri Oct 18 12:12:21 1996 Michael Meissner <meissner@tiktok.cygnus.com> 2990 2991 * ppc-instructions (Floating Select): Add support for fsel unless 2992 model is 601. Allow user to filter out instruction unless -Fs is 2993 passed to igen. 2994 (Store Floating-Point as Integer Word Indexed): Raise optional 2995 instruction program abort. Allow user to filter out instruction 2996 unless -Fs is passed to igen. 2997 (Floating Square Root{, Single}): Ditto. 2998 (Floating Reciprocal Estimate Single): Ditto. 2999 (Floating Reciprocal Square Root Estimate): Ditto. 3000 3001 * configure.in (--enable-sim-filter): If not passed, pass 32,f,s 3002 to igen. 3003 * configure: Regenerate. 3004 3005 * interrupts.h (program_interrupt_reasons): Add 3006 optional_instruction_program_interrupt. 3007 3008 * interrupts.c (program_interrupt): Call error with more detailed 3009 information on program interrupts, particularly in user mode. Add 3010 support for optional_instruction_program_interrupt. 3011 3012Wed Sep 25 10:20:29 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 3013 3014 * hw_glue.c: New device. Hooks for manipulating interrupt ports. 3015 3016 * debug.h, debug.c (trace_glue_device): Add tracing support for 3017 the interrupt glue logic device. 3018 3019 * configure.in (hardware): Add glue device. 3020 * configure: Regenerate. 3021 3022Tue Sep 24 20:55:38 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 3023 3024 * device.c (device_tree_parse_integer_property): New function, 3025 parse a list of integers as an array property. 3026 (device_tree_add_parsed): Call it. 3027 3028 * device.c (device_tree_parse_string_property): New function, 3029 parse a list of strings as a string property (with embeded 3030 null's). For moment, don't try to implement a complext string 3031 parser. 3032 (device_tree_add_parsed): Call it. 3033 3034Tue Sep 24 16:30:48 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 3035 3036 * hw_opic.c: New file. OpenPIC interrupt controller. 3037 3038 * configure.in (hardware): Add opic device. 3039 * configure: re-generate. 3040 3041 * hw_pic.c: Delete, replaced with hw_opic.c. 3042 3043 * debug.h, debug.c: Add debug option for OpenPIC device. - 3044 opic-device. 3045 3046Tue Sep 24 16:30:48 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 3047 3048 * Makefile.in (psim.o, idecode.o): Since idecode and not psim is 3049 now the file that does all the inlining. 3050 3051 * Makefile.in (LIB_SRC, LIB_INLINE_SRC, idecode.o): Break out the 3052 library source code that could be involved in an inlining. Make 3053 idecode.o only dependant on the inlined library source code. 3054 3055 * Makefile.in (LIB_OBJ): Put options last on the list so that it 3056 is compiled last. 3057 3058 * std-config.h (DEVICE_INLINE): Only inline locals when the 3059 default is to inline. 3060 3061Mon Sep 23 00:37:49 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 3062 3063 * hw_htab.c (htab_sum_binary): Determine the real-base for the 3064 binary. 3065 3066 * hw_htab.c (htab_map_binary): Depending on the value of the 3067 load-base, either map the program in as a contiguous section or as 3068 separate sections controled by th binaries lma values. 3069 (htab_init_data_callback): Ditto. 3070 3071Sun Sep 22 15:56:22 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 3072 3073 * emul_generic.c (emul_add_tree_options): Remove load-base option. 3074 3075 * emul_chirp.c (map_over_chirp_note): Add load_base field to note 3076 struct. Don't require the load_base field to be present - just 3077 issue warning - it is a recent addition. 3078 (emul_chirp_create): Support both virtual and physical modes. 3079 3080 * emul_chirp.c (emul_chirp_create): Add a stack initialization 3081 property so that any arguments specified on the command line can 3082 be passed on to user programs. 3083 3084 * hw_init.c (create_ppc_chirp_bootargs): Add support for chirp 3085 argument passing to the pseudo device stack. 3086 3087Sat Sep 21 19:39:56 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 3088 3089 * device.c (device_error): Make it more tolerant to incomplete 3090 devices. 3091 3092 * hw_init.c (hw_data_init_data_callback): Extend the data device 3093 so that it can perform initialization operations either dma or a 3094 more complex instance open, seek, write operation. 3095 * hw_init.c: Update the description of the data device to reflect 3096 this. 3097 3098Sat Sep 21 00:13:02 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 3099 3100 * device.c (device_event_queue_schedule, 3101 device_event_queue_deschedule, device_event_queue_time): Have the 3102 device object export the event operations. Making these available 3103 from the device object should hopefully simplify writing device 3104 models. 3105 3106Fri Sep 20 14:04:40 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 3107 3108 * configure.in (sim-hardware): Add eeprom device to default build. 3109 3110 * hw_eeprom.c: Rewrite so it works. 3111 3112 * debug.h, debug.c: Add tracing support for the eeprom and com 3113 devices. 3114 3115Thu Sep 19 14:40:40 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 3116 3117 * debug.h: Add disklabel-package and disk-device trace options. 3118 debug.h (PTRACE): Add macro to simplify tracing in packages. 3119 3120Thu Sep 19 14:40:40 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 3121 3122 * device.c (device_create_instance_from): Tighten up loop 3123 searching for device instances. 3124 (device_instance_delete): Ditto. 3125 (device_instance_delete): Only leaf instances need to be removed 3126 from a devices list of active instances. 3127 3128Thu Sep 19 14:40:40 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 3129 3130 * hw_disk.c: Add the cdrom as an alias. 3131 3132 * pk_disklabel.c (disklabel_delete): Implement, remembering to 3133 delete the raw disk instance while we're at it. 3134 3135 * pk_disklabel.c (pk_disklabel_create_instance): Implement a 3136 little bit more - still a long way to go. 3137 3138 * pk_disklabel.c (disklabel_write, disklabel_read): Remember the 3139 new head position after a read or write. 3140 3141Thu Sep 19 13:05:40 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 3142 3143 * emul_chirp.c (chirp_emul_read): Allow reads to be longer then 3144 the internal buffer. 3145 3146Thu Sep 19 13:05:40 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 3147 3148 * emul_chirp.c (chirp_read_t2h_args): Call memset-0 with the args 3149 in the correct order. 3150 3151 * emul_chirp.c (chirp_emul_call_method): Correct computation for 3152 the address of the first stack argument passed in from the client 3153 program. 3154 3155Wed Sep 18 19:33:54 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 3156 3157 * words.h: Add new types signed_cell and unsigned_cell which 3158 correspond to the signed and unsigned IEEE 1275 memory locations. 3159 * device.h, device.c, emul_chirp.c: Where refering to an IEEE 1275 3160 memory cell, replace uses of unsigned32 with unsigned_cell. 3161 * device_table.h: Ditto. 3162 3163 * sim-endian.h: Add new macros H2BE_cell and BE2H_cell which 3164 convert cell sized values to from big endian. 3165 * device.c, emul_chirp.c: Where refering to IEEE 1275 memory cells 3166 use these new macros. 3167 3168Tue Sep 17 15:57:44 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 3169 3170 * device.c (device_tree_add_parsed): Detect and report an 3171 interrupt being attached to an invalid device. Was dumping core. 3172 3173Mon Sep 16 23:09:12 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 3174 3175 * device.h, device.c (device_address_to_attach_address, 3176 device_size_to_attach_size): New functions. Convert a devices 3177 unit address or unit size structure into a form suitable for 3178 passing on to the attach and detach functions. 3179 * device_table.h: Add extra methods to device table. 3180 3181 * device.h, device.c (device_find_reg_property): New function. 3182 For a reg type property, return the selected address + size 3183 tupple, along with a positive success status. Add a reg_property 3184 to the list of property types. 3185 * (device_tree_add_parsed): Make array properties with the name 3186 reg or alternate-reg of type reg_property. 3187 3188 * hw_memory.c (hw_memory_init_address): Rewrite to use new 3189 find_reg_property method. 3190 * hw_nvram.c (hw_nvram_init_address): Ditto. 3191 3192 * device.c (device_tree_print_device): Add code to print out a reg 3193 property. 3194 3195 * device_table.c (generic_device_address_to_attach_address, 3196 generic_device_size_to_attach_size ): New functions. Generic 3197 functions for converting between unit and attach address or size. 3198 3199 * device_table.c (generic_device_init_address): Rewrite to use the 3200 new find_reg and address convert functions. Look for both reg and 3201 alternate-reg properties. 3202 3203Mon Sep 16 23:09:12 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 3204 3205 * hw_com.c: New file. A '550 serial device that can quickly be 3206 attached to any bus. 3207 * configure.in (enable-sim-hardware): Add the com device. 3208 * configure: re-generate. 3209 3210Thu Sep 12 17:30:56 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 3211 3212 * device.c (device_tree_verify_reg_unit_address): New 3213 function. Check that the unit address as specified by the reg 3214 property correctly corresponds to any unit address previously 3215 specified by the devices name. 3216 (device_tree_add_parsed): When adding a reg property, verify 3217 that the unit-address - first value of property - correctly 3218 matches any previous value specified when creating the device 3219 node. 3220 3221Thu Sep 12 17:30:56 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 3222 3223 * mon.c (mon_event): Remove assertion that an unsigned is >= 0. 3224 3225Fri Aug 16 12:05:24 1996 Michael Meissner <meissner@tiktok.cygnus.com> 3226 3227 * device.c (device_full_name): Cast strdup to char *, since AIX 3228 3.2.5 mistakenly declares the function to be const char *. 3229 (device_create_from): Ditto. 3230 (device_create_instance_from): Ditto. 3231 (device_add_property): Ditto. 3232 3233Tue Aug 13 11:40:14 1996 Michael Meissner <meissner@tiktok.cygnus.com> 3234 3235 * debug.c (trace_option): For -t all, do not set the 3236 trace_dump_device_tree flag, so that the simulator is run. 3237 3238Tue Aug 13 11:40:14 1996 Michael Meissner <meissner@tiktok.cygnus.com> 3239 3240 * Makefile.in (options.o): Depend on defines.h. 3241 (defines.h): New rule, go through config.h and make strings of all 3242 of the #define HAVE_xxx macros. 3243 (distclean): Remove defines.h. 3244 3245 * options.c (print_options): Print whether many of the 3246 configuration macros are defined. 3247 3248 * main.c (main): If -t options and no filename, just print the 3249 options, and don't print the usage message. 3250 3251Mon Aug 12 18:42:37 1996 Michael Meissner <meissner@tiktok.cygnus.com> 3252 3253 * configure.in: Test whether /dev/zero works on the system, and if 3254 it does, define HAVE_DEVZERO. 3255 * configure: Regenerate. 3256 3257 * emul_generic.c (emul_add_tree_hardware): Do not add /iobus/disk 3258 if we don't have a working /dev/zero on the system. 3259 3260 * emul_bugapi.c (emul_bugapi_init): If HAVE_DEVZERO is not 3261 defined, don't add disk support. 3262 (emul_bugapi_do_diskio): Ditto. 3263 (emul_bugapi_instruction_call): Ditto. 3264 3265Wed Aug 7 14:34:20 1996 Michael Meissner <meissner@tiktok.cygnus.com> 3266 3267 * emul_unix.c (HAVE_TCGETATTR): If HAVE_TERMIOS_STRUCTURE is not 3268 defined, make sure HAVE_TCGETATTR is #undef'ed 3269 3270Wed Aug 7 14:34:20 1996 Michael Meissner <meissner@tiktok.cygnus.com> 3271 3272 * std-config.h (REGPARM): Only define REGPARM attributes if using 3273 GNU C. Test for __i686__ in case GCC ever defines it. If not on 3274 a x86 platform, define REGPARM as nothing. 3275 3276 * sim-endian.h (WITH_HOST_BYTE_ORDER): Test for i686 and __i686__ 3277 also. 3278 3279Wed Aug 7 20:19:55 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 3280 3281 * ld-decode.h, ld-decode.c: Rename goto_gen to the more correct 3282 goto_switch_gen. 3283 * gen-idecode.c: Ditto. 3284 3285 * gen-idecode.c (print_idecode_table): Comment out check for 3286 switch/table combination until a bug with it is fixed. 3287 3288 * ppc-opcode-goto: New file. Like complex and flat but uses 3289 goto-switch instead of padded-switch for the tables. 3290 3291 * gen-idecode.c (print_goto_switch_name): New function. 3292 (print_goto_switch_table_leaf): New function. 3293 (print_goto_switch_break): New function. 3294 (print_goto_switch_table): New function. Prints a jump table 3295 that can be jumped into instead of a switch statement. 3296 3297 * gen-idecode.c (*switch_*): As an option output a switch that is 3298 implemented using a jump table but only if the switch is not 3299 boolean. 3300 3301Tue Aug 6 09:28:22 1996 Michael Meissner <meissner@tiktok.cygnus.com> 3302 3303 * configure.in (--enable-sim-{hardware,packages}): Fix typos. 3304 * configure: Regenerate. 3305 3306 * device.c (device_instance_call_method): Fixup format message in 3307 error case. Return 0 in case of error to shut up compiler 3308 warnings. 3309 3310Wed Aug 7 00:17:37 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 3311 3312 * device_table.c (generic_device_unit_decode): Require a comma 3313 between elements of a unit address. 3314 3315 * device.c (device_tree_print_device): For reg, alternate-reg and 3316 ranges properties use special print functions. 3317 (device_print_ranges_property): Print formatted ranges property. 3318 (device_print_reg_property): Print formatted reg property. 3319 3320Tue Aug 6 21:35:18 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 3321 3322 * device.c (device_tree_add_parsed): For reg, ranges and 3323 alternate-reg properties use a special parser. 3324 (device_tree_parse_reg_property): New function to parse a reg 3325 property. 3326 (device_tree_parse_ranges_property): New function to parse a 3327 ranges property. 3328 (device_encode_unit): Wrapper for encode_unit callback. 3329 (device_decoce_unit): Wrapper for decode_unit callback. 3330 3331Wed Jul 31 00:02:30 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 3332 3333 * device_table.h (device_instance_callbacks): Relace the claim and 3334 release methods with a more general table mapping from method-name 3335 to method-function. 3336 3337 * device.c (device_instance_call_method): New function. Implement 3338 the OpenBoot call-method client interface. Attempts to locate the 3339 instances method in the callback table. 3340 (device_instance_claim, device_instance_release): Delete. 3341 Replaced with call-method and a lookup table. 3342 3343 * emul_chirp.c (chirp_emul_call_method): Use the new device 3344 instance call method and let that handle a client claim call. 3345 3346 * hw_htab.c (claim_memory): Wrapper function to call the memory 3347 devices "claim" method using the new device-instance call-method 3348 interface. Replaces the previous direct calls to claim. 3349 (htab_map_region): Use claim_memory. 3350 (htab_init_data_callback): Ditto. 3351 3352 * hw_memory.c (hw_memory_instance_claim): Update function 3353 interface so that it is compatible with call-method. 3354 (hw_memory_instance_release): Ditto. 3355 (hw_memory_instance_methods): New table of memory specific 3356 methods claim and release. Add to the hw_memory_callback 3357 table. 3358 3359Tue Jul 30 21:26:14 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 3360 3361 * psim.c (psim_init): Back out of change to initial value of 3362 system->last_cpu. 3363 3364Tue Jul 30 21:12:24 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 3365 3366 * sim_callbacks.h (sim_io_printf_filtered): Replace 3367 printf_filtered with a local simulator specific version. Add 3368 #define printf_filtered to simplify updating of existing code. 3369 3370 * sim_callbacks.h (sim_io_write_stdout, sim_io_read_stdin, 3371 sim_io_write_stderr): New functions. Read / write to the 3372 simulations stdin and stdout and stderr interfaces. Merge in code 3373 from hw_pal that previously handled async I/O. 3374 (sim_io_flush_stdoutput): Rename flush_stdoutput. Add #define 3375 flush_stdoutput to simplify updating of existing code. 3376 3377 * hw_pal.c (scan_hw_pal, write_hw_pal, 3378 hw_pal_instance_write_callback): Use the new sim_io functions. 3379 3380 * main.c: Implement standalone versions of the new sim_io 3381 functions. Include support for async I/O. 3382 * sim_calls.c: Ditto. This time using the gdb callback table. 3383 3384 * std-config.h (CURRENT_STDIO, current_stdio): New macro. Set up 3385 stdio configuration so that it works in the same way as the rest 3386 of the simulation. 3387 * psim.c (psim_create): Initialize current_stdio from the device 3388 tree. 3389 * emul_generic.c (emul_add_tree_options): Enter a default value 3390 for use-stdio in the device tree. 3391 3392Fri Jul 26 19:43:03 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 3393 3394 * gen-idecode.c (print_jump): Was always generating a jump back to 3395 idecode. Only necessary at tail of semantic code. 3396 (print_jump): Was always setting the processor's cia, even during 3397 startup when the processor was still undefined. 3398 (print_jump): For safety, restart smp loop when cpu_nr >= nr_cpus, 3399 not just equal. 3400 3401 * options.c (print_options): Add printing of WITH_REGPARM and 3402 WITH_STDCALL. 3403 3404 * std-config.h (WITH_REGPARM, WITH_STDCALL): Provide default 3405 (disabled) values if not defined. 3406 3407Fri Jul 26 00:36:35 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 3408 3409 * ppc-cache-rules (cache): Change RS and RB to cache instead of 3410 compute. The block move instructions use them. 3411 3412 * idecode_expression.h (FPSCR_SET): New macro, set specific FPSCR 3413 register. 3414 (CR_FIELD): New macro, extract specific CR register. 3415 (FPSCR_FIELD): New macro, extract specific FPSCR register. 3416 3417 * registers.h (GPR): New macro, simplify accesses to GPR[i]. 3418 3419 * bits.c (INSERTED): Covert INSERTED macro into a function. 3420 (EXTRACTED): Conditionally compile on correct bit size macro. 3421 3422 * bits.h (BIT8): New macro, set a single bit in an 8 bit byte. 3423 3424 * ppc-instructions: With hints from Paul Martin, type in missing 3425 some instruction semantics. Leave disabled for the moment. 3426 (Load Multiple Word): Ditto. 3427 (Store Multiple Word): Ditto. 3428 (Load String Word Immediate): Ditto. 3429 (Load String Word Indexed): Ditto. 3430 (Store String Word Immedate): Ditto. 3431 (Store String Word Indexed): Ditto. 3432 (Move to Condition Register from XER): Ditto. 3433 (Move From Condition Register): Ditto. 3434 (Move From FPSCR): Ditto. 3435 (Move to Condition Register from FPSCR): Ditto. 3436 (Move To FPSCR Field Immediate): Ditto. 3437 (Move To FPSCR Fields): Ditto. 3438 (Move To FPSCR Bit 0): Ditto. 3439 (Move To FPSCR Bit 1): Ditto. 3440 3441Thu Jul 25 22:10:40 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 3442 3443 * std-config.h (SEMANTICS_INLINE): By default, mask out the 3444 inlining of semantic functions from DEFAULT_INLINE. Almost all 3445 configurations call the semantic code via a pointer so there is 3446 little benefit. 3447 3448 * std-config.h (ICACHE_INLINE): Ditto. 3449 3450Thu Jul 25 20:07:30 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 3451 3452 * configure.in (sim_regparm): Add configuration option for 3453 enabling GCC's regparm attribute. 3454 * (sim_stdcall): Add configuration option for enabling GCC's 3455 stdcall attribute. 3456 3457 * Makefile.in (REGPARM_CFLAGS): Pass regparam configuration onto 3458 compilations. 3459 * (STDCALL_CFLAGS): Pass stdcall configuration onto compilations. 3460 3461 * std-config.h (REGPARM): Extend construction of REGPARM macro so 3462 that it can include __stdcall__ function attribute. 3463 3464Wed Jul 24 19:04:20 1996 Andrew Cagney <cagney@sawnoff> 3465 3466 * options.c (print_options): Include SUPPORT_INLINE in information 3467 dump. 3468 3469 * gen-idecode.c (print_run_until_stop_body): Only generate loop 3470 termination test if creating idecode_run_until_stop. Push the 3471 loop termination test back into each alternative branch. 3472 3473Wed Jul 24 15:47:09 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 3474 3475 * gen-icache.c (print_icache_function): Have the cache function 3476 always update the cache_entries semantic and address fields. 3477 3478 * gen-idecode.c (print_idecode_switch_illegal): Include a break 3479 when generating illegal instructions. This was commented out 3480 which is a hangover from looking a at switch statements generated 3481 using indirect jumps. 3482 3483Tue Jul 23 20:57:01 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 3484 3485 * igen.c (print_my_defines): Replaces print_define_my_index. 3486 Print both a definition for MY_INDEX and MY_PREFIX. 3487 * gen-icache.c (print_icache_function): Adjust. 3488 * gen-idecode.c (print_jump_insn): Adjust. 3489 * gen-semantics.c (print_c_semantic): Adjust. 3490 3491 * gen-support.c (gen_support_h): Add optional include to created 3492 support.h so that, like cpu, it is optionally inlined for all 3493 modules that include it. 3494 * inline.h, inline.c: Adjust so that support.[hc] is handled the 3495 same as cpu.[hc]. 3496 3497 * idecode_fields.h (LABEL, GOTO): Macro's that create a unique 3498 name for a lable and then branch to it. 3499 3500 * ppc-instructions (convert_to_integer, Floating Round to 3501 Single-Precision, Floating Convert from Integer Doubleword): Use 3502 LABEL and GOTO instead of the recently added switch statements. 3503 3504Wed Jul 24 14:02:42 1996 Andrew Cagney <cagney@sawnoff.highland.com.au> 3505 3506 * gen-idecode.c (print_run_until_stop_body): Too many rparen in 3507 generated code. 3508 3509Tue Jul 23 20:57:01 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 3510 3511 * configure.in (--enable-sim-line-nr): Typo - sim_line-nr. 3512 * (--enable-sim-inline): Reorder patern matching of arguments so 3513 that SUPPORT=ALL_INLINE is reconized as *=* and not *_INLINE. 3514 3515 * configure: rebuild. 3516 3517Mon Jul 22 23:25:08 1996 Andrew Cagney <cagney@highland.com.au> 3518 3519 * configure.in (--enable-sim-hardware, --enable-sim-packages): New 3520 configuration options. Let the user specify the packages or 3521 hardware devices that are to be included in the build. Makes it 3522 possible for user packages to be specified. 3523 3524 * Makefile.in (tmp-pk, tmp-hw): Just use the list of packages and 3525 hardware instead of checking it using ls. configure.in should 3526 have taken care of any problems. 3527 (HW_SRC, HW_OBJ, PACKAGE_SRC, PACKAGE_OBJ): Set by configure. 3528 3529Mon Jul 22 22:38:59 1996 Andrew Cagney <cagney@highland.com.au> 3530 3531 * psim.c (psim_options): Enter the argument to the memory size 3532 option directly into the device tree. Was using atol() which is 3533 dangerously non portable. 3534 3535Mon Jul 22 22:17:08 1996 Andrew Cagney <cagney@highland.com.au> 3536 3537 * configure.in (icache): Extend icache flag to include an insn 3538 option. If specifyed the insn - aka instruction - is included in 3539 the instruction cache. Make this the default. 3540 * configure: re-generate. 3541 3542 * igen.c (main), igen.h: Add option -S - inSn - for specifying 3543 that the instruction should be included in the icache. 3544 3545 * gen-icache.c (print_icache_body): If enabled, output code to put 3546 the instruction into the icache. 3547 (print_icache_struct): If enabled, add insn to the icache struct. 3548 3549Mon Jul 22 20:46:12 1996 Andrew Cagney <cagney@highland.com.au> 3550 3551 * Makefile.in (BUILD_CFLAGS): Include -g when building the 3552 generators. 3553 3554Mon Jul 22 20:00:25 1996 Andrew Cagney <cagney@highland.com.au> 3555 3556 * emul_generic.c (emul_add_tree_options): Was incorrectly setting 3557 the strict-alignment option when hardwired for non-strict 3558 alignment. 3559 3560Sun Jul 21 21:18:05 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 3561 3562 * gen-semantics.c: Make the my_index variable a macro MY_INDEX. 3563 3564 * ppc-instructions: Adjust so that references are to MY_INDEX and 3565 not my_index. 3566 3567Sun Jul 21 21:18:05 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 3568 3569 * gen-idecode.c: Output the complete run_until_stop function 3570 instead of just the code to handle a single instruction issue. 3571 * : Have the generated idecode.c include inline.c (instead of psim.c). 3572 3573 * std-config.h: Change psim.c so that it isn't inlined (as this is 3574 no longer needed). 3575 3576 * psim.c (run_until_stop): Delete the old run_until_stop function 3577 instead calling the idecode_run and idecode_run_until_stop 3578 functions that gen-idecode.c is now creating. 3579 3580Sun Jul 21 21:18:05 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 3581 3582 * dgen.c: Maintenance - update to use new features found in lf.c. 3583 3584 * filter_filename.c (filter_filename): Maintenance - make the 3585 string constant. 3586 3587Sun Jul 21 21:18:05 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 3588 3589 * debug.c (TRACE, ITRACE, DTRACE): Have GCC instead of CPP 3590 eliminate trace statements. 3591 3592 * debug.c: Change trace format so that it is consistent 3593 (file:line-nr) with CC's error output. 3594 3595 * gen-itable.c (itable_c_insn): Add the source file name and 3596 source line number to the instruction's informational entry. 3597 3598 * debug.c (ITRACE): Use the itable (and my_index) to get the 3599 current instructions name and source line number. 3600 3601 * gen-semantics.c, gen-icache.c: Adjust generated ITRACE calls to 3602 match new interface. 3603 3604 * emul_bugapi.c (emul_bugapi_instruction_call): Adjust 3605 corresponding call to ITRACE so that it still matches. 3606 3607 * idecode_expression.h (ALU_END, CR0_COMPARE): Use TRACE instead 3608 of ITRACE. The CPP line directives would have previously set the 3609 line-nr and file name so ITRACE isn't needed. 3610 3611Sun Jul 21 21:18:05 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 3612 3613 * gen-idecode.c (print_jump_until_stop_body): New function and 3614 idecode generation option. Instead of generating and calling 3615 separate functions containing the semantic and icache code 3616 generate a single monolythic function and use goto's (and GCC's 3617 indirect jump) to move between code blocks. 3618 3619 * Makefile.in: Add sim_jump flag to those passed to igen. 3620 3621 * configure.in: New option --enable-sim-jump (default disabled) 3622 3623 * ppc-instructions: Eliminate any uses of labels and goto's. 3624 These result in duplicate declarations when a single flat function 3625 is being create. 3626 3627 * ppc-opcode-jump: New file. Set of opcode rules useful when 3628 testing jumping idecodes. 3629 3630Sun Jul 21 21:18:05 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 3631 3632 * gen-idecode.c: Optionally include the semantic code for an 3633 instruction in the function that is doing the decoding. 3634 3635 * igen.c: Add option (-C) to generate semantics in the instruction 3636 decode functions. 3637 3638 * configure.in (--enable-sim-icache): Accept an option list such 3639 as 1024,define. Add a new choice to the list - semantic - which 3640 will cause igen to generate instruction decode functions that 3641 include the corresponding semantic code. 3642 3643Sun Jul 21 21:18:05 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 3644 3645 * configure.in: New option --enable-sim-line-nr (default enabled). 3646 Enable/disable the inclusion of CPP line directives in the 3647 generated files. Such directives refer back to the source files 3648 used when generating the simulator code. 3649 3650 * Makefile.in (sim_line_nr): Pass to igen. 3651 3652Sun Jul 21 21:18:05 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 3653 3654 * igen.c (main): Revamp the options so that more letters are 3655 available. 3656 3657 * configure.in: Adjust to match igen's revamped options 3658 3659Sun Jul 21 21:18:05 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 3660 3661 * Makefile.in (pk.h, hw.h): Rewrite depenencies for hw.h (etc) so 3662 that they use the same technique as igen (ie a dummy targets 3663 tmp-pk and tmp-hw are created). 3664 3665Mon Jun 24 22:28:00 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 3666 3667 * Makefile.in (BUILD_CFLAGS): Include WARNING_CFLAGS. 3668 3669Wed Jun 19 21:45:28 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 3670 3671 * ld-cache.[hc], ld-decode.[hc], ld-insn.[hc]: New files. Separate 3672 out the loading of each of the tables from the rest of igen. 3673 * Makefile.in: Adjust. 3674 * igen.c: Adjust. 3675 3676 * gen-icache.[hc], gen-idecode.[hc], gen-itable.[hc], 3677 gen-model.[hc], gen-semantics.[hc]: New files. Separate out the 3678 code creating each separate set of generated files. 3679 * Makefile.in: Adjust. 3680 * igen.c: Adjust. 3681 3682 * gen-support.[ch]: New files. Output the support functions (found 3683 in the ppc-instructions file) into a separate file. 3684 * Makefile.in: Add. 3685 * inline.h, inline.c: Add. 3686 * std-config.h: Add. 3687 3688 * ld-cache.c: Re-design the cache table format. 3689 * ppc-cache-rules: Update to new format. 3690 3691 * ld-decode.c: Re-design the decode table format. 3692 * ppc-opcode-simple: Update to new format 3693 * ppc-opcode-complex: Ditto 3694 * ppc-opcode-flat: Ditto 3695 3696 * filter.h, filter.c: New files. Separate the opcode filter table 3697 reading code from the rest of igen.c. Re-design the filter so that 3698 it works inclusivly not exclusivly. 3699 * igen.c: Remove the opcode filter table loading code. 3700 * Makefile.in (filter.o): Adjust 3701 * configure.in: Adjust filter flag so that default includes 32bit 3702 and floating point. 3703 * ppc-instructions: Clean up filter fields so that only in use 3704 entries are specified (ie delete `be'). 3705 3706 * misc.c (name2i, i2name): New function. Map between a string and 3707 an integer value. 3708 3709Mon Jun 17 20:08:03 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 3710 3711 * sim_calls.c (sim_close): If simulator not created, skip printing 3712 of run information. 3713 3714Mon Jun 17 20:08:03 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 3715 3716 * registers.c (register_description): Typo, insns not insn. 3717 3718 * ppc-instructions (model_get_number_of_stalls): New model function, 3719 returns number of stalls for the specified processor. 3720 * psim.c (psim_read_register): Add call to new function 3721 model_get_number_of_stalls(). 3722 3723 * ppc-instructions (model_get_number_of_cycles): New model function, 3724 returns number of stalls for the specified processor. 3725 * psim.c (psim_read_register): Add call to new function 3726 model_get_number_of_cycles(). 3727 3728Fri Jun 14 00:11:56 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 3729 3730 * device_table.h: Don't pass the parent device into a devices 3731 create function. This makes the create function consistent with 3732 the documentation. 3733 * device.c (device_template_create_device): Ditto 3734 * hw_pal.c (hw_pal_create): Ditto 3735 * hw_core.c (hw_core_create): Ditto 3736 * hw_vm.c (hw_vm_create): Ditto 3737 * hw_disk.c (hw_disk_create): Ditto 3738 * hw_nvram.c (hw_nvram_create): Ditto 3739 * hw_memory.c (hw_memory_create): Ditto 3740 * hw_cpu.c (hw_cpu_create): Ditto. 3741 3742 * device.c (split_find_device): Allow a null initial parent device. 3743 (device_template_create_device): Ditto. 3744 3745 * device.c (device_create_from): Make local (static) only used 3746 within device.c. 3747 * device_table.h: typedef device_callbacks moved here (from 3748 device.h) where it belongs. 3749 3750 * hw_core.c: New file. Implements just the core device using the 3751 core object. 3752 3753 * corefile.c: Moved all core device functions into the new 3754 hw_core.c file. core_device_create() disapears. 3755 3756 * psim.c (psim_tree): Use device_tree_add_parsed() to create the 3757 core device. 3758 3759Thu Jun 13 00:09:29 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 3760 3761 * hw_init.c: Correct typo in comment. 3762 3763 * corefile.c (core_init): Remove any remaining references to a 3764 default map. 3765 (core_map_find_mapping): Ditto. 3766 3767Wed Jun 12 22:30:32 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 3768 3769 * corefile.c (core_init): Make function global so that other 3770 devices are able to use the full core object. 3771 3772 * corefile.c (core_create, core_from_device): Break core_create 3773 into two functions. The first creates a core object, the second 3774 returns the core object associated with a core device. 3775 3776 * corefile.c (core_device_create): Use core_create to make the 3777 core object. 3778 3779 * psim.c (psim_create): Use core_from_device() instead of 3780 core_create(). 3781 3782 * device.c (device_template_create_device): Make static as only 3783 needed by functions internal to device.c. 3784 3785Fri Jun 7 23:47:18 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 3786 3787 * ppc-opcode-test-2: Remove description of fields. 3788 * ppc-opcode-complex: Ditto 3789 * ppc-opcode-flat: Ditto 3790 * ppc-opcode-simple: Ditto 3791 * ppc-opcode-stupid: Ditto 3792 * ppc-opcode-test-1: Ditto 3793 * ppc-cache-rules: Ditto 3794 3795 * igen.c: Add description of files as a comment at the front. 3796 3797Wed Jun 26 12:50:33 1996 Michael Meissner <meissner@tiktok.cygnus.com> 3798 3799 * configure.in: Check for whether the termios and termio 3800 structures are really defined, and whether or not, they define the 3801 c_line field. 3802 * configure: Regenerate. 3803 3804 * Makefile.in ({,TERMIO_}CFLAGS): Add TERMIO_CFLAGS options set by 3805 configure. 3806 3807 * emul_unix.c: Various changes to allow for building on systems 3808 with different termio and termios structures. If host has both 3809 termio and termios, just use termios. No longer include 3810 sys/ioctl.h. 3811 3812Wed Jun 26 12:26:55 1996 Jason Molenda (crash@godzilla.cygnus.co.jp) 3813 3814 * Makefile.in (bindir, libdir, datadir, mandir, infodir, includedir, 3815 INSTALL_PROGRAM, INSTALL_DATA): Use autoconf-set values. 3816 (docdir): Removed. 3817 * configure.in (AC_PREREQ): autoconf 2.5 or higher. 3818 (AC_PROG_INSTALL): Added. 3819 * configure: Rebuilt. 3820 3821Wed Jun 5 23:53:42 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 3822 3823 * corefile.h: Rewrite documentation so that it can be extracted and 3824 converted into texinfo (and hence ready for translation into html, 3825 tex or nroff). 3826 * device.h: Ditto 3827 3828Thu Jun 6 09:52:37 1996 Michael Meissner <meissner@tiktok.cygnus.com> 3829 3830 * hw_disk.c (SEEK_SET): If SEEK_SET is not defined, define as 0. 3831 3832Wed Jun 5 11:46:52 1996 Andrew Cagney <cagney@puddin> 3833 3834 * hw_disk.c: Include <unistd.h> if available. Under SunOS, that 3835 is the source of SEEK_SET. 3836 3837Wed Jun 5 01:39:07 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 3838 3839 * psim.c (psim_options): Correct type of dummy arguments being 3840 passed to a device_ioctl call. 3841 3842 * hw_init.c (hw_data_init_data_callback): Adjust printf arguments. 3843 (write_stack_arguments): Ditto. 3844 * hw_trace.c: Instance callback entry no longer a table. 3845 3846Wed Jun 5 01:39:07 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 3847 3848 * emul_unix.c (do_unix_umask): Cast printf argument. 3849 (convert_to_linux_termios): Use LINUX_VSWTC not LINUX_VSWCH 3850 3851Mon Jun 3 15:02:04 1996 Michael Meissner <meissner@tiktok.cygnus.com> 3852 3853 * hw_init.c (update_for_binary_section): Abort if we find an 3854 .interp section, which indicates the need for shared libraries to 3855 be loaded. 3856 3857Mon Jun 3 15:02:04 1996 Michael Meissner <meissner@tiktok.cygnus.com> 3858 3859 * emul_unix.c (do_unix_{time,gettimeofday,getrusage}): Add support 3860 for time, gettimeofday, and getrusage system calls. 3861 ({solaris,linux}_descriptors): Add new system calls. 3862 (do_get{,e}{uid,gid}): Use gid_t/uid_t types. 3863 (do_get{,p}pid): Use pic_t types. 3864 3865 * configure.in (AC_TYPE_{GETGROUPS,SIGNAL}): Define. 3866 (AC_TYPE_{MODE,OFF,PID,SIZE,UID}_T): Define. 3867 * config{.in,ure}: Regenerate. 3868 3869Mon Jun 3 23:19:57 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 3870 3871 * emul_netbsd.c (emul_netbsd_create): Use the more specific names 3872 `ppc-elf' and `ppc-xcoff' for the stack-type. 3873 * emul_unix.c (emul_unix_create): Ditto. 3874 * emul_bugapi.c (emul_bugapi_create): Ditto. 3875 * hw_init.c: Reconize the new names. 3876 3877 * emul_unix.c (do_unix_break): Adjust so that the updated ioctl 3878 call is used (no system parameter). 3879 3880Sun Jun 2 11:21:17 1996 Michael Meissner <meissner@tiktok.cygnus.com> 3881 3882 * emul_unix.{h,c}: New files to provide Solaris and Linux system 3883 call emulations. 3884 3885 * Makefile.in (LIB_{SRC,OBJ}): Add emul_unix.{c,o}. 3886 (os_emul.o): Depend on emul_unix.h. 3887 (emul_unix.o): New dependency. 3888 3889 * configure.in (--enable-sim-alignment): Add 0|default to mean set 3890 alignment to 0, which means use appropriate alignment for mode. 3891 (AC_CHECK_FUNCS): Add new functions needed by emul_unix.c. 3892 (AC_CHECK_HEADERS): Add new include files needed by emul_unix.c. 3893 * config.in: Regenerate. 3894 * configure: Regenerate. 3895 3896 * emul_generic.c (emul_write2_status): New function to return 3897 results in r3 and r4 for Solaris system calls. 3898 (emul_do_system_call): If the system call is not support, but 3899 there is a string for the system call name, print out the string 3900 instead of the system call number. 3901 3902 * emul_generic.h (emul_write2_status): Declare it. 3903 3904 * emul_netbsd.c: Use /* */ around comment on #endif. 3905 3906 * os_emul.c: Include emul_unix.h. 3907 (os_emulations): Add emulations for Solaris, and Linux. 3908 3909 * psim.c (psim_usage): Add message about solaris, linux 3910 emulations. 3911 3912Thu May 30 00:00:10 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 3913 3914 * hw_iobus.c: Tidy up notes so that they can be auto-extracted. 3915 3916 * README: Correct PSIM's title 3917 3918Wed May 29 23:50:26 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 3919 3920 * basics.h: New global type object_disposition, used to indicate 3921 the status of objects when things are restarted. 3922 3923Fri May 17 17:28:52 1996 Andrew Cagney <cagney@benjimen.highland.com.au> 3924 3925 * device_table.h: Change the interrupt descriptor structure so 3926 that it includes an additional member - an upper bound on the 3927 interrupts by that name. 3928 3929 * device.c (device_interrupt_decode): Allow a range of interrupt 3930 ports (eg rst0 .. rst6) if the port descriptors bound is non zero. 3931 3932 * device.c (device_tree_print_device): Include a list of valid 3933 interrupt ports when listing supported devices. 3934 3935 * device.h, device.c (device_child_interrupt_*): Delete. Not used. 3936 3937 * emul_generic.c (emul_add_tree_hardware): Modify the creation of 3938 the interrupt net so that it uses int0 .. intN. 3939 3940Tue May 14 23:03:53 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 3941 3942 * device.h, device.c (device_ioctl): Drop the system argument. 3943 Devices can not obtain this using the device_system() call. 3944 * device_table.h: Adjust accordingly. 3945 * hw_*.c: Adjust accordingly. 3946 * emul_netbsd.c (do_break): Adjust call to vm device accordingly. 3947 * psim.c (psim_options): Use a device_ioctl call to force the 3948 hw_trace device to update the trace options. 3949 * hw_trace.c: Replace the init function with an ioctl call. Adjust 3950 doc accordingly. 3951 3952 * psim.c (psim_init): Re-order initialization so that the 3953 os-emulation is initialized after the device tree. Without this, 3954 os-emul's are not able to create instances or access properties 3955 that contain an instance handle. 3956 3957 * device.h, device.c (device_add_*_property): Make these functions 3958 internal to device.c. The user has access to the more generic 3959 device_tree_add_parsed function. Differentiate between the initial 3960 and current value for each property. 3961 * (clean_device_properties): New function that deletes any 3962 properties created after the start of a simulation and restores 3963 the initial value of any others (ignoring ihandles). 3964 * (init_device_properties): (Re)Initialize any properties that 3965 contain ihandles. create 3966 3967 * (device_tree_init): Include calls to clean the device tree's 3968 properties and then initialize them. Document this in the device.h 3969 file. 3970 3971Mon May 6 17:36:15 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 3972 3973 * interrupts.c (decrementer_interrupt): Always pend a decrementer 3974 interrupt even if it is not yet possible to deliver it. 3975 3976Wed May 1 12:26:51 1996 Andrew Cagney <cagney@benjimen> 3977 3978 * mon.h, mon.c (mon_get_number_of_insns): Make this externally 3979 visable adjusting the arguments so that the interface is correct. 3980 (mon_print_info): Adjust calls. 3981 3982 * registers.h, registers.c (register_description): Add phony 3983 cycle, insn and stall registers. 3984 3985 * psim.c (psim_read_register): Return nr of instructions for given 3986 processor. 3987 3988Tue Apr 30 22:09:09 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 3989 3990 * hw_htab.c: New file. Extract contents from disk_table.c. 3991 Contains a device that, during initialization will create a 3992 PowerPC htab in memory. 3993 * hw_register.c: New file. Extract contents from disk_table.c. 3994 Contains a device that, during initialization, will parse its 3995 property list and use that to initialize various processor 3996 registers (not target specific). 3997 * hw_vm.c: New file. Extract contents from disk_table.c. Contains 3998 a device that handles accesses to invalid virtual memory addresses 3999 (in user mode). 4000 * hw_init.c: New file. Extract contents from disk_table.c. Misc 4001 devices that can initialize memory from a file. 4002 * hw_trace.c: New file. Extract contents from disk_table.c. 4003 Configure trace options from property values. 4004 4005 * Makefile.in (hw_htab.o, hw_register.o, hw_vm.o, hw_init.o, 4006 hw_trace.c): Add new device files. 4007 4008 * device_table.c: Remove above code, now in separate independant 4009 files. 4010 4011Fri Apr 26 00:00:07 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 4012 4013 * hw_disk.c: New file. Disk and CDROM device. 4014 4015 * Makefile.in (hw_disk.o): Add device hw_disk.c. 4016 4017 * pk_disklabel.c: New file. Implement the miss-named disk-label 4018 package. 4019 4020 * Makefile.in (pk.h): Create the file pk.h that contains a list of all 4021 the packages. 4022 4023 * Makefile.in (hw.h, hw.c): Add dependancy on Makefile so that 4024 they are re-created when the makefile is updated. 4025 4026 * emul_generic.c (emul_add_tree_hardware): Add a disk device 4027 (below the iobus) to the device tree. Include an ihandle of 4028 the disk as /chosen/disk. 4029 4030 * emul_bugapi.c (emul_bugapi_create): Don't initialize the input, 4031 output and (new) disk handles yet. 4032 * (emul_bugapi_init): Initialize the input, output (and just added) 4033 disk ihandles here. 4034 * (emul_bugapi_do_diskio): New. Performs disk i/o (well at least 4035 what I think the behavour is). 4036 * emul_bugapi.c (emul_bugapi_instruction_call): Add hook to disk 4037 i/o bug call. For RETURN call, exit using gpr[3]'s status even 4038 though this isn't part of the spec - makes it possible for machine 4039 code to signal the aporting of a simulation run. 4040 4041 * emul_chirp.c (chirp_emul_call_method): Add support for the 4042 claim/release methods. 4043 * (chirp_emul_exit): Add an optional exit status argument to 4044 the exit method. Makes it possible for chirp emul simulations 4045 to abort upon an error. 4046 * device.h, device.c (device_instance_claim, 4047 device_instance_release): New methods for claiming and releasing 4048 memory. 4049 * hw_memory.c: add claim and release memory methods. 4050 * hw_*: Use the claim memory method when allocating physical 4051 memory. 4052 4053Thu Apr 18 23:38:10 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 4054 4055 * hw_nvram.c (hw_nvram_update_clock): Use the current not previous 4056 time when updating the clock. 4057 4058 * hw_nvram.c: Tidy up documentation 4059 4060Fri May 24 10:08:10 1996 Michael Meissner <meissner@tiktok.cygnus.com> 4061 4062 * configure.in (AC_STRUCT_ST_{BLKSIZE,BLOCKS,RDEV}): Use these 4063 macros to determine whether or not the appropriate st_<xxx> fields 4064 exist in the stat structure. 4065 (AC_CHECK_FUNCS): Check for all unix system calls used, except for 4066 the real basic ones like open, read, write, etc. 4067 * config{.in,ure}: Regenerate. 4068 4069 * emul_netbsd.c: Add support for missing system calls, and/or 4070 missing stat fields. 4071 (MAXPATHLEN): Undefine if including unistd.h, since sys/param.h 4072 might define it. 4073 4074 * hw_pal.c (WITH_STDIO): Redefine if O_NDELAY, F_GETFL, or F_SETFL 4075 are not defined. 4076 (scan_hw_pal): Do not cause syntax error if O_NDELAY, F_GETFL, or 4077 F_SETFL not defined. 4078 4079Tue May 21 17:24:45 1996 Michael Meissner <meissner@tiktok.cygnus.com> 4080 4081 * emul_netbsd.c (write_stat): Don't convert st_blocks unless the 4082 host is netbsd. 4083 4084Thu May 16 10:56:45 1996 Michael Meissner <meissner@tiktok.cygnus.com> 4085 4086 * configure.in (AC_CHECK_HEADERS): Add sys/ioctl.h. 4087 * config{.in,ure}: Regenerate. 4088 * emul_netbsd.c: If HAVE_SYS_IOCTL_H is not defined, don't include 4089 sys/ioctl.h. 4090 4091Tue May 7 17:28:12 1996 Michael Meissner <meissner@tiktok.cygnus.com> 4092 4093 * hw_pal.c (hw_pal_instance_read_callback): Remove unused 4094 variable. 4095 4096 * misc.c ({,target_}a2i): Rewrite to not use strtoul. 4097 4098 * Makefile.in ({spreg,misc}.o): Add dependency on .c file. 4099 ({i,d}gen): Don't link in liberity. Use BUILD_LIBS instead of 4100 LIBS. 4101 4102Mon May 6 11:31:43 1996 Michael Meissner <meissner@tiktok.cygnus.com> 4103 4104 * hw_pal.c (hw_pal_instance_read_callback): If using stdio, use 4105 fgets to read line. If not using stdio, do a simple blocking read 4106 of len bytes. 4107 4108Fri May 3 15:07:42 1996 Michael Meissner <meissner@tiktok.cygnus.com> 4109 4110 * Makefile.in: Correctly build simulator for build machine != host 4111 machine. 4112 4113Tue Apr 30 18:46:05 1996 Michael Meissner <meissner@tiktok.cygnus.com> 4114 4115 * configure.in (--enable-hostendian): Rework so the default uses 4116 the AC_C_BIGENDIAN results. Only run AC_C_BIGENDIAN if not cross 4117 compiling. 4118 * configure: Regenerate. 4119 4120 * sim-endian.h: Add more tests for host endian to support more 4121 platforms in a cross compilation environment. 4122 4123Wed Apr 17 14:38:06 1996 Michael Meissner <meissner@tiktok.cygnus.com> 4124 4125 * hw_pal.c ({scan,write}_hw_pal): If WITH_STDIO == DO_USE_STDIO, 4126 use stdio, instead of unpended read/printf_filtered. 4127 (hw_pal_instance_write_callback): If WITH_STDIO == DO_USE_STDIO, 4128 flush stdout after writing the characters. 4129 4130 * options.c (print_options): Print out WITH_STDIO. 4131 4132 * Makefile.in (STDIO_CFLAGS): Pass on result of @sim_stdio@ 4133 configuration variable. 4134 (CONFIG_CFLAGS): Include STDIO_CFLAGS. 4135 (hw.{c,h}): Allow for source dir != build dir, and for HW_SRC 4136 files to contain directory pieces. 4137 4138 * std-config.h (DO{,NT}_USE_STDIO): New flags for whether we 4139 should use stdio for console input. 4140 (WITH_STDIO): If not defined, define as DONT_USE_STDIO. 4141 4142 * configure.in (--enable-sim-stdio): Add new switch to control 4143 whether stdio is used for console I/O. 4144 * configure: Regenerate. 4145 4146 * interrupts.c (external_interrupt): Declare it to be 4147 INLINE_INTERRUPTS, not INLINE_CPU. 4148 4149Mon Apr 15 23:30:56 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 4150 4151 * events.c (insert_event_entry): Allow events to be scheduled 4152 *NOW* (at delta time 0). Add assertions to clarify behavour of 4153 event queue. 4154 4155 * events.c (update_time_from_event): New function. Calculates the 4156 number of ticks from the next event. Use this. 4157 4158Sun Apr 14 21:39:45 1996 Andrew Cagney <cagney@highland.com.au> 4159 4160 * emul_netbsd.c (do_break): Return 0 if success (instead of 4161 adjusted break). 4162 4163 * device_table.c (vm_ioctl_callback): Don't return adjusted break 4164 (isn't needed). 4165 4166Sun Apr 14 21:32:41 1996 Andrew Cagney <cagney@highland.com.au> 4167 4168 * device_table.h: Change type of the device ioctl so that it 4169 returns an int (status). 4170 * device.h (device_ioctl): Ditto. 4171 * device.c (device_ioctl): Ditto. 4172 4173 * device_table.c (stack_ioctl_callback): Return 0 status. 4174 (vm_ioctl_callback): Ditto 4175 4176Sat Apr 13 00:00:24 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 4177 4178 * emul_netbsd.c (do_read): Correctly set the return value. 4179 (do_getpid): Ditto. 4180 (do_getuid): Ditto. 4181 (do_geteuid): Ditto. 4182 (do_dup): Ditto. 4183 (do_getegid): Ditto. 4184 (do_getgid): Ditto. 4185 (do_sigprocmask): Ditto. 4186 (do_umask): Ditto. 4187 (do_dup2): Ditto. 4188 (do_gettimeofday): Ditto. 4189 (do_getrusage): Ditto. 4190 (do_fstat): Ditto. 4191 (do_stat): Ditto. 4192 (do_lseek): Ditto. 4193 (do___sysctl): Ditto. 4194 4195Fri Apr 12 20:56:47 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 4196 4197 * device_table.c (vm_ioctl_callback): Don't access the processor 4198 registers directly, instead leave it to the caller to handle this. 4199 4200 * emul_netbsd.c (do_break): Which calls vm_ioctl_callback to 4201 perform a break. Pass in the new break value and set the 4202 registers according to the result. 4203 4204 * emul_generic.c (emul_write_status): Change so that r3 contains 4205 either status or errno and failure is indicated by SO. 4206 4207Thu Apr 4 23:03:38 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 4208 4209 * emul_bugapi.c (emul_bugapi_create): More strict check of OEA 4210 address. 4211 4212Thu Apr 4 20:58:05 1996 Andrew Cagney <cagney@highland.com.au> 4213 4214 * interrupts.h (interrupts): New structure contains state of 4215 pending interrupts. 4216 4217 * cpu.c (cpu_interrupts): New function. Pending interrupt status 4218 in the cpu and grant access to it. Add interrupts to cpu 4219 structure. 4220 4221Fri Mar 29 22:09:25 1996 Andrew Cagney <cagney@highland.com.au> 4222 4223 * device.c (device_tree_add_parsed): Check that the creation of a 4224 device instance worked before using it. 4225 4226 * psim.c (psim_halt): Remove cia argument from psim_halt. This 4227 function does not save the CIA so do not pass it in. 4228 4229Fri Mar 29 21:30:56 1996 Andrew Cagney <cagney@highland.com.au> 4230 4231 * hw_pal.c (hw_pal): Merge the halt and icu and console devices 4232 found in device_table.c into a single hack pal. 4233 4234 * device_table.c (halt, icu, console): Delete. 4235 4236 * Makefile.in (hw_pal.o): New dependency. 4237 4238 * emul_generic.c (emul_add_tree_hardware): Re-arange device tree 4239 so that it uses the pal instead of the icu/halt/console devices. 4240 Wire the pal's interrupt ports up to the cpu nodes. 4241 4242Fri Mar 29 20:17:17 1996 Andrew Cagney <cagney@highland.com.au> 4243 4244 * hw_iobus.c (hw_iobus_attach_address_callback): Move from 4245 device_table.c to here. 4246 4247 * Makefile.in (hw_iobus.o): New dependency. 4248 4249Fri Mar 29 12:17:58 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 4250 4251 * emul_bugapi.c (_os_emul_data): Add fields for output, input. 4252 (emul_bugapi_create): Create input, output from /chosen/stdin and 4253 /chosen/stdout. 4254 (emul_bugapi_do_{read,write}): Switch to use device_instance 4255 interface. 4256 (emul_bugapi_instruction_call): Change calls to 4257 emul_bugapi_do_{read,write} to pass device instance argument. 4258 4259Tue Mar 26 14:57:58 1996 Michael Meissner <meissner@tiktok.cygnus.com> 4260 4261 * igen.c (idecode_switch_end): Fix 2/26 change so that an extra 4262 default is not written out if a default was already written. 4263 4264 * psim.c (psim_{read,write}_register): Use sizeof unsigned_8 to 4265 size cooked_buf, not sizeof natural_word, since floating point 4266 registers are 8 bytes. 4267 4268Mon Mar 25 22:07:13 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 4269 4270 * configure: Regenerate with autoconf 2.9. 4271 4272Thu Mar 21 00:14:26 1996 Andrew Cagney <cagney@highland.com.au> 4273 4274 * device_table.h: Always include string headers. 4275 4276Thu Mar 21 00:06:09 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 4277 4278 * main.c (error): Be careful to not try to print out statistics 4279 when the simulation was never created. 4280 4281Sun Mar 17 22:40:57 1996 Andrew Cagney <cagney@highland.com.au> 4282 4283 * basics.h: Move the event queue's definition to here so that it 4284 can be refered to globally with out importing all of events.h. 4285 4286 * psim.h, psim.c (psim_event_queue): New function. Grant access 4287 to the simulation event queue. Will make this the single point of 4288 access (there is after all only one event queue in the 4289 simulation). 4290 4291 * cpu.c (cpu_create): Use psim_event_queue to obtain the event 4292 queue instead of it being passed in. No longer allow access to 4293 the cpu's copy of the event queue. 4294 4295Sun Mar 17 22:40:57 1996 Andrew Cagney <cagney@highland.com.au> 4296 4297 * events.h, events.c (event_handler): Remove event_queue from 4298 arguments passed to an event handler. That argument is redundant 4299 - the `data' should refer to a data structure that contains the 4300 event queue if queing is needed. 4301 4302 * cpu.c (cpu_decrement_event): adjust 4303 4304 * events.c (event_queue_process): adjust 4305 4306Sun Mar 17 22:40:57 1996 Andrew Cagney <cagney@highland.com.au> 4307 4308 * device.h, device.c (device_system): New, returns a handle for 4309 the system given the device. 4310 4311 * device.c (device_address_init): Store a pointer back to the 4312 system in each devices node. 4313 4314 * device_table.h: Don't pass `system' into each device when it is 4315 being initialized, this is now available using device_system(me). 4316 4317 * device.c (device_address_init, device_data_init): Adjust. 4318 4319 * hw_cpu.c, hw_nvram.c, hw_memory.c, hw_eeprom.c, device_table.c: 4320 Adjust. 4321 4322Sun Mar 17 22:40:57 1996 Andrew Cagney <cagney@highland.com.au> 4323 4324 * interrupts.c (decrementer_interrupt, external_interrupt): 4325 Remember that an interrupt wasn't delivered so that it can be 4326 tried again later. 4327 4328 * interrupts.c (check_masked_interrupt): New function. (re) 4329 checks for the posibility that a recent change to the MSR may have 4330 made it possible to deliver an interrupt that was previously 4331 masked be the EE bit. 4332 4333 * ppc-instructions (mtmsr, mfmsr, rfi): Check for posibility of 4334 a pending interrupt being delivered using check_masked_interrupt(). 4335 4336 * cpu.c (cpu_decrement_event): Just call decrementer_interrupt() 4337 leaving it to that module to handle both interrupt synchronization 4338 and masking. 4339 4340 * cpu.c (struct _cpu): remove variables that were going to record 4341 pending decrementer and external interrupts. 4342 4343Sun Mar 17 22:40:57 1996 Andrew Cagney <cagney@highland.com.au> 4344 4345 * hw_cpu.c, hw_cpu.h: New files. Implement a device that sits 4346 between the interrupt controller and the simulators internal 4347 processor model. Maps device interrupts onto the processor 4348 interrupt function calls. 4349 4350Mon Mar 4 06:06:54 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 4351 4352 * hw_nvram.c: NVRAM device that includes a real-time clock that is 4353 updated each second. 4354 4355Mon Mar 4 04:18:50 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 4356 4357 * device.h (attach_type): Remove attach_default type address 4358 spaces. Will replace with levels of callback memory. 4359 4360 * corefile.h, corefile.c (new_core_mapping), corefile.c 4361 (core_map_attach): Replace default attach with a layerd callback 4362 approach. 4363 4364Sun Mar 3 03:58:46 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 4365 4366 * device.c (split_property_specifier): ensure that only a single 4367 property is found. 4368 (split_value): New function, parses the value part of a device 4369 spec. 4370 4371 * device.c (device_tree_add_parsed): Use the interrupt conversion 4372 functions to determine the interrupt port numbers. 4373 4374 * device_table.h: Add table that maps between an interrupts 4375 symbolic name and its port number. 4376 4377 * device.h, device.c (device_interrupt_decode, 4378 device_interrupt_encode): new functions use the recently added 4379 interrupt port name/number tables to perform conversion. 4380 4381Sun Mar 3 03:23:59 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 4382 4383 * device.h, device.c (device_set_array_property, 4384 device_set_boolean_property, device_set_ihandle_property, 4385 device_set_integer_property, device_set_string_property): New 4386 functions - allow the value of a given property to be changed. 4387 4388 * device.h, device.c: Re-order declaration and definition of 4389 property functions. 4390 4391Sun Mar 3 03:10:22 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 4392 4393 * device.c (device_tree_print_device, device_tree_add_parsed): 4394 Remove references to phandle properties. 4395 4396Wed Feb 28 00:43:07 1996 Andrew Cagney - aka Noid <cagney@highland.com.au> 4397 4398 * Makefile.in (corefile.o): missing dependency on device_table.h 4399 etc. 4400 4401Tue Feb 27 23:59:35 1996 Andrew Cagney - aka Noid <cagney@highland.com.au> 4402 4403 * device_table.h: Revamp device init callbacks so that they are a 4404 sub structure. 4405 * device.c (device_init_data, device_init_address): If an init 4406 callback is NULL assume it should do nothing. 4407 * device_table.c (ignore_device_init, unimp_device_init): delete 4408 as redundant. 4409 * device_table.c, hw_memory.c: adjust. 4410 4411 * (io): ditto. 4412 * (dma): ditto. 4413 * (device_instance): ditto. 4414 * (ioctl): ditto. 4415 * (address nee config_address): ditto. 4416 * (interrupt): ditto. 4417 4418Mon Feb 26 21:11:20 1996 Andrew Cagney - aka Noid <cagney@highland.com.au> 4419 4420 * igen.c (idecode_switch_end): Output a default entry when the 4421 switch statement is perfect. Firstly stops GCC complaining about 4422 an incomplete switch and secondly it will be eliminated by a good 4423 compiler any way. 4424 4425Mon Feb 26 22:47:15 1996 Andrew Cagney - aka Noid <cagney@highland.com.au> 4426 4427 * Makefile.in (hw.h, hw.c): New targets. Create from the list of 4428 hw_*.c files. hw.h declares a device descriptor table for each hw 4429 device while hw.c lists those tables in a form suitable for the 4430 construction of a top leveltable in device_table.c. 4431 4432 * Makefile.in (device_table.o): now depends on hw.c a generated 4433 table of hw. 4434 4435 * device_table.c (device_table): Re-arange the table of devices so 4436 that two levels are possible. Make use of hw.c. 4437 * device_table.h: ditto. 4438 4439 * device.c (device_template_create_device): Handle new two level 4440 device lookup table. 4441 * device.c (device_usage): ditto. 4442 4443Mon Feb 26 22:24:00 1996 Andrew Cagney - aka Noid <cagney@highland.com.au> 4444 4445 * device_table.c: Delete the memory device (moved to hw_memory.c). 4446 4447 * hw_memory.c: New file. Just an OpenBoot memory device. 4448 4449Wed Jan 17 21:47:34 1996 Andrew Cagney <cagney@highland.com.au> 4450 4451 * device.c (device_init_address): New. Split initialization into 4452 two stages, address and address spaces 4453 * device.c (device_init_data): New. ... and data or other work. 4454 With out this, devices try to modify memory before it as been 4455 attached. 4456 4457 * device.c (device_tree_init): Update to perform staged 4458 initialization. 4459 4460 * device.c (device_init): Delete. 4461 4462Wed Jan 17 21:43:09 1996 Andrew Cagney <cagney@highland.com.au> 4463 4464 * device_table.c (data_*): Rewrite to make heaver use of property 4465 nodes. Allow initialization by different data types. 4466 * device_table.c (htab_* pte_*): Rewrite to use properties. 4467 4468 * emul_chirp.c (emul_chirp_create): Use 4469 * emul_bugapi.c (emul_bugapi_create): Ditto 4470 * emul_netbsd.c (emul_netbsd_create): Ditto 4471 4472Wed Jan 17 21:24:50 1996 Andrew Cagney <cagney@highland.com.au> 4473 4474 * emul_generic.c (emul_add_tree_options): Annotate existing tree 4475 with options that haven't yet been specified. 4476 * emul_generic.c (emul_add_tree_hardware): Annotate existing tree 4477 with demo devices and properties. 4478 4479 * emul_chirp.c (emul_chirp_create): Update to use new 4480 device_tree_add_parsed call and additional information now 4481 included in the device tree. Use emul_add_tree* functions to add 4482 any missing details. 4483 * emul_bugapi.c (emul_bugapi_create): Ditto 4484 * emul_netbsd.c (emul_netbsd_create): Ditto 4485 4486Wed Jan 17 21:18:27 1996 Andrew Cagney <cagney@highland.com.au> 4487 4488 * device.c (device_instance_create): New. Create/delete and 4489 operate on instances of a device. 4490 * device.c (device_instance_delete): Ditto 4491 * device.c (device_instance_read): Ditto 4492 * device.c (device_instance_write): Ditto 4493 * device.c (device_instance_seek): Ditto 4494 * device.c (device_instance_data): Ditto 4495 * device.c (device_instance_name): Ditto 4496 * device.c (device_instance_path): Ditto 4497 4498 * emul_chirp.c (chirp_emul_open): Implement using device_instance. 4499 * emul_chirp.c (chirp_emul_close): Ditto 4500 * emul_chirp.c (chirp_emul_read): Ditto 4501 * emul_chirp.c (chirp_emul_write): Ditto 4502 * emul_chirp.c (chirp_emul_seek): Ditto 4503 4504 * emul_chirp.c (chirp_read_t2h_args): Read arguments from device. 4505 Being careful to convert all from target to host byte order. 4506 * emul_chirp.c (chirp_write_h2t_args): Converse. 4507 4508Wed Jan 17 20:07:15 1996 Andrew Cagney <cagney@highland.com.au> 4509 4510 * device.c (device_tree_add_parsed): New. Rewrite code to add 4511 devices to the device tree so that a single printf style function 4512 is used. 4513 4514 * device.c (device_tree_add_*): Delete. Replaced by above. 4515 4516 * device.c (split_device_specifier): Functions to manipulate a 4517 device specifier (path) breaking it into its components 4518 * device.c (split_property_specifier): Ditto 4519 * device.c (split_device_name): Ditto 4520 * device.c (split_find_device): Ditto 4521 4522 * device.c (scan_*): Delete 4523 4524 * device.c (device_tree_find_device): Rewrite to use above. 4525 * device.c (device_add_property): Ditto 4526 4527Wed Jan 17 19:51:56 1996 Andrew Cagney <cagney@highland.com.au> 4528 4529 * psim.c(psim_options): Parse the psim options, installing their 4530 value in the device tree. Options are now first entered into a 4531 device tree and then extracted out again when needed. This allows 4532 greater flexability in configuration. 4533 4534 * psim.c (psim_tree): Returns a basic device tree ready for 4535 parsing by psim_options. 4536 * psim.c (psim_usage): New. Give usage to varing levels of detail 4537 according to the verbosity. In turn output device and trace 4538 usage. 4539 4540 * main.c (main): Update to use new system 4541 * sim_calls.c (sim_open, sim_do_command): Ditto 4542 4543 * psim.c (psim_options): Add `r' option - ram size. 4544 * psim.c (psim_options): Add `o' option - openboot tree entry. 4545 * psim.c (psim_options): Add `h'/`H' options - more help. 4546 4547 * debug.c (trace_usage): Add more detailed help. 4548 * device.c (device_usage): New. Output help including a list of 4549 the devices currently available in the device table. 4550 * device_table.c: Add usage operator to each device. 4551 4552 * corefile.c (core_create, core_device_create): Adjust so that the 4553 core device is created earlier for psim_tree(). Core can later be 4554 created from it. 4555 4556 * psim.c (psim_create): Update to handle above way of creating 4557 things. Extract all information from the device tree. 4558 4559 * device_tree.c (trace_*): New device node, its properties are 4560 used to set the value of the trace options. Init this device (in 4561 psim_options) when ever the options are updated. 4562 4563Wed Jan 17 19:46:07 1996 Andrew Cagney <cagney@highland.com.au> 4564 4565 * debug.h: Add trace_print_info, trace_print_device_tree and 4566 trace_dump_device_tree. The first is a replacement for the 4567 variable `print_info' found in main.c and sim_calls.c. The latter 4568 two enable the dumping of the entire device tree. 4569 4570 * debug.c: Add to trace_description table. 4571 4572 * main.c (main): Use above trace instead of local variable 4573 * sim_calls.c (sim_close): Ditto 4574 4575 * device.c (device_tree_print_device): New. Prints the device 4576 tree in a format that is consistent with what can be parsed by the 4577 device tree load from file code. 4578 4579 * psim.c (psim_create): Dump device tree if enabled. If nump 4580 selected, exit psim immediately. 4581 4582Wed Jan 17 19:36:52 1996 Andrew Cagney <cagney@highland.com.au> 4583 4584 * corefile-n.h (core_map_read_N): When mapping from an address to 4585 a device, do not subtract the devices base. The device its self 4586 can do this. Brings the behavour into line with OpenBoot. 4587 * corefile-n.h (core_map_write_N): Ditto 4588 * corefile.c (core_map_read_buffer): Ditto 4589 * corefile.c (core_map_write_buffer): Ditto 4590 4591 * device_table.c (console_io_read_buffer_callback): Adjust to 4592 handle biased address. 4593 * device_table.c (console_io_write_buffer_callback): Ditto 4594 4595Wed Jan 17 18:36:09 1996 Andrew Cagney <cagney@highland.com.au> 4596 4597 * device.c (attach_device_interrupt_edge): New. Interrupt model 4598 did not allow interrupts to be wired up as a general net (edges). 4599 Re-implement so that interrupt events can be passed to multiple 4600 controllers and interrupt controllers can further propogate 4601 interrupt events. 4602 4603 * device.c (attach_device_interrupt_edge) : New, Ditto 4604 * device.c (detach_device_interrupt_edge) : New, Ditto 4605 * device.c (clean_device_interrupt_edges) : New, Ditto 4606 * device.c (device_interrupt_event) : New, Ditto 4607 * device.c (device_interrupt_attach) : New, Ditto 4608 * device.c (device_interrupt_detach) : New, Ditto 4609 * device.c (device_child_interrupt_attach) : New, Ditto 4610 * device.c (device_child_interrupt_detach) : New, Ditto 4611 4612 * device.c (device_attach_interrupt) : Delete old 4613 * device.c (device_detach_interrupt) : Delete old 4614 * device.c (device_interrupt) : Delete old 4615 * device.c (device_interrupt_ack) : Delete old 4616 4617 * device_table.c (unimp_*) : Update to match 4618 4619 * device_table.c (icu_io_write_buffer_callback) : Update to use 4620 interface. 4621 * device_table.c (icu_interrupt_event_callback) : Ditto 4622 4623Wed Jan 17 18:18:40 1996 Andrew Cagney <cagney@highland.com.au> 4624 4625 * device.c (external_to_device) : New function that provides a 4626 standard mapping between a devices internal representation (a 4627 pointer) and its external (or what is passed to a client) 4628 representation (a phandle). Implement using the cap object 4629 attached to the root node. 4630 4631 * device.c (device_to_external) : Ditto 4632 * device.c (external_to_device_instance) : Ditto but for ihandle 4633 and device instance. 4634 * device.c (device_instance_to_external) : Ditto 4635 4636 * Makefile (device.o): Add dependency on cap. 4637 4638 * emul_chirp.c (struct _emul_chirp_data) : Elimate use of cap. Code 4639 needing to translate between internal and external representations 4640 changed to use the external_to_device et.al. device operations. 4641 * emul_chirp.c (chirp_emul_*) : Ditto 4642 4643 * Makefile (emul_chirp.o): Remove dependency on cap 4644 4645Sat Jan 6 10:13:26 1996 Andrew Cagney - aka Noid <cagney@highland.com.au> 4646 4647 * emul_chirp.c (map_over_chirp_note): Tighten up (and fix) checks 4648 on OpenBoot note section. 4649 4650Fri Jan 5 20:28:53 1996 Andrew Cagney <cagney@hignland.com.au> 4651 4652 * emul_generic.c (emul_write_buffer): Use vm faulting byte 4653 read/write calls for buffer transfers. This will cause a fault to 4654 occure if the transfer fails. CHRP catches the fault while the 4655 others suffer the consequences. 4656 (emul_read_buffer): Ditto. 4657 (emul_write_word): Ditto. 4658 (emul_read_word): Ditto. 4659 (emul_read_string): Ditto. 4660 4661Fri Jan 5 18:55:34 1996 Andrew Cagney <cagney@highland.com.au> 4662 4663 * emul_chirp.c (emul_chirp_create, emul_chirp_instruction_call), 4664 emul_generic (emul_blr_instruction): Use a real blr instruction to 4665 return from a client service call. 4666 4667 * emul_chirp.c (services): Add all OpenBoot services to table. 4668 4669 * emul_generic.h, emul_bugapi.c (emul_bugapi_create), emul_chirp.c 4670 (emul_chirp_create) : Use names instead of numbers for 4671 instructions being stored in memory. 4672 4673Fri Jan 5 18:52:28 1996 Andrew Cagney <cagney@highland.com.au> 4674 4675 * Makefile.in (maintainer-clean): Remove .log, core and *.core 4676 (From NetBSD) files. 4677 4678Wed May 29 22:57:40 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 4679 4680 * ChangeLog.00, ChangeLog: ChangeLog from gdb-4.16 becomes 4681 ChangeLog.00 4682 4683Wed May 29 22:57:40 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 4684 4685 * ChangeLog.00, ChangeLog: ChangeLog from gdb-4.16 becomes 4686 ChangeLog.00 4687 4688Thu Apr 4 15:17:22 1996 Michael Meissner <meissner@tiktok.cygnus.com> 4689 4690 * INSTALL: Fix some long lines and remove x86 specific options in 4691 the examples. 4692 4693Sun Mar 31 15:47:33 1996 Andrew Cagney <cagney@kremvax.highland.com.au> 4694 4695 * INSTALL: Update to reflect gdb-4.16. 4696 4697 * RUN: Update to reflect gdb-4.16. Review notes on building a BSD 4698 runtime environment. 4699 4700 * README: Point out copyright status of simulator in introduction. 4701 4702Thu Mar 7 19:53:49 1996 Michael Meissner <meissner@cygnus.com> 4703 4704 * emul_netbsd.c: Only include sys/mount.h if HAVE_SYS_MOUNT_H is 4705 defined. 4706 * configure.in: Test for sys/mount.h. 4707 * configure,config.in: Regenerate. 4708 4709Thu Feb 22 22:48:57 1996 Andrew Cagney <cagney@highland.com.au> 4710 4711 * README, RUN, INSTALL: Update to reflect announcement 4712 * psim: PSIM 1.0.1 released 4713 4714Thu Feb 22 14:01:56 1996 Michael Meissner <meissner@tiktok.cygnus.com> 4715 4716 * emul_bugapi.c (emul_bugapi_do_read): New function to handle 4717 reads. 4718 (emul_bugapi_instruction_call): Add support for .INCHR/.INLN 4719 system calls. 4720 4721 * emul_bugapi.c (emul_bugapi_do_write): Call flush_stdoutput. 4722 * emul_netbsd.c (do_write): Call flush_stdoutput. 4723 4724 * main.c (flush_stdoutput): Do fflush (stdout). 4725 * sim_calls.c (flush_stdoutput): Do gdb_flush (gdb_stdout); 4726 * sim_callbacks.h (flush_stdoutput): Declare. 4727 4728Wed Feb 21 10:39:35 1996 Michael Meissner <meissner@tiktok.cygnus.com> 4729 4730 * emul_bugapi.c (bug_mapping): New structure to map bug system 4731 call numbers to a string. 4732 (toplevel): Add remaining bugapi system calls. 4733 (emul_bugapi_instruction_name): Map bugapi system call number to a 4734 string. 4735 (emul_bugapi_do_write): Common code to process write system calls. 4736 (emul_bugapi_instruction_call): If os-emul tracing is on, trace 4737 the system call. Use the name to print unknown system call. 4738 Correct implementation of _OUTLN. Add support for _OUTSTR and 4739 _PCRLR system calls. 4740 4741Wed Feb 21 17:07:27 1996 Andrew Cagney <cagney@highland.com.au> 4742 4743 * NOTES: New file. Ramblings on why things were done they way 4744 they were. 4745 4746 * psim.c (psim_options): Didn't enter the model value into the 4747 device tree as a string. 4748 4749 * cpu.c (cpu_synchronize_context): Wrong test for conditional 4750 flush of cache. 4751 4752 * emul_generic.c (emul_add_tree_hardware): reg value didn't match 4753 bus address. 4754 4755 * ppc-opcode-flat: new file. Generate an instruction decode 4756 function like ppc-opcode-complex but use switch statements. 4757 4758 * INSTALL: document new opcode file, add example configurations. 4759 4760Tue Feb 20 18:42:31 1996 Andrew Cagney <cagney@highland.com.au> 4761 4762 * main.c (main): rename psim instance (system) to simulation and 4763 make global. 4764 * main.c (error): print out performance even when an error occures. 4765 4766 * emul_bugapi.c (emul_bugapi_create): Fix argument passing. 4767 4768 * emul_generic.c (emul_add_tree_hardware): Move hardware devices 4769 to 0x80000000 from 0x400000. 4770 4771Mon Feb 19 22:54:40 1996 Andrew Cagney <cagney@highland.com.au> 4772 4773 * ppc-instructions (TLB Invalidate Entry, TLB Invalidate ALL): 4774 Implement by passing on request to all processors. 4775 * ppc-instructions (TLB Synchronize): Implement as empty, processor 4776 tlb's are always in sync. 4777 4778 * cpu.c (cpu_page_tlb_invalidate_all): New function. Pass on TLB 4779 invalidate request to processors VM sub-system. 4780 * cpu.c (cpu_page_tlb_invalidate_entry): Ditto. 4781 4782 * vm.c (vm_page_tlb_invalidate_all): New function. Mark all page 4783 TLB entries as invalid. 4784 * vm.c (vm_page_tlb_invalidate_entry): New function. Ditt but only 4785 invalidate one TLB entry. 4786 4787 * psim.c (psim_init): Invalidate TLB's before (re)starting. 4788 4789Mon Feb 19 21:25:56 1996 Andrew Cagney <cagney@highland.com.au> 4790 4791 * emul_generic.c (emul_add_tree_options): Add argument 4792 oea_interrupt_prefix (0 or 1) that specifies the prefix MSR[IP] 4793 and hence the location of the interrupt vectors. Add this to the 4794 device tree. 4795 4796 * emul_chirp.c (emul_chirp_create): Allow configuration of 4797 floating-point and interrupt prefix (default 0) using the above. 4798 4799 * emul_netbsd.c (emul_netbsd_create): Pass dummy arg for 4800 interrupt-prefix. 4801 4802 * emul_bugapi.c (emul_bugapi_create): Allow configuration of 4803 interrupt prefix (default 1) and configure interrupt table traps 4804 accordingly. 4805 4806 * emul_generic.c (emul_add_tree_hardware): Include a small eeprom 4807 in the list of devices. 4808 4809 * device_table.c: For moment fake eeprom device by a memory 4810 device. In future will need a proper eeprom device. 4811 4812Tue Feb 20 17:01:26 1996 J.T. Conklin <jtc@rtl.cygnus.com> 4813 4814 * config.in: Regenerated. 4815 4816Fri Feb 16 10:42:27 1996 Michael Meissner <meissner@tiktok.cygnus.com> 4817 4818 * psim.c: Include options.h so print_options is declared. 4819 4820Thu Feb 15 18:10:13 1996 Michael Meissner <meissner@tiktok.cygnus.com> 4821 4822 * emul_netbsd.c (toplevel): Do not include sys/resource.h if the 4823 system doesn't have it, and turn off getrusage processing. 4824 (write_rusage): #ifdef out if we don't have getrusage. 4825 (do_getrusage): Define as 0 if we don't have getrusage. 4826 4827Wed Feb 14 17:38:12 1996 J. T. Conklin <jtc@cygnus.com> 4828 4829 * configure.in (AC_HEADER_DIRENT): Add, so that we can figure out 4830 where the directory functions are declared. 4831 * configure: Regenerate 4832 4833 * emul_netbsd.c: Use the macros defined by configure to find the 4834 appropriate directory functions. 4835 4836Thu Feb 8 00:53:13 1996 Andrew Cagney <cagney@highland.com.au> 4837 4838 * configure.in (xor_endian): Trace setting of xor-endian flag. 4839 4840Wed Feb 7 18:20:56 1996 Andrew Cagney <cagney@highland.com.au> 4841 4842 * psim.c (psim_usage): Extend documentation. 4843 4844 * ppc-instructions (model-print): fix typo. 4845 4846Sun Feb 4 23:58:02 1996 Andrew Cagney <cagney@highland.com.au> 4847 4848 * configure.in (with-smp): Default configuration allow up to 4849 five processors (but enable only one). 4850 4851 * emul_bugapi.c (emul_bugapi_create): If floating-point is 4852 allowed, enable the floating point instruction set in the 4853 msr. 4854 4855Tue Jan 30 22:52:32 1996 Andrew Cagney <cagney@highland.com.au> 4856 4857 * emul_chirp.c (chirp_emul_seek, chirp_emul_read, 4858 chirp_emul_write): Tolerate invalid ihandles. 4859 4860 * device.c (device_instance_create, device_instance_delete): 4861 init/delete instance name 4862 4863 * emul_chirp.c (emul_chirp_instruction_call): Read the nr args and 4864 returns when determining the service. 4865 4866 * emul_chirp.c (chirp_read_t2h_args): Allow variable number of 4867 args for the method "call-method". 4868 4869 * emul_chirp.c (chirp_emul_getprop): Tolerate a n_returns of zero 4870 - should be one. Some OpenBoot code doesn't pass correct arg. 4871 4872 * emul_chirp.c (chirp_emul_getprop): Trace more property types. 4873 4874Tue Jan 30 19:12:29 1996 Andrew Cagney <cagney@highland.com.au> 4875 4876 * RUN: New file. Describe how to run PSIM 4877 * INSTALL: New file. Describe how to install PSIM 4878 * README: New file. Overview PSIM. 4879 * BUGS: New file. Briefly discuss bugs and limitations 4880 4881Wed Jan 24 20:28:08 1996 Andrew Cagney <cagney@highland.com.au> 4882 4883 * emul_bugapi.c (OEA_START_ADDRESS): Put it back to 0x100000, 4884 wasn't correctly using GLD. 4885 4886Mon Jan 22 22:44:13 1996 Andrew Cagney <cagney@highland.com.au> 4887 4888 * emul_generic.c (emul_add_tree_options): Make default number of 4889 active processors 1 (even when SMP enabled). 4890 4891Mon Jan 22 22:37:34 1996 Andrew Cagney <cagney@highland.com.au> 4892 4893 * device_table.c (icu_io_read_buffer_callback): Add extra register 4894 (at addr + 4) that returns number of processors. 4895 4896 * emul_generic.c (emul_add_tree_hardware): Update device node to 4897 match. 4898 4899Mon Jan 22 22:00:42 1996 Andrew Cagney <cagney@highland.com.au> 4900 4901 * emul_bugapi.c (OEA_START_ADDRESS): Change to 0x4000 so that it 4902 matches gas-960116/ld. 4903 4904Fri Jan 19 00:32:27 1996 Andrew Cagney <cagney@highland.com.au> 4905 4906 * psim-960119 released - psim-1.0b01. 4907 4908Fri Jan 19 00:32:27 1996 Andrew Cagney - aka Noid <cagney@highland.au.com> 4909 4910 * psim.c (psim_create): Re-order so that all options are set 4911 before the CPU's are created. Was breaking mon_create(); 4912 4913 * psim.c (psim_create): Tidy up conflicting configuration errors. 4914 4915 * debug.c: Add missing print-info entry to trace table. 4916 4917 * os_emul.c (os_emul_create): Fix `-e' option. Was looking under 4918 wrong name. 4919 4920 * psim.c (psim_options): Fix `-r' option. Was entering under wrong 4921 name. 4922 4923Thu Jan 18 20:33:48 1996 Andrew Cagney <cagney@highland.com.au> 4924 4925 * vm.c (om_unpack_bats): Fix checking of bat bits. 4926 4927 * emul_chirp.c (emul_chirp_create): Store address of OB in memory 4928 in the os_emul_data structure. 4929 4930 * emul_bugapi.c (emul_bugapi_create): Store the address of the 4931 bugapi code (in main memory) in the os_emul_data structure. 4932 4933Thu Jan 18 01:14:55 1996 Andrew Cagney <cagney@highland.com.au> 4934 4935 * vm.c (om_translate_effective_to_real): Fix trace output. 4936 4937Wed Jan 17 22:21:55 1996 Andrew Cagney <cagney@highland.com.au> 4938 4939 * device_table.c (generic_device_init_address): Create memory from 4940 information obtained from `reg' property. 4941 * device_table.c (vm_init_address_callback): Use information 4942 obtained from properties. 4943 * emul_netbsd.c (emul_netbsd_create): Update to create device and 4944 property entries to match 4945 4946Tue Jan 16 09:50:53 1996 Michael Meissner <meissner@tiktok.cygnus.com> 4947 4948 * idecode_expression.h (ALU_END): Add ITRACE of the result. 4949 4950 * ppc-instructions (Equivalent): Enable this instruction. 4951 (Add to Minus One Extended): Ditto. 4952 (Subtract from Minus One Extended): Ditto. 4953 (Add/And/Or/Xor Immediate): Add alu trace of result. 4954 (Add/And/Or/Xor Shifted Immediate): Ditto. 4955 (And/Or/Equivalent/Nand/Nor): Ditto. 4956 (And/Or with Complement): Ditto. 4957 (Extend Sign Byte/Half Word): Ditto. 4958 (Count Leading Zeros): Ditto. 4959 (Shift Right Algerbraic Word): Ditto. 4960 (Shift Right Algerbraic Word Immediate): Ditto. 4961 4962Tue Jan 9 15:10:27 1996 Andrew Cagney <cagney@highland.com.au> 4963 4964 * emul_bugapi.c (emul_bugapi_instruction_call) : Make format type 4965 correct. 4966 * emul_chirp.c (map_over_chirp_note) : Ditto 4967 * emul_chirp.c (chirp_emul_test) : Ditto 4968 * device_table.c (register_init): Ditto 4969 4970Tue Jan 9 14:16:26 1996 Andrew Cagney <cagney@highland.com.au> 4971 4972 * configure.in: Make disable-sim-switch default. Switch only 4973 useful if using --enable-sim-opcode=ppc-opcode-stupid and then 4974 only marginally so. 4975 4976Mon Jan 8 12:17:22 1996 Michael Meissner <meissner@tiktok.cygnus.com> 4977 4978 * device_table.c (register_init): Make format type correct. 4979 4980Wed Jan 3 19:21:46 1996 Andrew Cagney <cagney@highland.com.au> 4981 4982 * emul_bugapi.c (emul_bugapi_create): Add nodes to init the 4983 system-call trap to the emul instruction call instruction (Along 4984 with an rfi and infinate loop). 4985 4986 * emul_bugapi.c (emul_bugapi_instruction_call): Expand to include 4987 a few real PPC bug calls. Test with simple hello world. 4988 4989Tue Jan 2 20:51:19 1996 Andrew Cagney - aka Noid <cagney@highland.com.au> 4990 4991 * device.h, device.c (device_child, device_sibling): New 4992 functions. Return corresponding device value. 4993 4994 * emul_chirp.c (chirp_emul_child, chirp_emul_peer, 4995 chirp_emul_parent): New functions - emulate corresponding OpenBoot 4996 interfaces. 4997 4998 * device_table.c (register_init): Extend properties attached to 4999 register init node to allow a specific processor's register to be 5000 specified. 5001 5002 * emul_chirp.c (emul_chirp_create): Init SMP correctly - the 5003 initial PC for all processors is an infinate loop but then, for 5004 processor zero, is quickly changed to be the correct code starting 5005 address. 5006 5007 * emul_chirp.c (emul_chirp_create): Add fake bootpath 5008 et.al. properties to tree. 5009 5010 * emul_chirp.c (chirp_emul_getproplen): New function. Emulate the 5011 getproplen OpenBoot call. 5012 5013 * emul_chirp.c (emul_chirp_instruction_call): Document other 5014 possible chirp emulation internal states. 5015 5016 * emul_chirp.c (emul_chirp_instruction_call): Trace failed lookups 5017 as well as successful ones. 5018 5019 * emul_chirp.c (emul_chirp_open): New function - handle open 5020 client call. 5021 5022 * Makefile.in (maintainer-clean): Proper rule that eliminates more 5023 junk. 5024 5025Tue Dec 19 13:00:11 1995 Andrew Cagney <cagney@highland.com.au> 5026 5027 * emul_chirp.c (chirp_emul_exit): Full out call. 5028 5029 * device_table.c (htab_map_page): Wasn't handling byte swap when 5030 creating entries in the hash table. 5031 5032 * device.c (device_tree_find_node): Allow primative wild-card match 5033 of device names with the path. 5034 5035 FIXME: As mentioned earlier, the device stuff needs work to bring 5036 it into line with OpenBoot. Part of this work is rewriting the 5037 find_node function so that it behaves as specified in p1275. 5038 5039Mon Dec 18 19:58:56 1995 Andrew Cagney <cagney@highland.com.au> 5040 5041 * emul_chrp.c (chirp_emul_write, chirp_emul_finddevice): add 5042 better tracing. 5043 5044 * emul_chrp.c: Change return type of emul functions to int. Emul 5045 functions either return -1 or zero so unsigned was a bit 5046 dangerous. 5047 5048 * inline.h (*), igen.c, dgen.c, *: Update INLINE macros so that 5049 they are paramaterised with the type of the function. Gets around 5050 the problem of `static' needing to come first with `attribute' 5051 comming last. Format declarations and definitions so that emacs 5052 doesn't get confused. 5053 5054Fri Dec 15 17:06:44 1995 Andrew Cagney <cagney@highland.com.au> 5055 5056 * std-config.h (PSIM_INLINE): Add missing inline configuration 5057 control for the main loop. 5058 5059 * mon.c (mon_print_info): If monitoring disabled still print out 5060 the number seconds used. 5061 5062 * psim.c (run_until_stop): Don't monitor the cache misses when 5063 monitoring is disabled. 5064 5065 * configure.in (sim_mon, sim_monitor): Correct typo - sim_mon -> 5066 sim_monitor for shell variable (or should that have been the other 5067 way around?). 5068 5069 * vm.c (vm_synchronize_context): Fix wrong test for unsuported 5070 change in endian-mode. 5071 5072 * std-config.h (WITH_REGPARM), inline.h (IDECODE_INLINE, 5073 SEMANTICS_INLINE): Add -DWITH_REGPARM=<n> option. Enables the 5074 __attribute__((__regparm(WITH_REGPARM))) for some functions. 5075 configure with --enable-sim-cflags="-DWITH_REGPARAM=3" (say). 5076 Unfortunatly it tickles a bug (gcc?) and can't be used. 5077 5078Mon Dec 18 13:36:06 1995 Michael Meissner <meissner@tiktok.cygnus.com> 5079 5080 * device.c (device_tree_add_device): Make trace fprintf arguments 5081 type correct. 5082 * device_table.c (htab_decode_hash_table): Ditto. 5083 (htab_map_binary): Ditto. 5084 (htab_init_callback): Ditto. 5085 * vm.c (om_virtual_to_real): Ditto. 5086 5087Sat Dec 16 09:54:18 1995 Michael Meissner <meissner@wogglebug.tiac.net> 5088 5089 * emul_netbsd.c (emul_netbsd_create): Deal with new BFD that 5090 changed how big/little endian support is recorded, while remaining 5091 compatible with the old BFD with #ifdefs. 5092 * emul_chirp.c (emul_chirp_create): Ditto. 5093 * emul_bugapi.c (emul_bugapi_create): Ditto. 5094 5095Fri Dec 15 15:55:56 1995 Michael Meissner <meissner@tiktok.cygnus.com> 5096 5097 * std-config.h (MODEL_INLINE): Turn off INLINE_MODULE by default. 5098 5099 * corefile.h: Delete declarations for unknown functions. 5100 * device.h: Ditto. 5101 * interrupts.h: Ditto. 5102 * interrupts.c: Ditto. 5103 5104Thu Dec 14 18:49:34 1995 Andrew Cagney <cagney@highland.com.au> 5105 5106 * lf.c (lf_print_function_type): New function. Munges a function 5107 type so that the prefix (eg INLINE...) is inserted after the type 5108 but before any `*'. 5109 5110 * igen.c: Change to output functions using this. 5111 5112Wed Dec 13 23:47:00 1995 Andrew Cagney <cagney@highland.com.au> 5113 5114 FIXME: Emul CHIRP does not correctly implement the find device 5115 function. 5116 5117 FIXME: Emul CHIRP and device do not implement device instance 5118 operations. 5119 5120Wed Dec 13 23:47:00 1995 Andrew Cagney <cagney@highland.com.au> 5121 5122 * options.c (options_inline): Function to output meaningful 5123 description of the INLINE options. 5124 5125 * configure.in (inline): Replace inline magic numbers with macro 5126 names. Map 1->LOCALS_INLINE and 2->ALL_INLINE. 5127 5128 * inline.h, inline.c: update to use inline method. 5129 5130 * std-config.h (CPU_INLINE), cpu.h, inline.h, inline.c: make cpu.h 5131 inline always. 5132 5133 * std-config.h (EVENTS_INLINE): Inline events in psim. 5134 5135Wed Dec 13 22:01:21 1995 Andrew Cagney <cagney@highland.com.au> 5136 5137 * device_table.c (htab_sum_binary): DMA binaries to correct byte 5138 within a page. 5139 5140Tue Dec 12 22:51:18 1995 Andrew Cagney <cagney@highland.com.au> 5141 5142 * psim.c (psim_merge_device_file): Change `=' to `==', was this an 5143 error? 5144 5145Tue Dec 5 11:56:14 1995 Andrew Cagney <cagney@highland.com.au> 5146 5147 * ppc-instructions (ppc_nr_mtcrf_crs, ppc_branch_conditional_name, 5148 ppc_function_unit_name): Simplify by declaring these arrays as 5149 pure and simple static (instead of STATIC_MODEL). 5150 5151Tue Dec 5 00:45:34 1995 Andrew Cagney <cagney@highland.com.au> 5152 5153 * sim_calls.c (sim_create, sim_load), main.c (main), psim.c: Pass 5154 an options device into psim_create() so that options can be merged 5155 into the tree. 5156 5157 * device.c (*add*): Change semantics so the add functions only add 5158 when the new device (or property) doesn't already exist. This 5159 allows merging of options and data. 5160 5161Mon Dec 4 17:12:13 1995 Andrew Cagney <cagney@highland.com.au> 5162 5163 * Makefile.in (BASICS_H): Didn't include basics.h in the list of 5164 header files to depend on. 5165 5166Mon Dec 4 17:12:13 1995 Andrew Cagney <cagney@highland.com.au> 5167 5168 * std-config.h: (*_MODULE): Extend the <module>_inline macro's so 5169 that they also allow control over static functions. Rewrite 5170 document to reflect this. 5171 5172 * std-config.h: (INLINE): Simplify definition, the above and 5173 earlier changes to igen.h eliminate the need to be defensive about 5174 enabling the inline of static functions. 5175 5176 * std-config.h: (SIM_ENDIAN_INLINE, BITS_INLINE): Document limited 5177 suport for inlineing of modules for all callers. Adjust relevant 5178 macro's so that DEFAULT_INLINE will enable this. 5179 5180 * basics.h: Re-order #includes and definitions so that c-code for 5181 basic include files does not call functions delcared in later 5182 #includes. 5183 5184 * basics.h (__attribute__), sim_callbacks.h: Move attribute macro 5185 to basics.h and add hack (include <stdio.h>) to try and bring that 5186 and other possible conflicting macros into scope much earler. 5187 5188 * sim-endian.h,c (SIM_ENDIAN_INLINE) bits.h,c (BITS_INLINE): 5189 Change to use the updated inline definitions. If enabled 5190 immediately include the corresponding c-code so that it will inline 5191 for all modules. 5192 5193 * inline.h, inline.c (SIM_ENDIAN_INLINE, BITS_INLINE): Remove 5194 these cases, moved to module specific header files. 5195 5196Sat Dec 2 18:37:51 1995 Andrew Cagney <cagney@highland.com.au> 5197 5198 * vm.c, vm_n.c: Fix htab code. 5199 5200 * vm.c (vm_data_map_read_buffer): Was using EA not RA when reading 5201 the data from core. 5202 5203 * device.c: Fix htab create code. 5204 5205Fri Nov 24 23:10:09 1995 Andrew Cagney <cagney@highland.com.au> 5206 5207 * bits.h, bits.c (EXTRACTED): Convert to function, fix - had && 5208 instead of &. 5209 5210 * sim-endian.h (SWAP_N), sim-endian-n.h, sim-endian.c: How 5211 embarasing - fix yet another bug in the swap code! Simplify 5212 everything by using more functions. Add host to big-endian byte 5213 swapping support. 5214 5215Fri Nov 24 23:10:09 1995 Andrew Cagney <cagney@highland.com.au> 5216 5217 * devices.h, devices.c: delete, replaced by the files 5218 device_table.[ch] and device.[ch]. 5219 * device_tree.h, device_tree.c: ditto 5220 5221 * device_table.h, device_table.c: New files. Contain a table of 5222 devices. 5223 5224 * device.h, device.c, Makefile.in, std-config.h (DEVICE_INLINE), 5225 options.c (print_options): New files. Define the device object 5226 along with any attached properties. 5227 5228 * device_tree.h, device_tree.c: Update to use new device object. 5229 For convenience, change the printd functions into device_tree_add 5230 functions. 5231 5232 * psim.c (create_*_tree): Use new device_tree create functions. 5233 5234 * corefile.h, corefile.c corefile-n.h (core_n.h): Update to use 5235 the new device.h / device_table.h interface. Rename core_n.h to 5236 corefile-n.h to be consistent with other n files. 5237 5238 * Makefile.in (run): add corefile-n.h to dependencies for 5239 corefile. 5240 5241 * basics.h (device_instance), device.h, device.c, device_table.h, 5242 device_table.c: Add the concept of a device instance and operators 5243 on these instances - corresponds to ihandle in OpenBoot speak. 5244 Don't yet implement it. 5245 5246Tue Nov 14 12:27:08 1995 Andrew Cagney <cagney@highland.com.au> 5247 5248 * emul_generic.h, emul_generic.c (emul_syscall_enter, 5249 emul_syscall_exit): rename from emul_enter_call / 5250 emul_exit_call. As only used by emul_do_system_call simplify 5251 associated code. 5252 5253 * os_emul.h, os_emul.c, emul_generic.h: Correct and fill an 5254 os_emul interface. 5255 5256 * os_emul.c, emul_bugapi.h, emul_bugapi.c, Makefile.in: Add 5257 preliminary hooks for a kernel mode rom emulation. 5258 5259 * cap.h (new), cap.c (new): Capability data base. Some emulations 5260 pass object identifiers (capabilities?) to/from the simulated code 5261 (for instance the phandle in OpenBoot). The cap object is able to 5262 check/map between internal and external (target program) 5263 representations of each identifier. 5264 5265 * os_emul.c, emul_chirp.h, emul_chirp.c, Makefile.in: Add 5266 preliminary hooks for a kernel mode IEEE-1275 emulation. 5267 5268 * cpu.h, cpu.c (cpu_create, cpu_os_emulation, cpu): Add os_emul to 5269 list of arguments passed in when creating a cpu. Grant access to 5270 the element. 5271 5272 * std-config.h (OS_EMUL_INLINE), options.c (print_options), 5273 inline.h, inline.c: New to allow control over inline of 5274 corresponding code files. 5275 5276 * ppc-instructions (instruction_call): Add illegal instruction to 5277 call the instruction-call emulation handler. 5278 5279 * interrupts.c (system_call_interrupt): Call renamed 5280 os_emul_system_call function(). 5281 5282 * emul_netbsd.c: Update to interface to generic emulation. Since 5283 all its functions are called via a table don't worry about any 5284 inline. 5285 5286 * emul_generic.h, emul_generic.c, spa-*(delete): Remove references 5287 and code for spa, no longer to be used. 5288 5289 * psim.c (create_chirp_device_tree): Fill out what was previously 5290 the openboot create function so that it starts to create a full 5291 OpenBoot device tree. 5292 5293Tue Nov 28 21:48:06 1995 Andrew Cagney <cagney@highland.com.au> 5294 5295 * debug.h, debug.c: pte trace is made redundant by htab trace, 5296 delete it. Add vm to list of options. Simplify tracing output so 5297 lines are not as long. 5298 5299Tue Nov 14 12:27:08 1995 Andrew Cagney <cagney@highland.com.au> 5300 5301 * events.h, events.c (event_queue_init), psim.c (psim_init): (re) 5302 initialize the event queue. 5303 5304 5305 5306 5307 5308 5309Tue Nov 28 13:38:26 1995 Michael Meissner <meissner@tiktok.cygnus.com> 5310 5311 * sim-endian.h: Look at WORDS_BIGENDIAN to determine if the host 5312 is big endian or little endian. For SWAP_n, use htonl/htons if 5313 host is little endian, not big endian and if WITH_NTOH is defined. 5314 5315 * configure{,.in} (--enable-sim-model-issue): Instead of defining 5316 0/1, define it to be MODEL_ISSUE_{PROCESS,IGNORE}. Add 5317 AC_C_BIGENDIAN to determine if the host is big endian or not. 5318 * config.in: Regenerate. 5319 5320 * std-config.h (WITH_MODEL_ISSUE): Default to 0. 5321 (CURRENT_MODEL_ISSUE): Reference WITH_MODEL_ISSUE, and if that is 5322 0, use current_model_issue. 5323 (MODEL_ISSUE_{PROCESS,IGNORE}): Define as -1/1. 5324 5325 * psim.c (current_model_issue): New global variable. 5326 5327 * cpu.c (cpu_create): Use CURRENT_MODEL_ISSUE > 0 instead of 5328 WITH_MODEL_ISSUE. 5329 (cpu_{init,halt}): Ditto. 5330 * mon.c (mon_print_info): Ditto. 5331 * ppc-instructions (PPC_INSN_* macros, branch handling): Ditto. 5332 5333 * mon.c (mon_print_info): Print instructions/second if verbose > 0, 5334 rather than > 1. 5335 5336 * main.c (main): Set current_model_issue to MODEL_ISSUE_PROCESS if 5337 the -I switch is used. 5338 * sim_calls (sim_open): Ditto. 5339 5340 * ppc-instructions (model support): Add support for determining 5341 when we don't have enough writeback slots. Add tracing for the 5342 beginning of each cycle. 5343 5344Mon Nov 27 17:46:33 1995 Michael Meissner <meissner@tiktok.cygnus.com> 5345 5346 * mon.c: Check for whether to include sys/types.h and sys/time.h. 5347 5348 * configure.in: Check for include files sys/types.h and 5349 sys/time.h. 5350 * configure: Regenerate. 5351 * config.in: Regenerate. 5352 5353 * cpu.h (CONST_ATTRIBUTE): Define as __attribute__((__const__)) if 5354 not already defined. 5355 (cpu_system): Use CONST_ATTRIBUTE, so that when we're not inlining 5356 the world, the optimizer has a fair chance of CSE'ing function 5357 calls. 5358 (cpu_{monitor,nr,registers,model}): Ditto. 5359 5360 * std-config.h (MODEL_INLINE): If not defined, define as 1 if 5361 DEFAULT_INLINE is non-zero, 0 otherwise, rather than just the 5362 value of DEFAULT_INLINE. 5363 5364Fri Nov 24 11:24:34 1995 Michael Meissner <meissner@tiktok.cygnus.com> 5365 5366 * lf.h (__attribute__): If not GCC and at least 2.7.0, define as 5367 nothing. 5368 (lf_printf): Add printf __attribute__, so the compiler will 5369 automatically check the format string. 5370 5371 * configure{,.in} (--enable-sim-icache): If argument is define, 5372 add -R to flags passed to igen. 5373 5374 * igen.c (stdlib.h): Include if the system supplies one. 5375 (semantics_use_cache_struct): New global for -R flag to say 5376 semantics is to use the cache structure directly rather than 5377 putting the values into local variables. 5378 (first_undef, last_undef): New structures to remember names to 5379 #undef if -R. 5380 (lf_print_c_extraction): If -R and this is semantics, emit names 5381 as #defines pointing to the cache structure, rather than loading 5382 the values into local variables. 5383 (lf_print_c_semantic_function): If -R, #undef all of the names 5384 defined in lf_print_c_extraction. 5385 (main): Recognize -R. 5386 5387 * idecode_fields.h (SPR_*): Redefine spr_* macros as SPR_* to 5388 avoid a name confict if -R passed to igen. 5389 5390 * ppc-instructions (mfspr, mtspr): Rename spr field to SPR. 5391 (model_data): Add field to count the various # of CRs that the 5392 mtcrf instruction used. 5393 (model_mon_info): Return structures counting the # of CRs that the 5394 mtcrf instruction used. 5395 (branches, sync instructions): Do not call model functions if 5396 WITH_MODEL_ISSUE is 0. 5397 5398 * mon.c (stdlib.h): Include if the system supplies one. 5399 (mon_sort_instruction_names): New function to sort instruction 5400 names alphabetically. 5401 (mon_print_info): Call qsort with mon_sort_instruction_names to 5402 sort instruction names. Don't abort if WITH_MODEL_ISSUE is 0. 5403 5404 * debug.h (ITRACE): Make printf_filtered arguments type correct. 5405 * idecode_expression.h (CR0_COMPARE): Ditto. 5406 * psim.c (psim_read_register): Ditto. 5407 5408 * igen.c (lf_print_my_prefix): Use __attribute__((__unused__)) to 5409 silence compiler warnings about unused automatically generated 5410 variables. 5411 (lf_print_c_extraction): Ditto. 5412 * idecode_expression.h (FPSCR_BEGIN): Ditto. 5413 5414 * ppc-cache-rules: Define rules for making a bitmask for all 5415 registers. 5416 5417 * ppc-instructions: Rewrite model specific functions to use the 5418 bitmask of the register number, instead of using the register 5419 pointer to get the register number, and then making the bitmask. 5420 5421Wed Nov 22 15:24:27 1995 Michael Meissner <meissner@tiktok.cygnus.com> 5422 5423 * ppc-instructions (model_branches): Add conditional argument to 5424 count the number of times each type of conditional branch is used. 5425 (conditional branches): Pass B0 or -1 to model_branches. 5426 (model_mon_info): Print out conditional branch counts. 5427 (model-data): Add support for printing out conditional branch 5428 types. 5429 5430Tue Nov 21 16:31:25 1995 Michael Meissner <meissner@tiktok.cygnus.com> 5431 5432 * igen.c (insn_table_load_insns): Add support for model-static for 5433 internal functions that should not be inlined. 5434 (lf_print_c_semantic): Remove model_cleanup. 5435 (gen_model_{c,h}): Ditto. 5436 5437 * ppc-instructions: Redo model specific support once again. Add 5438 floating point support to the model specific information. Flesh 5439 out all of the floating mutiply add/subtract instructions. Add 5440 better tracing support to the model specific information. 5441 5442Sun Nov 19 23:00:52 1995 Michael Meissner <meissner@tiktok.cygnus.com> 5443 5444 * ppc-instructions (model data, model_busy): Rather than using a 5445 bit mask for the busy units, just use a char array. Also, only 5446 support 2 function units an insn can use, rather than a loop. 5447 5448Fri Nov 17 14:08:08 1995 Michael Meissner <meissner@tiktok.cygnus.com> 5449 5450 * table.c (table_entry_read): Move setting entry->line_nr to after 5451 the model specific fields so the line numbers for the annex are 5452 correct. 5453 5454 * cpu.c (cpu_{create,init,halt}): Check for WITH_MODEL_ISSUE 5455 before calling the model functions. 5456 5457 * debug.c (trace_descriptor): Add trace_model support. 5458 * debug.h (trace_options): Ditto. 5459 5460 * igen.c (gen_icache_h): Create type idecode_cache as void if not 5461 caching instructions. 5462 (gen_model_{c,h}): Drop model_issue support. Add support for 5463 model_cleanup. 5464 (lf_print_my_prefix): Initialize a const itable_index with the 5465 current index. 5466 (lf_print_c_semantic): Call model_cleanup at the end of the 5467 function to check for instructions that aren't supported yet by 5468 the scheduling code. 5469 5470 * mon.h (count_type): New type for counters. 5471 * mon.c: Use count_type instead of unsigned. 5472 5473 * ppc-instructions: Redo scheduling code once again. Make it all 5474 inline friendly. Instead of having general code emitted by igen, 5475 go the route of having each semantic routine call the appropriate 5476 module. 5477 5478Thu Nov 16 09:52:26 1995 Michael Meissner <meissner@tiktok.cygnus.com> 5479 5480 * table.c (table_entry_read): Allow the annex to have blank lines. 5481 5482 * ppc-instructions: Change lines in model stuff that just have a 5483 tab to just newline. Add 601 support. Document most instructions 5484 in terms of model specific timing information. Drop 'FUNCTION' 5485 from PPC_FUNCTION_UNIT_xxx enums. Change PPC_UNIT_UNKNOWN -> 5486 PPC_UNIT_BAD. Add TRACE(trace_tbd) for all data cache 5487 instruction.s. Signal illegal instruciton if data cache block 5488 invalidate is issued from problem state. 5489 5490 * igen.c (max_model_fields_len): New static to keep track of the 5491 max size for the model specific fields. 5492 (model_c_insn): Use max_model_fields_len to size fields. 5493 (insn_table_insert_insn): Set max_model_fields_len. 5494 (model_table_insert): Ditto. 5495 (gen_model_{c,h}): Model_issue is now called with a processor 5496 argument. 5497 5498 * debug.c (trace_description): Add support for trace_tbd. 5499 5500 * mon.c (mon_issue): Pass processor argument to model_issue. 5501 5502 * Makefile.in: Delete all function unit support, since the newer 5503 table driven model support replaces it. 5504 * cpu.{c,h}: Ditto. 5505 * mon.c: Ditto. 5506 * inline.{c,h}: Ditto. 5507 * std-config.h: Ditto. 5508 * options.c: Ditto. 5509 * configure{,.in}: Ditto. 5510 * Makefile.in: Ditto. 5511 * psim.c: Ditto. 5512 * function_unit.{c,h}: Delete these now usused files. 5513 5514 * std-config.h (WITH_MODEL_ISSUE): Add new macro on whether to 5515 trace instructions in a model specific manor. 5516 * options.c (print_options): Print it out. 5517 * configure{,.in}: Add --enable-sim-model-issue option. 5518 * Makefile.in: Add --enable-sim-model-issue flags. 5519 * igen.c (lf_print_c_semantic): Add call to mon_issue here. Check 5520 for WITH_MODEL_ISSUE. 5521 * mon.c (mon_issue): Remove call to mon_issue_here. 5522 5523 * ppc-instructions: Move branch tracing to the actual branch 5524 instructions, rather than testing it in model_issue. Add code to 5525 code successful/unsuccessful branch predictions, and the number of 5526 conditional branches that fell through. 5527 5528Wed Nov 15 17:32:13 1995 Michael Meissner <meissner@tiktok.cygnus.com> 5529 5530 * cpu.h (cpu_model): Add declaration. 5531 5532 * cpu.c (struct _cpu): Add model_ptr to hold model specific 5533 information. 5534 (cpu_model): Return the model internal pointer. 5535 (cpu_{create,init,halt}): Call the appropriate model function. 5536 5537 * inline.c (mon.c): Move include of mon.c after model.c. 5538 5539 * mon.c (_cpu_mon): Add fields to count unaligned memory 5540 references. 5541 (mon_issue): Call model_issue, not function_unit_issue. 5542 (mon_{read,write}): Count # of unaligned memory accesses. 5543 (mon_print_info): Switch to calling model_mon_info and 5544 model_mon_info_free instead of function_unit version. Print out 5545 number of unaligned reads/writes. 5546 5547 * {ppc-instructions,igen.c}: More global changes to add model 5548 specific features. 5549 5550 * inline.{c,h}: Provide for inlining options.c. 5551 * options.{c,h}: Ditto. 5552 * std-config.h: Add OPTIONS_INLINE. 5553 5554Tue Nov 14 04:47:25 1995 Michael Meissner <meissner@tiktok.cygnus.com> 5555 5556 * Makefile.in (devices.o, main.o): Update dependency. 5557 5558 * igen.c (gen_model_h): Use correct variable in loop. 5559 (gen_model_c): Use strcmp, strcasecmp. 5560 (gen_model_c): Use EXTERN_MODEL for arrays. 5561 (gen_model_h): Use STATIC_MODEL for arrays. 5562 (lf_print_c_semantic_function_header): Delete unused function. 5563 5564 * main.c (cpu.h): Include cpu.h to get model.h. 5565 5566 * inline.h ({EXTERN,STATIC}_MODEL): Define. 5567 5568Mon Nov 13 09:14:13 1995 Michael Meissner <meissner@tiktok.cygnus.com> 5569 5570 * igen.c ({insn,model}_table_fields): Spell mnemonic correctly. 5571 (gen_itable_h,itable_c_insn): Ditto. 5572 (model support): Move model support around, add support for 5573 model-data, model-internal. Use annex field for model-macros 5574 now. 5575 5576 * configure.in (--enable-sim-inline): If --enable-sim-inline=no, 5577 also define INLINE as nothing. 5578 * configure: Regenerate. 5579 5580 * std-config.h (INLINE): Rather than nuking INLINE, only define it 5581 as __inline__ if any of the INLINE flags are non-zero. 5582 5583 * options.c (print_options): Print out WITH_XOR_ENDAIN. 5584 5585Mon Nov 13 23:03:45 1995 Andrew Cagney <cagneyhighland.com.au> 5586 5587 * ppc-instructions (rfi): Add missing code. 5588 5589 * cpu.c (cpu_get_time_base): Fix calculation of current value of 5590 time base register. 5591 5592 * ppc-spr-table (TBL, TBU): Fix TBL/TBU entries - was confusing 5593 m[tf]tb with m[tf]spr. 5594 5595 * ppc-instructions (mtspr, mfspr): Fix mttbl - wasn't storing 5596 lower word. 5597 5598Mon Nov 13 21:35:37 1995 Andrew Cagney <cagneyhighland.com.au> 5599 5600 * std-config.h (INLINE, STATIC_INLINE): Was being set to static 5601 inline.. Only problem being that with ppc-opcode-simple this gave 5602 it the chance to inline all the idecode functions with potentially 5603 disasterous results on a 16mb PC. For moment hobble INLINE. 5604 5605 * configure.in, std-config.h (WITH_SMP): Make that 5 processors by 5606 default ... 5607 5608 * configure.in: Tweek flags passed to gcc for --with-sim-warnings. 5609 Firstly make them errors and secondly remove the options gcc-245 5610 doesn't reconize. 5611 5612Mon Nov 13 17:57:24 1995 Andrew Cagney <cagney@highland.com.au> 5613 5614 * misc.c (zalloc), cpu.c (cpu_init), devices 5615 (console_io_read_buffer_callback, icu_io_read_buffer_callback, 5616 vm_io_read_buffer_callback), main.c (zalloc), mon.c (memset), 5617 sim_calls.c (zalloc) : replace bzero() with memset(). 5618 5619 * emul_netbsd.c (write_direntries), psim.c (psim_read_register, 5620 psim_write_register): replace bcopy() with memcpy(). 5621 5622Sun Nov 12 20:55:41 1995 Andrew Cagney <cagneyhighland.com.au> 5623 5624 * configure.in: for --disable-sim-inline (--enable-sim-inline=no), 5625 force DEFAULT_INLINE to 0 rather then trusting the std 5626 configuration. 5627 5628Sun Nov 12 20:55:41 1995 Andrew Cagney <cagneyhighland.com.au> 5629 5630 * igen.c (lf_print_idecode_table, idecode_table_leaf): Fix 5631 generation of switch entries in tables - treat the same as 5632 cracking/semantic functions. 5633 5634 * igen.c (idecode_switch_end, idecode_switch_leaf): Fix generation 5635 of a boolean switch statement (field zero or non-zero). 5636 5637 * ppc-opcode-test-1, ppc-opcode-test-2: New files. These test the 5638 switch/table generation ability of igen. 5639 5640 * igen.c (idecode_switch_leaf): Fix code output when a switch 5641 statement needs to look up a table. 5642 5643 * igen.c (idecode_declare_if_switch): New function called from 5644 gen_idecode_c - need to declare any idecode switch functions 5645 before they are used in idecode tables. 5646 5647 * igen.c (lf_print_c_cracker_function, idecode_crack_leaf, 5648 idecode_crack_insn): Add is_inline_function argument to code 5649 printing cracker functions which indicates if STATIC_IDECODE or 5650 STATIC_INLINE_IDECODE should be used for definition. For 5651 idecode_crack_insn (which implies not duplicating/expanding) don't 5652 declare function as inline - we assume that the only time this is 5653 code is generated is when things are being tested. For 5654 idecode_crack_leaf, make static (instead of INLINE) if the 5655 instructions parent is a table as function will always be called 5656 via a table. 5657 5658 * igen.c (idecode_expand_if_switch): Declare as STATIC_IDECODE not 5659 STATIC_INLINE_IDECODE. Only the outermost idecode switch will be 5660 called directly, all others are called via a table. 5661 5662 * igen.c (lf_print_semantic_function_header, semantics_h_leaf, 5663 semantics_h_insn, semantics_h_function, 5664 lf_print_c_semantic_function, semantics_c_function): Add 5665 is_inline_function argument to lf_print_semantic_function_header 5666 to indicate if an inline or static function declaration/definition 5667 should be output. Depending on situtation call accordingly: 5668 functions (not instruction semantic routines) are always inline; 5669 Semantic routines are made inline when there is no icache (cache 5670 will contain the function address) and are duplicating (see above) 5671 and the parent of the instruction is a switch statement. 5672 5673 * igen.c (opcode_field_new): Delete. Code changed to use ZALLOC 5674 and moved to insn_table_find_opcode_field. 5675 5676 * table.c (table_open): Fix typo (nr_model_fields vs nr_fields). 5677 5678 * igen.c (model_c_insn): Suggestion - document the name of the 5679 instruction on each line of the instruction model table. 5680 5681Fri Nov 10 00:44:38 1995 Andrew Cagney <cagneyhighland.com.au> 5682 5683 * emul_netbsd.c (do_ioctl): Cleanup compilation. 5684 5685 * sim_callbacks.h (__attribute__): Only define if not defined (was 5686 already defined on NetBSD host). 5687 5688Wed Nov 8 21:49:52 1995 Andrew Cagney <cagneyhighland.com.au> 5689 5690 * std-config.h (WITH_XOR_ENDIAN), configure.in, Makefile.in: New 5691 macro, indicates if the PowerPC's horrible XOR endian mode should 5692 be suported. Add to configure and make. 5693 5694 * vm_n.h (vm_data_map_read_N, vm_data_map_write_N), vm.c 5695 (vm_instruction_map_read): If XOR endian, xor the address 5696 with a value from an xor table (indexed by size of access). 5697 5698 * vm.c (vm_synchronize_context), cpu.c (cpu_synchronize_context): 5699 set up xor table to xor if there is a conflict between the 5700 CURRENT_TARGET_ENDIAN and the endian indicated in the MSR. Move 5701 check of suported change of endian mode from cpu.c to vm.c. 5702 5703 * vm.c (vm_data_map_write_buffer, vm_data_map_read_buffer): 5704 Hopefully added correct hack to handle XOR endian mode. 5705 5706 FIXME: If NONSTRICT alignment and XOR ENDIAN and MSR indicates 5707 little endian mode, the model accepts miss aligned transfers. 5708 5709 FIXME: Need to create an `init' device that, during 5710 initializatioin for XOR mode, it mushes (XOR address) all the dma 5711 data before passing it on to the core for storage. Just like the 5712 real thing really. 5713 5714Wed Nov 8 21:49:52 1995 Andrew Cagney <cagneyhighland.com.au> 5715 5716 * devices.c (halt_io_write_buffer_callback): Use value written to 5717 halt device to determine exit status. Thus allowing 5718 success/failure of OEA tests. 5719 5720Wed Nov 8 00:10:38 1995 Andrew Cagney <cagneyhighland.com.au> 5721 5722 * ppc-instructions (icbi): If icache present flush it. 5723 5724Tue Nov 7 23:36:31 1995 Andrew Cagney <cagneyhighland.com.au> 5725 5726 * devices.c (htab_init_callback): Add code to create htab/pte. 5727 5728 * devices.c (dma_file, file_init_callback, htab_init_callback): 5729 New function - Dma the named file into memory at the specified 5730 address. Use. 5731 5732 * device_tree.h, device_tree.c (scand_*): New functions. 5733 5734Tue Nov 7 23:36:31 1995 Andrew Cagney <cagneyhighland.com.au> 5735 5736 * filter_filename.c, Makefile.in: Change so that only dependant on 5737 a very limited nr of files. Stops an unnecessary dependency. 5738 5739Tue Nov 7 15:44:33 1995 Andrew Cagney <cagney@highland.com.au> 5740 5741 * core.c (core_map_find_mapping): Use cpu_halt rather than error 5742 to abort an access to an undefined address. 5743 5744Sun Nov 12 07:58:09 1995 Michael Meissner <meissner@tiktok.cygnus.com> 5745 5746 * igen.c (model_table_insert_{macro,function}): New functions. 5747 (insn_table_load_insns): Call them. 5748 (gen_model_h): Move section emiting model-macros to be first. 5749 (model_{c,h}_function): New functions cloned from semantic 5750 functions to print out the prototype and function for 5751 model-functions. 5752 (gen_model_{c,h}): Print out model-functions. 5753 5754 * ppc-instructions (model_{start,halt,print_info}): Add dummy 5755 model-functions. 5756 5757 * options.c (print_options): Print out WITH_{,DEFAULT_}MODEL, not 5758 WITH_PPC_{,DEFAULT_}_MODEL. 5759 (options_ppc): Delete now unused function. 5760 (cpu.h): Include cpu.h, not just basics.h. 5761 5762 * std-config.h (WITH_{,DEFAULT_}MODEL): Define. 5763 5764 * igen.c (model_macros, last_model_macro): New statics to keep 5765 track of macros to go in model.h. 5766 (insn_table_load_insns): Add model-macros to model_macros linked 5767 list. 5768 (model_table_fields): Add field for printable name. 5769 (gen_model_h): If there are model macros defined, print them out. 5770 Print out DEFAULT_MODEL as the first model if there any models 5771 specified, otherwise MODEL_NONE. Print out external decl for 5772 current_model. Print out decl for model_set. 5773 (gen_model_c): Add function model_set. Switch to use printable 5774 name for the model, not the internal identifier used. 5775 5776 * psim.c (current_model): New global variable. 5777 5778 * ppc-instructions: Add macros for flag defines. Switch first 5779 model so 604 is first. 5780 5781 * main.c (main): Call model_set, not function_unit_model. 5782 * sim_calls.c (sim_open): Ditto. 5783 * sim_calls.c, Makefile.in: sim_calls.c now includes cpu.h. 5784 5785Sat Nov 11 07:27:41 1995 Michael Meissner <meissner@tiktok.cygnus.com> 5786 5787 * mon.h (mon_events): New enumeration for other events we want to 5788 handle. 5789 (mon_event): Add declaration for function. 5790 5791 * mon.c (mon_event): New function. 5792 (mon_print_info): Print icache misses. 5793 5794 * psim.c (run_until_stop): Monitor icache misses. 5795 5796 * configure.in (--enable-sim-inline): Fix typos in handling comma 5797 separated inline options. 5798 (--enable-sim-icache): Echo icache size. 5799 * configure: Regenerate. 5800 5801 * igen.c (semantics_h_print_function): Emit STATIC_SEMANTICS 5802 instead of INLINE_SEMANTICS so that the compiler won't keep all of 5803 the semantic functions as inline RTL, given that the address of 5804 the function is taken which forces outline calls anyway. 5805 (lf_print_c_semantic_function_header): Ditto. 5806 (gen_semantics_h): Define STATIC_SEMANTICS as nothing if not 5807 defined. 5808 (lf_print_c_cracker_function): Emit STATIC_IDECODE instead of 5809 STATIC_INLINE_IDECODE. 5810 (gen_idecode_c): Define STATIC_IDECODE if not defined. 5811 (gen_model_h): Use #ifdefs to define types to hold model units, 5812 cycles, and flags. 5813 (model_table_insert): Add a sentinel functional unit at the end to 5814 simplify loop processing. 5815 (model_c_insn): Use <function-unit>_SENTINAL instead of 0 for any 5816 instruction not specifing a function unit for the current model. 5817 (gen_model_{c,h}): Provide bounds for model_time_mapping. 5818 5819 * inline.h (STATIC_SEMANTICS): Define to be static if 5820 SEMANTICS_INLINE is defined. 5821 (STATIC_IDECODE): Define to be static if IDECODE_INLINE is 5822 defined. 5823 5824 * options.c (print_options): Fix typo. 5825 5826Fri Nov 10 06:39:46 1995 Michael Meissner <meissner@tiktok.cygnus.com> 5827 5828 * configure.in (--enable-sim-{opcode,config}): Use $srcdir when 5829 check for the existence of files. 5830 * configure: Regenerate. 5831 5832 * table.c (table): New field nr_model_fields. 5833 (table_open): New parameter nr_model_fields. 5834 (table_entry_read): Parse model fields that begin with a '*' after 5835 each instruction. 5836 * igen.c, dgen.c: Change callers of table_open. 5837 5838 * igen.c: Add support for dumping model specific information in 5839 model.h and model.c. 5840 (insn_field_name): Delete unused array. 5841 (global variables): Make global variables static, so we can tell 5842 when they are no longer used. 5843 (cache_semantic_actual): Delete unused variable. 5844 (insn_table_load_insns): If the insn is really a machine model, 5845 call model_table_insert instead of other processing. 5846 (model_table_insert): New function to handle defining the 5847 functional units of a particular machine model. 5848 (insn_table): Add last_function field so we can add functions at 5849 the end. 5850 (insn_table_insert_function): Use last_function field when 5851 appending new function. 5852 5853 * ppc-instructions: Add a few model specific information for 603, 5854 603e, and 604 for testing purposes. 5855 5856 * table.h (table_model_entry): New linked list to hold model 5857 specific information, one per line. 5858 (table_entry): Add model_first, model_last fields. 5859 5860 * configure.in (--enable-sim-inline): If gcc is found and 5861 --enable-sim-inline is not specified, defaine DEFAULT_INLINE to 1, 5862 not 2. 5863 (--enable-sim-reserved-bits): New switch to check whether reserved 5864 bits are set in the instruction. 5865 (--enable-sim-opcode): Make complex the default. 5866 (all switches): Add appropriate checks and error messages. 5867 * configure: Regenerate. 5868 5869 * Makefile.in (RESERVED_CFLAGS): New variable set by 5870 --enable-sim-reserved-bits. 5871 (CONFIG_CFLAGS): Include RESERVED_CFLAGS. 5872 (BUILT_SRC): igen now generates model.c and model.h. 5873 (LIB_OBJ): Include table.o. 5874 (tmp-igen): Add -m/-M options to write model.c/model.h. 5875 (model.o): New object. 5876 (CPU_H): Include model.h. 5877 5878 * cpu.h: Include model.h. 5879 5880 * std-config.h (WITH_RESERVED_BITS): Define. 5881 (MODEL_INLINE): Ditto. 5882 5883 * options.c (print_options): Print out WITH_RESERVED_BITS. 5884 5885Thu Nov 9 12:22:15 1995 Michael Meissner <meissner@tiktok.cygnus.com> 5886 5887 * configure.in: If --silent, don't output information messages. 5888 * configure: Regenerate. 5889 5890 * configure.in (--enable-sim-alignment): Fix typo in specifing non 5891 strict alignment. 5892 (--enable-sim-switch): Make default on. 5893 (--enable-sim-duplicate): Make default on. 5894 (--enable-sim-smp): Make default 0. 5895 (--enable-sim-mon): Don't set sim_float if not set. 5896 (--enable-sim-inline): If gcc is found and --enable-sim-inline is 5897 not specified, define DEFAULT_INLINE to be 2. 5898 (all --enable-sim-* rules): Echo rules set to non empty to file 5899 descriptor 6. 5900 * configure: Regenerate. 5901 5902 * options.c (options_env): Fix typo if WITH_ENV is 0. 5903 (print_options): Print GCC compiler version if available and 5904 date/time options was compiled. If OPCODE_RULES, IGEN_FLAGS, 5905 and/or DGEN_FLAGS are defined, print them. 5906 5907 * Makefile.in (all link actions): Pass SIM_CFLAGS as well as 5908 CFLAGS. 5909 (options.o): Compile options.o with OPCODE_RULES, IGEN_FLAGS, and 5910 DGEN_FLAGS defined, so they can be printed out. 5911 5912 * igen.c (lf_print_c_validate): Check for WITH_ASSERT, so that 5913 this test can be compiled away if the user really wants a fast 5914 simulator by not doing assertion failures. 5915 5916Wed Nov 8 13:19:47 1995 Michael Meissner <meissner@tiktok.cygnus.com> 5917 5918 * options.c: New file to print out all of the WITH_ options. 5919 * options.h: New include file to declare print_options. 5920 * debug.h (trace_options): Add trace_opts to call print_options. 5921 * debug.c (trace_description): Add trace_opts support. 5922 * main.c (main): If user requested options, print them. 5923 * sim_calls.c (sim_open): Ditto. 5924 5925 * igen.c (opcode_field_new): Add void to make it a proper prototype. 5926 5927 * emul_generic.c (emul_enter_call): Make printf_filtered arguments 5928 type correct. 5929 * emul_netbsd.c (do_kill): Ditto. 5930 * registers.c (registers_dump): Ditto. 5931 * vm.c (om_translate_effective_to_real): Ditto. 5932 * vm_n.h (vm_data_map_read_N): Ditto. 5933 (vm_data_map_write_N): Ditto. 5934 * devices.h (DTRACE_INIT): Ditto. 5935 (DTRACE_{ATTACH,DETACH}_ADDRESS): Ditto. 5936 (DTRACE_IO_{READ,WRITE}_BUFFER): Ditto. 5937 (DTRACE_DMA_{READ,WRITE}_BUFFER): Ditto. 5938 * devices.c (update_for_binary_section): Ditto. 5939 (write_stack_arguments): Ditto. 5940 (stack_ioctl_callback): Ditto. 5941 * device_tree.c (device_tree_add_passthrough): Ditto. 5942 (device_tree_{add,find}_device): Ditto. 5943 (device_tree_{add,find}_integer): Ditto. 5944 (device_tree_find_{string,boolean}): Ditto. 5945 (device_tree_init{,_device}): Ditto. 5946 (device_tree_dump): Ditto. 5947 * sim_calls.c (sim_{read,write}): Ditto. 5948 (sim_{fetch,store}_register): Ditto. 5949 (sim_stop_reason): Ditto. 5950 5951 * sim_callbacks.h (printf_filtered): Declare with attribute 5952 printf, so we can enable format checks. 5953 5954 * devices.c (console_io_{read,write}_buffer_callback): Cast swtich 5955 argument to int, since ANSI doesn't allow long switch values. 5956 * emul_netbsd.c (do___sysctl): Ditto. 5957 5958 * emul_netbsd.c (do___sysctl): Fix up printf call. 5959 5960 * corefile.c (core_translate): Don't do arithmetic with void * 5961 pointers. Cast to char * first. 5962 5963 * function_unit.c (FUNC_{LOAD,STORE}): Rename from {LOAD,STORE} 5964 and change all uses. 5965 5966 * Makefile.in ({FUNC,MODEL,WARNING}_CFLAGS): New flags set by 5967 configure --enable switches. 5968 (CONFIG_CFLAGS): Include FUNC_CFLAGS and MODE_CFLAGS. 5969 (.c.o): Include WARNING_CFLAGS. 5970 (CPU_H): Include function_unit.h. 5971 (LIB_OBJ): Include function_unit.o. 5972 (BUILT_SRC_WO_CONFIG): Split from BUILT_SRC and do not include 5973 config.h or ppc-config.h. 5974 (BUILT_SRC): Include BUILT_SRC_WO_CONFIG, config.h and 5975 ppc-config.h. 5976 (filter_filename.o): Include config.h/ppc-config.h dependencies. 5977 (idecode.o, semantics.o, psim.o): Specify CC line without 5978 WARNING_CFLAGS so that we don't get all of the unused variable 5979 warnings that are generated. 5980 (function_unit.o): Add rule to build. 5981 (main.o, sim_calls.o): Add function_unit.h, itable.h dependencies. 5982 (mon.o): Include mon.c dependency. 5983 (TAGS): Depend on BUILT_SRC. 5984 (clean): Don't delete config.h or ppc-config.h 5985 5986 * basics.h (sim_callbacks.h): Move include after the include of 5987 config.h and ppc-config.h. 5988 5989 * bits.{h,c} (ROTL32,ROTL64): Move these functions to bits.c. Add 5990 support for BITS_INLINE to inline these. Add declarations to 5991 bits.h. 5992 5993 * configure.in (--enable-sim-warnings): Add new option to specify 5994 compiler warnings for all modules except idecode.o and semantics.o 5995 which have lots of unused variables because they are machine 5996 generated. 5997 (--enable-sim-function-unit): New switch to configure whether 5998 function unit support is compiled in or not. 5999 (--enable-sim-{,default-}mode): New switches to control which cpu 6000 model is used. 6001 * configure: Regenerate. 6002 6003 * corefile.c (core_attach_address_callback): Delete unused 6004 variable device_address. 6005 6006 * cpu.c (struct _cpu): Add function unit pointer field func_unit. 6007 (cpu_create): If WITH_FUNCTION_UNIT, call function_unit_create. 6008 (cpu_init): If WITH_FUNCTION_UNIT, call function_unit_init. 6009 (cpu_halt): If WITH_FUNCTION_UNIT, call function_unit_halt. 6010 (cpu_function_unit): New function to return func_unit field. 6011 6012 * cpu.h (function_unit.h): Include new include file. 6013 (cpu_function_unit): Declare. 6014 6015 * debug.c (stdlib.h): Test HAVE_STDLIB_H, not HAVE_STDLIB. 6016 (config.h): Include config.h. 6017 6018 * devices.c (icu_io_write_buffer_callback): Delete unused variable 6019 system. 6020 6021 * emul_generic.c (emul_exit_call): Print out status value. 6022 6023 * emul_netbsd.c (do_read): Delete unused variable nr_moved. 6024 6025 * filter_filename.h (includes): Include config.h, ppc-config.h, 6026 not basics.h. 6027 6028 * inline.c: Include bits.c if BITS_INLINE. Include 6029 function_unit.c if FUNCTION_UNIT_INLINE. 6030 6031 * inline.h (INLINE_BITS): Define if BITS_INLINE. 6032 (INLINE_FUNCTION_UNIT): Define if FUNCTION_UNIT_INLINE. 6033 6034 * interrupts.c (instruction_storage_interrupt): Delete unused 6035 variable nia. 6036 6037 * lf.h (config.h): Include config.h. 6038 6039 * main.c (includes): Include function_unit.c. If HAVE_UNISTD_H, 6040 include unistd.h. 6041 (usage): Update for -m model, -i, and -I options. 6042 (main): Delete unused variables stack_pointer and i. Add support 6043 for -i, -m model arguments. Call psim_print_info with verbose == 6044 1 if -i, and verbose == 2 if -I. 6045 6046 * mon.c (stdio.h): Include stdio.h to pick up sprintf prototype. 6047 (mon_issue): Call function_unit_issue if function units are 6048 supported. 6049 (mon_print_info): Take psim * argument. Print out information 6050 from function_unit if available. Move read/write stats to always 6051 print, instead of printing if verbose > 1. Fix up plural 6052 vs. singular usage. 6053 6054 * mon.h (mon_print_info): Update prototype. 6055 6056 * psim.c (current_ppc_model): Add global variable. 6057 (psim_print_info): Pass system argument to mon_print_info. 6058 6059 * sim_calls.c (function_unit.h): Include. 6060 (sim_open): Add support for -i and -m model options. If -i call 6061 psim_print_info with verbose == 1, if -I, with verbose == 2. 6062 (sim_resume): Delete unused variable program_counter. 6063 6064 * std-config.h (WITH_FUNCTION_UNIT): Define. 6065 (ppc_model): Add enumeration giving all PowerPC models currently 6066 known about. 6067 ({WITH,CURRENT}_PPC_MODEL): Define. 6068 (FUNCTION_UNIT_INLINE): Define. 6069 6070 * table.c (config.h): Include config.h. 6071 6072 * vm.c (om_virtual_to_real): Print pte_word_{0,1} so the compiler 6073 doesn't complain that they're unused. 6074 6075 * vm_n.h (vm_data_map_read_N): Delete unused variable rval. 6076 6077Mon Nov 6 23:15:54 1995 Andrew Cagney <cagney@highland.com.au> 6078 6079 * sim-endian.c (ppc-endian.c), sim-endian.h (ppc-endian.h): 6080 renameed. These files are target independant. 6081 * Makefile.in, basics.h: update for new name. 6082 6083 * sim-endian.h (SWAP_N), sim-endian.c (_SWAP_1): Rename existing 6084 SWAP_<N> to _SWAP_<N> so that sim-endian.h can contain SWAP_N 6085 macro's as required. 6086 6087 * sim-endian.c, sim-endian-n.h (new file): Move endian code into a 6088 debugable header file. 6089 6090 * ppc-instructions (Byte-Reverse): Enable byte reverse 6091 instructions using SWAP_N macros. 6092 6093Mon Nov 6 10:39:28 1995 Michael Meissner <meissner@tiktok.cygnus.com> 6094 6095 * Makefile.in (config.status): Remove references to config.make 6096 and config.hdr. 6097 6098 * config.{make,hdr}: Delete, no longer used. 6099 * build-psim: Ditto. 6100 6101Mon Nov 6 20:49:56 1995 Andrew Cagney <cagney@highland.com.au> 6102 6103 * sim_calls.c (sim_open): Fix parsing of `target sim' options. 6104 6105 * device_tree.c (device_tree_add_string): Wasn't saving the value 6106 of the string being entered into the tree. 6107 6108 * psim.c (create_filed_device_tree): Not terminating string device 6109 names with a null. 6110 6111 * psim.c (psim_create): Use `env' instead of 6112 `environment-architecture' to be consistent with configure. 6113 Reconize user/uea, virtual/vea and operating/oea. 6114 6115Sat Nov 4 12:29:45 1995 Fred Fish <fnf@cygnus.com> 6116 6117 * core.c: Rename to corefile.c 6118 * core.h: Rename to corefile.h 6119 * inline.c: Include corefile.h, renamed from core.h. 6120 * cpu.h: Include corefile.h, renamed from core.h 6121 * vm.c: Include corefile.h, renamed from core.h 6122 * corefile.c: Include corefile.h rather than core.h 6123 * README.psim (KNOWN PROBLEMS): Change core.* references to corefile.* 6124 references. 6125 * Makefile.in (CPU_H): Change core.h to corefile.h 6126 (vm.o): Change dependency to corefile.h 6127 (LIB_SRC): Change core.c to corefile.c. 6128 (LIB_OBJ): Change core.o to corefile.o. 6129 (corefile.o): Change dependencies to corefile.c, corefile.h. 6130 6131Fri Nov 3 11:37:24 1995 Michael Meissner <meissner@tiktok.cygnus.com> 6132 6133 * ppc-instructions (data cache instructions): Make all data cache 6134 instructions nops instead of invalid instructions. 6135 6136 * Makefile.in (CONFIG_CFLAGS): Add ALIGNMENT_CFLAGS and 6137 TIMEBASE_CFLAGS which weren't included. 6138 6139Thu Nov 2 08:54:04 1995 Michael Meissner <meissner@tiktok.cygnus.com> 6140 6141 * Makefile.in: Uncomment built file dependencies. 6142 6143 * configure.in: Rewrite --enable-sim switch handling to use the 6144 autoconf builtins so it works correctly if the configure or 6145 Makefile.in files are modified and make decides to rebuild 6146 Makefile. Also document all of the --enable-sim switches 6147 supported. Check whether getrusage and sys/resource.h are 6148 supported. 6149 * config.in: Regenerate. 6150 * configure: Regenerate. 6151 * Makefile.in: Add support for all of the variables set with 6152 --enable-sim switches. 6153 6154 * Makefile.in (clean): make clean now removes all built sources as 6155 well. 6156 6157 * cpu.c: Use HAVE_STRING_H, HAVE_STRINGS_H, HAVE_UNISTD_H, 6158 HAVE_TIME_H, HAVE_SYS_TIMES_H, HAVE_SYS_RESOURCE_H defined in 6159 the generated config.h. 6160 * debug.c: Ditto. 6161 * device_tree.c: Ditto. 6162 * devices.c: Ditto. 6163 * dgen.c: Ditto. 6164 * emul_netbsd.c: Ditto. 6165 * igen.c: Ditto. 6166 * lf.c: Ditto. 6167 * misc.c: Ditto. 6168 * psim.c: Ditto. 6169 * registers.c: Ditto. 6170 * sim_calls.c: Ditt. 6171 * table.c: Ditto. 6172 6173 6174 * main.c (main): Call psim_print_info with verbose == 2. 6175 6176 * mon.c (mon_print_info): Align the cpu number and number of 6177 instructions fields. Do not print an instruction category if the 6178 CPU did not execute any of those instructions. Print out number 6179 of reads and writes. If getrusage is supported, print out number 6180 of simulated instructins per second. 6181 6182 * configure.in: Add support for --enable-sim-opcode=stupid. 6183 * configure: Regenerate. 6184 6185Wed Nov 1 23:46:59 1995 Andrew Cagney <cagney@highland.com.au> 6186 6187 * std-config (INLINE_DEVICE_TREE): Don't inline either of 6188 device_tree.c or devices.c. There is no significant gain. 6189 6190 * configure.in, Makefile.in: add --enable-sim-icache=[0-9]* and 6191 IGEN_ICACHE macro. 6192 6193Wed Nov 1 23:46:59 1995 Andrew Cagney <cagney@highland.com.au> 6194 6195 * igen.c (main), misc.h (target_a2i, i2target), misc.c: Add 6196 functions to convert between target and igen internal bit numbers. 6197 Make IO go through these functions. Add -b (bit size) and -h (high 6198 bit nr) options to igen. Typical usage would be: ./igen -b 16 -h 6199 15 for a 16 bit instruction format with the msb given a number 15. 6200 6201Wed Nov 1 22:17:32 1995 Andrew Cagney <cagney@highland.com.au> 6202 6203 * dgen.c (main): Was outputting optarg even when it was NULL. 6204 6205Tue Oct 31 23:48:33 1995 Andrew Cagney <cagney@highland.com.au> 6206 6207 * vm_n.h (vm_data_map_load_N, vm_data_map_store_n), debug.h, 6208 debug.c: Add tracing of load/store unit (virtual) with -t 6209 load-store. 6210 6211Tue Oct 31 21:44:01 1995 Andrew Cagney <cagney@highland.com.au> 6212 6213 * std-config.h (WITH_ENVIRONMENT): Add USER_ENVIRONMENT which does 6214 not include things such as the time base and events. 6215 6216 * interrupt.c, sim_calls.c, cpu.h, vm.c, configure.in: Add UEA to 6217 all environment switches for above. 6218 6219 * psim.c (psim_create): ditto - new device tree node name is 6220 /options/environment-architecture with values user, virtual and 6221 operating. 6222 6223Tue Oct 31 21:31:32 1995 Andrew Cagney <cagney@highland.com.au> 6224 6225 * ppc-opcode-stupid: Third example of use of opcode table - this 6226 one expands all mtspr/mfspr and branch instructions. Appears to 6227 give about a 10% gain in performance if everything enabled. Also 6228 takes about 150mb of swap to build. 6229 6230Wed Nov 1 10:49:48 1995 Michael Meissner <meissner@tiktok.cygnus.com> 6231 6232 * emul_netbsd.c (do_exit): Print arguments and close parenthesis 6233 if tracing, since exit doesn't go through emul_exit_call. 6234 (do_read): Print arguments if tracing. 6235 (do_write): Ditto. 6236 (do_open): Ditto. 6237 (do_break): Ditto. 6238 (do_kill): Ditto. 6239 (do_dup): Ditto. 6240 (do_sigprocmask): Replace trace with printing arguments if 6241 tracing. 6242 (do_ioctl): Print arguments if tracing. 6243 (do_umask): Ditto. 6244 (do_dup2): Ditto. 6245 (do_fcntl): Ditto. 6246 (do_gettimeofday): Ditto. 6247 (do_getrusage): Ditto. 6248 (do_fstatfs): Ditto. 6249 6250 * filter_filename.c: New file to provide filter_filename to strip 6251 the directory prefix from a file. 6252 * filter_filename.h: New include file to declare filter_filename. 6253 6254 * debug.h: Include filter_filename.h. 6255 (TRACE,DTRACE,ERROR): Use filter_filename on __FILE__. 6256 6257 * misc.h: Include filter_filename.h. 6258 (ASSERT): Use filter_filename on __FILE__. 6259 6260 * igen.c (lf_print_my_prefix): Use filter_filename on the filename 6261 argument. 6262 6263 * Makefile.in: Add filter_filename support. 6264 6265 * ppc-instructions (dcbi, icbi): Make these NOPs rather than 6266 invalid instructions. 6267 6268 * configure.in: Add support for more --enable-sim-* switches. 6269 Use config.make and config.hdr to write to Makefile and config.h 6270 respectively. Don't rewrite Makefile, just append to it. 6271 * configure: Regenerate. 6272 * config.{make,hdr}: New shell scripts. 6273 6274 * Makefile.in: Remove all variables set by configure.in. 6275 (psim.o): Depend on $(BUILT_SRC) also. 6276 6277 * emul_netbsd.c (do_gettimeofday,do_getrusage): When comparing an 6278 integer, use 0, not NULL. 6279 6280Tue Oct 31 15:20:04 1995 Michael Meissner <meissner@tiktok.cygnus.com> 6281 6282 * configure.in: Add support for --enable-sim-inline, 6283 --enable-sim-bswap, --enable-sim-cflags, --enable-sim-complex, 6284 --enable-sim-switch, --enable-sim-duplicate, --enable-sim-filter, 6285 and --enable-sim-endian switch to control various Makefile 6286 variables. 6287 * configure: Regenerate from configure.in. 6288 * Makefile.in: Add various Make variables that the various 6289 switches alter. 6290 6291 * std-config.h (DEFAULT_INLINE): Don't set this to 2 if using GCC 6292 and optimizing by default. 6293 6294Fri Oct 27 19:26:27 1995 Andrew Cagney <cagney@highland.com.au> 6295 6296 * bits.h (ROTL32, ROTL64): Were functions, made them macros, now 6297 make them functions again. Appears 2.6.3 is confused by just a 6298 macro. 6299 6300Thu Oct 26 18:31:58 1995 Andrew Cagney <cagney@highland.com.au> 6301 6302 * ppc-endian.c (SWAP_8): Fix 8 byte swap! 6303 6304 * psim.c (psim_create): Not correctly checking that runtime 6305 configuration of things like ENDIAN, ENVIRONMENT and ALIGNMENT 6306 matched the compiled in ones. 6307 6308 * debug.h (ITRACE), igen.c: Tidy up more tracing flags - 6309 trace_semantics is now different to trace_idecode, the former 6310 checks the cache. 6311 6312Tue Oct 24 21:54:13 1995 Andrew Cagney <cagney@highland.com.au> 6313 6314 * ppc-instructions (mtsrin): Missing instruction 6315 * ppc-instructions (mfsrin): Missing instruction 6316 * ppc-instructions (eieio): Missing instruction 6317 6318Tue Oct 24 20:55:29 1995 Andrew Cagney <cagney@highland.com.au> 6319 6320 * build-psim: New shell script - see internals for usage, 6321 simplifies the process of building custom simulators. 6322 6323Mon Oct 23 23:48:59 1995 Andrew Cagney <cagney@highland.com.au> 6324 6325 * std-config.h (SEMANTICS_INLINE): Tidy up notes on each of the 6326 INLINE macros. Make SEMANTICS_INLINE == 1 if DEFAULT_INLINE == 2. 6327 Don't use DEFAULT_INLINE to define REGISTERS_INLINE DEVICES_INLINE 6328 DEVICE_TREE_INLINE or INTERRUPTS_INLINE as none of these are on 6329 the instruction or data critical paths. 6330 6331 * FIXME: devices.c/emul_netbsd.c would benefit (slightly) from 6332 the inclusion of device_tree.c/emul_generic.c. 6333 6334Mon Oct 23 00:31:50 1995 Andrew Cagney <cagney@highland.com.au> 6335 6336 * os_emul.[hc], emul_generic.[hc], emul_netbsd.[hc]: replace 6337 system.[hc]. Start of suport for multiple emulations and 6338 emulation state (os_emul object). 6339 6340 * emul_generic.[hc]: Start of code to implement proper system call 6341 tracing (from spy). 6342 6343Sun Oct 22 21:33:51 1995 Andrew Cagney <cagney@highland.com.au> 6344 6345 * cpu.h, cpu.c (cpu_init): New function, zero the registers before 6346 the processor is started. Fixes problem of registers being 6347 undefined when restarting from within gdb. 6348 6349 * cpu.h, cpu.c (cpu_flush_icache): New function, flushes the 6350 instruction cache (if present). Fixes problem of cpu caching gdb 6351 breakpoint instructions. 6352 6353 FIXME: PSIM sometimes aborts calling error(), it should instead 6354 call sim_error() say which takes care of housekeeping such as 6355 saving the CIA before calling error. 6356 6357 * NOTE: cpu_flush_cache() instead of cpu_synchronize_context() is 6358 used when restarting a simulation because the latter has the 6359 unwanted side effect (well I as a kernel hacker think it is) of 6360 performing an isync when the instruction stream doesn't contain 6361 one. 6362 6363Sun Oct 22 19:27:48 1995 Andrew Cagney <cagney@highland.com.au> 6364 6365 * mon.h (new), mon.c (new), std-config.h (WITH_MON): Performance 6366 monitoring module. Counts both instructions issued and 6367 load/stores. 6368 6369 * NOTE: mon does not contain to count instruction loads as this 6370 information is already available from the mon_issue() hook. 6371 6372 * igen.c (lf_print_c_semantic), vm_n.h: Add counting code. 6373 6374 * psim.h, psim.c (psim_create), cpu.h, cpu.c (cpu_create): Attach 6375 a common monitor to each of the cpus. Delete 6376 cpu_increment_number_of_insns() and cpu_get_number_of_insns() 6377 replaced by copied code in mon.[hc]. 6378 6379Sun Oct 22 18:42:45 1995 Andrew Cagney <cagney@highland.com.au> 6380 6381 * sim_calls.c, main.c, psim.c (psim_create): always create 6382 `WITH_SMP' cpus. The actual number of CPU's active in a 6383 simulation run is taken from the device node: /init/smp (an 6384 integer). WITH_SMP changed to 2 (remember to put it back to 0). 6385 6386Fri Oct 20 17:26:54 1995 Andrew Cagney <cagney@highland.com.au> 6387 6388 * system.c: More system call emulation. If code appears NetBSD 6389 specific, make conditional to being compiled on a NetBSD system 6390 (sigh). 6391 6392Wed Oct 18 23:02:20 1995 Andrew Cagney <cagney@highland.com.au> 6393 6394 * Makefile.in, gen.c(delete), igen.c(new), dgen.c(new), 6395 lf.[ch](new), table.[ch](new): Split into two generators - igen 6396 that outputs the instruction tables and dgen that outputs the spr 6397 tables. Add -f (filter out) flag to igen to filter out certain 6398 instructions (ex 64 bit ones) from the created tables. Include 6399 $(LIBIBERTY_LIB) in link options in case host lacks some libc 6400 functions. 6401 6402 * NOTE: igen, since it was originally written for the 6403 PowerPC/RS6000, things the MSB is 0 and the LSB is 63{31}. 6404 6405 * Makefile.in, std-config.h, ppc-cache-rules(new), 6406 ppc-opcode-complex(new), ppc-opcode-simple(new): (for igen) Create 6407 cache-rule and opcode-rule tables from macros found std-config.h. 6408 Delete corresponding macro's from std-config.h. 6409 6410 * igen.c (gen_itable_c, gen_itable_h), Makefile.in: code to output 6411 an table of all the instructions. Code to output a type 6412 enumerating all the instructin names. 6413 6414 * igen.c(lf_print_c_semantic): Move call to increment instruction 6415 counter so that it occures _after_ the instruction has been fully 6416 validated, was double counting illegal/invalid instructions. Add 6417 conditional so only compiled in when WITH_PROFILE enabled (enabled 6418 by default). 6419 6420 * igen.c, cpu.h, cpu.c(cpu_increment_number_of_insns): Include 6421 itable.h, count individual instruction types not just total, 6422 adjust reporting functions to output this. 6423 6424 * ppc-instructions (64 bit Load Doubleword with Update Indexed): 6425 Had 32./ instead of 31./ 6426 6427 * ppc-instructions (64 bit Store Double Word Conditional Indexed): 6428 bitrot - updated to use newer CR register operators. 6429 6430 * ppc-instructions (64bit Floating Convert from Integer 6431 Doubleword): Correct call to Round_Float(). 6432 6433Mon Oct 16 00:31:20 1995 Andrew Cagney <cagney@highland.com.au> 6434 6435 * basics.h: #include "sim_callbacks.h" earlier so that its 6436 prototypes are declared in all other header files. 6437 6438 * bits.h, bits.c, idecode_expression.h (ROTL32, ROTL64): Update 6439 doc in bits.h, remove dead code in bits.c, move ROTL32/ROTL64 into 6440 bits.h. 6441 6442 * cpu.c(cpu_add_commas), device_tree.h, device_tree.c(scand_*): 6443 Add size of buffer argument to functions writing a string into a 6444 buffer. Check for buffer overflow. 6445 6446Sun Oct 15 22:16:11 1995 Andrew Cagney <cagney@highland.com.au> 6447 6448 * devices.h, devices.c, debug.h, debug.c: add macro's for tracing 6449 of each device. Make parameter names consistent so macros work. 6450 Use macro's in device functions. 6451 6452 * device_tree.c, devices.h, devices.c: include path to device in a 6453 devices node when creating it. 6454 6455 * device_tree.c, debug.h, debug.c: Add tracing of `device-tree'. 6456 6457 * core.c: add tracing of core-device, adjust parameter names in 6458 core functions to be consistent with those in devices*. 6459 6460Sun Oct 15 20:33:20 1995 Andrew Cagney <cagney@highland.com.au> 6461 6462 * debug.h, debug.c (trace_option): New function. Parses the trace 6463 option, updating the trace array. 6464 6465 * debug.h, debug.c (trace_usage): New function. Outputs the list 6466 of all possible trace options. 6467 6468 * sim_calls.c (sim_open), main.c (main): Use new trace_option() to 6469 parse trace options specified with the simpler -t flag. Adjust 6470 usage. 6471 6472 * FIXME: basic parsing of command line options is still duplicated 6473 by main.c and sim_calls.c 6474 6475Thu Oct 26 10:42:28 1995 Michael Meissner <meissner@tiktok.cygnus.com> 6476 6477 * Makefile.in (clean): Delete *.i and *.out files. 6478 6479 * ppc-endian.c (SWAP_n): Add SET argument to allow use of SWAP 6480 macros for either assignment or return. Fix SWAP_8 to use a 6481 union, and two SWAP_4's. Delete SWAP_N, since nobody uses it now. 6482 (ENDIAN_N): Add SET argument to SWAP_n calls. Delete macro defs 6483 that hardwired swapping on/off, let optimizer delete dead code. 6484 6485 * main.c (main): Add printf that we caught a signal and print out 6486 the failing address. 6487 6488Thu Oct 19 21:43:39 1995 Fred Fish <fnf@fishfood.amigalib.com> 6489 6490 * Makefile.in: Remove tabs from otherwise empty line. 6491 Confuses many non-GNU versions of "make". 6492 6493Wed Oct 18 08:51:25 1995 Michael Meissner <meissner@tiktok.cygnus.com> 6494 6495 * Makefile.in (clean): Delete files produced by gen. 6496 6497Mon Oct 16 17:34:24 1995 Michael Meissner <meissner@tiktok.cygnus.com> 6498 6499 * gen.c (lf_print_c_semantic_function): Move counting # of 6500 instructions here so it works with caching. 6501 (gen_idecode_c): Move from here. 6502 6503Wed Oct 11 17:13:15 1995 Andrew Cagney <cagney@highland.com.au> 6504 6505 * gen.c, ppc-instructions, psim.c: Fix code for generating 6506 cracking instruction cache. Delete the code that cached just the 6507 result from doing an instruction lookup - this ran slower than no 6508 cache at all. 6509 6510Fri Oct 13 09:58:43 1995 Michael Meissner <meissner@tiktok.cygnus.com> 6511 6512 * Makefile.in (gen.o): Include $(INLINE_CFLAGS). 6513 6514 * debug.h (ppc_trace): Rename from trace, to avoid a conflict with 6515 TCL when gdb is linked with the simulator. 6516 * debug.c (ppc_trace): Ditto. 6517 * sim_calls.c (sim_open): Change trace -> ppc_trace. 6518 * main.c (main): Ditto. 6519 6520 * cpu.c (cpu_add_commas): Remove extra static. 6521 6522Thu Oct 12 11:35:53 1995 Michael Meissner <meissner@tiktok.cygnus.com> 6523 6524 * Makefile.in (psim.o): Now that inlines are turned on, make 6525 psim.o depend on all sources. 6526 6527 * cpu.c (cpu_add_commas): New function to format a long with 6528 commas. 6529 (cpu_print_info): Use it to print number_of_insns. 6530 6531 * ppc-endian.c (SWAP_n): New macros to speed up byte swapping for 6532 2, 4, and 8 bytes. 6533 (ENDIAN_N): If both target and host byte orders are known, don't 6534 bother testing CURRENT_{TARGET,HOST}_BYTE_ORDER. 6535 6536 * ppc-endian.h (target specific H2T_n/T2H_n macros): Remove #if 0 6537 to allow target specific H2T_n/T2H_n macros to be used. 6538 (htonl, ntohl): If compiled on a 486 by GCC and WITH_BSWAP is 6539 non-zero, redefine the htonl/ntohl macros to use the BSWAP instead 6540 of the 3 instruction sequence that runs on 386s. 6541 6542 * std-config.h (WITH_{HOST,TARGET}_BYTE_ORDER): Don't override if 6543 specified on the compile line. 6544 (WITH_BSWAP): If not defined, define as 0. 6545 6546 * Makefile.in (INLINE_CFLAGS): Add -DDEFAULT_INLINE=2 to add 6547 default inline support. Pass INLINE_CFLAGS when compiling. 6548 6549 * devices.{h,c} (unimp_device_ioctl): Use STATIC_DEVICES, not 6550 INLINE_DEVICES since GCC doesn't like inline functions that 6551 accept variable arguments. 6552 (stack_ioctl_callback): Make function just static because GCC 6553 doesn't like inline functions that accept variable arguments. 6554 6555 * devices.h (STATIC_DEVICES): Define as empty if not defined. 6556 6557 * inline.c: Correct pathnames of included C files to match current 6558 implementation. 6559 6560 * inline.h (STATIC_DEVICES): If DEVICES_INLINE is defined to be 6561 non-zero, define STATIC_DEVICES to be static. 6562 6563 * std-config.h (INLINE): If GNU C and optimizing, define this as 6564 __inline__. 6565 (DEFAULT_INLINE): If not defined, define as 0. 6566 (ENDIAN_INLINE): If not defined, define as DEFAULT_INLINE. 6567 ({CORE,VM,CPU,EVENTS,REGISTERS,INTERRUPTS}_INLINE): Ditto. 6568 ({SPREG,IDECODE}_INLINE): Ditto. 6569 6570Wed Oct 11 17:13:15 1995 Andrew Cagney <cagney@highland.com.au> 6571 6572 * ppc-instructions: Initial cut of floating point suport added. 6573 Of note include - use of host IEEE floating point instructions, 6574 use of PowerPC manual pseudo code to handle the FPSCR. It is not 6575 currently a pretty sight. 6576 6577 * memory_map.h, memory_map.c, memory_map_n.h, core.h, core.c: 6578 merge into core.h, core.c, core_n.h. The type memory_map replaced 6579 with core_map. This removes a level of pointer indirection when 6580 translating an address. 6581 6582 * memory_map.h, memory_map.c, memory_map_n.h: delete. 6583 6584 * Makefile.in et.al (sorry): tweek to use new core, core_map and 6585 core.h. 6586 6587Wed Oct 11 12:10:26 1995 Andrew Cagney <cagney@highland.com.au> 6588 6589 * sim_calls.c, main.c: Add -g (trace_gdb) option, add tracing to 6590 most of the other functions in sim_calls.c. 6591 6592 * basics.h (CONCAT3), memory_map.c, memory_map_n.h, Makefile.in: 6593 Add macros to better cover up `generic' code. Makes it possible 6594 to step through the generic code! 6595 6596 * vm.c, vm_n.h, Makefile.in: ditto 6597 6598Tue Oct 10 15:42:59 1995 Andrew Cagney <cagney@highland.com.au> 6599 6600 * devices.h, devices.c, memory_map.h, memory_map.c: Changed 6601 callback interface so that there is a read/write buffer but no 6602 read/write_word. VEA default memory read/write handler sometimes 6603 couldn't resolve an access and of those some were for a memory 6604 fault and some were because gdb was making a bogus request. 6605 6606 * devices.h, devices.c, memory_map.h, memory_map.c, vm.h, vm.c: 6607 eliminate transfer_mode (raw or cooked) parameter from read/write 6608 buffer. 6609 6610Fri Oct 6 20:23:56 1995 Andrew Cagney <cagney@highland.com.au> 6611 6612 * ppc-instructions (fmul, fmuls): correct instruction format - had 6613 FRB instead of FRC. 6614 6615Wed Oct 4 17:31:12 1995 Andrew Cagney <cagney@highland.com.au> 6616 6617 * psim.c, device_tree.h, device_tree.c, devices.c (printd_*, 6618 scand_*): new functions to parse/print fields in device names 6619 while hiding any machine dependency. 6620 6621 * devices.c, psim.c: Change the stack init code so that it is 6622 handled by a device. Arguments passed across using a device ioctl 6623 (hack). 6624 6625 * devices.h, devices.c: device ioctl callback changed to allow a 6626 variable number of arguments. This gives greater flexability and 6627 greater chance of bugs. 6628 6629Tue Oct 3 22:01:56 1995 Andrew Cagney <cagney@highland.com.au> 6630 6631 * main.c (printf_filtered, error): Missing va_end() to close off 6632 variable argument use. 6633 6634 * Makefile.in (tmp-gencode): comment out hack to get around some 6635 versions of make not handling files being created as side-effects. 6636 6637 * gen.c (lf_open): Add -n (real_file_name) option. Specifies an 6638 alternative file name to use in output files for things like #line 6639 macros. 6640 6641 Makefile.in (tmp-gencode): Use gen -n so that debug info is 6642 correct. 6643 6644 * Makefile.in (TARGETLIB): Use this instead of libsim.a in the 6645 Makefile. 6646 6647Sat Oct 7 22:40:59 1995 Michael Meissner <meissner@tiktok.cygnus.com> 6648 6649 * sim_calls.c (sim_set_callbacks): Define new function. 6650 6651Fri Oct 6 17:23:10 1995 Michael Meissner <meissner@tiktok.cygnus.com> 6652 6653 * psim.c (psim_print_info): Print exit status or signal number. 6654 6655Mon Oct 2 11:46:37 1995 Michael Meissner <meissner@tiktok.cygnus.com> 6656 6657 * cpu.c (struct _cpu): Add number_of_insns field to trace how many 6658 instructions are executed. 6659 (cpu_increment_number_of_insns): New function to increment the 6660 number of instructions issued. 6661 (cpu_get_number_of_insns): New function to return the number of 6662 instructions issued. 6663 (cpu_print_info): New function to print cpu related information. 6664 At present, print the number of instructions executed. 6665 6666 * gen_idecode_c: Emit call to cpu_increment_number_of_insns within 6667 idecode_issue. 6668 6669 * psim.c (psim_print_info): New function to iterate over each of 6670 the CPU's calling cpu_print_info. 6671 6672 * psim.h,cpu.h: Add new declarations. 6673 6674 * sim_calls.c (sim_open): Add argument processing to add the same 6675 switches main.c accepts for the standalone processor. 6676 (sim_close): Call psim_print_info if -I. 6677 6678 * main.c (main): Add comment saying to update sim_calls.c when 6679 adding switches. Add -I to call psim_print_info when done. 6680 (usage): Update usage message. 6681 6682Sun Oct 1 13:52:59 1995 Michael Meissner <meissner@tiktok.cygnus.com> 6683 6684 * main.c (printf_filtered): Correct to match new prototype. 6685 6686Sat Sep 30 20:47:05 1995 Michael Meissner <meissner@tiktok.cygnus.com> 6687 6688 * sim_callbacks.h (printf_filtered): Correct prototype. 6689 6690Thu Sep 21 16:26:49 1995 Michael Meissner <meissner@tiktok.cygnus.com> 6691 6692 * device_tree.c (OEA_MEMORY_SIZE): Define if not defined to 6693 0x100000. 6694 (clayton_memory_size): Define as OEA_MEMORY_SIZE. 6695 6696 * std-config.h (WITH_TRACE): Default to 1 now. 6697 6698 * psim.c (write_stack_arguments): Don't write any stack arguments 6699 if OEA. 6700 6701 * main.c (main): Switch to using getopt. Make -p also set 6702 trace_semantics. Make -a turn on all trace flags. Make -C turn 6703 on console tracing. 6704 6705 * device_tree.c (create_option_device_node): Assume a program is 6706 OEA if the start address is < 4096, not just == 0. 6707 6708Wed Sep 20 13:36:06 1995 Ian Lance Taylor <ian@cygnus.com> 6709 6710 * Makefile.in (maintainer-clean): New synonym for realclean. 6711 6712Sun Sep 10 10:23:56 1995 Michael Tiemann <tiemann@axon.cygnus.com> 6713 6714 * registers.c (register_description): Add gdb synonyms for cr 6715 (cnd) and msr (ps). 6716 6717Fri Sep 8 13:16:10 1995 Ian Lance Taylor <ian@cygnus.com> 6718 6719 * Makefile.in (install): Don't install in $(tooldir). 6720 6721 * configure.in: Call AC_CONFIG_HEADER. Don't try to use 6722 bfd/hosts/*.h file or bfd/config/*.mh file. Call AC_PROG_CC and 6723 AC_PROG_RANLIB. Substitute in values for CFLAGS, HDEFINES, AR, 6724 and CC_FOR_BUILD. Call AC_CHECK_HEADERS for various header files. 6725 Touch stamp.h if creating config.h. 6726 * configure: Rebuild. 6727 * config.in: New file, created by autoheader. 6728 * Makefile.in (AR): Define as @AR@. 6729 (CC): New variable, defined as @CC@. 6730 (CFLAGS): Define as @CFLAGS@. 6731 (CC_FOR_BUILD): New variable, defined as @CC_FOR_BUILD@. 6732 (RANLIB): Define as @RANLIB@. 6733 (HDEFINES, TDEFINES): New variables. 6734 (@host_makefile_frag@): Remove. 6735 (mostlyclean): Make the same as clean, not distclean. 6736 (clean): Remove config.log. 6737 (distclean): Remove config.h and stamp-h. 6738 (Makefile): Don't depend upon @frags@. Just rebuild Makefile when 6739 invoking config.status. 6740 (config.h, stamp-h): New targets. 6741 (gen, gen.o): Build with CC_FOR_BUILD, not CC. 6742 (ppc-config.h): Rename from old config.h build. 6743 * (basics.h,gen.c,ppc-endian.c,psim.c): Include ppc-config.h. 6744 6745Fri Sep 8 09:51:03 1995 Michael Meissner <meissner@tiktok.cygnus.com> 6746 6747 * configure{,.in}: Don't include sysdep.h from bfd, since bfd no 6748 longer provides it. 6749 * basics.h (sysdep.h): Don't include it. 6750 * Makefile.in (BASICS_H): Remove sysdep.h. 6751 6752Wed Sep 6 13:25:42 1995 Andrew Cagney <cagney@highland.com.au> 6753 6754 * core.c (core_add_data): First growth of bss was being put at 6755 wrong address (0) instead of &end. 6756 6757 * core.c (core_add_stack, core_add_data): Was not handling case 6758 where bss/stack is grown across the current end-of-{bss,stack}. 6759 6760Wed Sep 6 00:46:10 1995 Andrew Cagney <cagney@highland.com.au> 6761 6762 * system.c (system_call): Fix SYS_break - was aligning bss to a 6763 page boundary instead of just an 8 byte one; On first call sbrk(0) 6764 != sbrk(0). 6765 6766Thu Aug 24 14:48:54 1995 Michael Meissner <meissner@tiktok.cygnus.com> 6767 6768 * Makefile.in (install): Fix install rule. 6769 6770Tue Aug 22 09:31:18 1995 Michael Meissner <meissner@tiktok.cygnus.com> 6771 6772 * system.c (system_call): Add read support. 6773 6774 * main.c (main): -t sets trace_device_tree. Correct usage message 6775 to current reality. 6776 6777 * device_tree.c (update_memory_node_for_section): Make tracing 6778 output line up. If not code or readonly, assume that the section 6779 is a data section and has read/write permissions. Add readonly 6780 support. 6781 6782 * core.c (create_core_from_addresses): Print end address in traces 6783 and make tracing output line up. 6784 6785 * Makefile.in: Rewrite from Makefile to work with the Cygnus 6786 environment, and support compiling in a different directory than 6787 the sources reside in. 6788 6789 * ppc-endian.h: Rename from endian.h so that it doesn't get 6790 confused with /usr/include/sys/endian.h on Linux. Add Linux 6791 endian support. 6792 6793 * ppc-endian.c: Rename to be consistant with ppc-endian.h. 6794 Include ppc-endian.h, not endian.h. 6795 6796 * basics.h (sysdep.h): Include sysdep.h that configure makes. 6797 Include ppc-endian.h, not endian.h. 6798 6799 * std-config.h: Rename from ppc-config. Put #ifndefs around most 6800 configuration macros, so they can be overridden via CFLAGS. By 6801 default, turn off tracing. 6802 6803 * configure.in: Clone from other simulator targets. 6804 * configure: Generate via autoconf from configure.in. 6805 6806Sat Aug 19 09:05:32 1995 Andrew Cagney <cagney@highland.com.au> 6807 6808 * ppc-instructions: fix srawi (was geting XER[CA] real wrong). 6809 6810 * interrupts.c (data_storage_interrupt): allow stack to grow by 6811 upto one MB per increment. 6812 6813 * ppc-instructions: divw was computing rA / rA not rA / rB 6814 6815 * main.c (main): really stupid. Wasn't exiting with correct status 6816 6817Fri Aug 18 00:38:01 1995 Andrew Cagney <cagney@highland.com.au> 6818 6819 * system.c (system_call): add system calls kill(2) and getpid(2). 6820 6821 * main.c (main): Check/return exit status when simulation 6822 finishes. 6823 6824Thu Aug 17 14:29:18 1995 Andrew Cagney <cagney@highland.com.au> 6825 6826 * device_tree.c (create_option_device_node): Alignment rules (at 6827 least for the moment) now are for strict alignment only for LE OEA 6828 mode. (Because of compiler problems). 6829 6830 * system.c (system_call) SYS_exit: Wasn't exiting with correct status. 6831 6832Thu Aug 17 01:16:38 1995 Andrew Cagney <cagney@highland.com.au> 6833 6834 * vm.c (DEFINE_VM_DATA_MAP_WRITE_N): For miss aligned transfer 6835 forgot to return. 6836 6837 * system.c (system_call): didn't page align break argument before 6838 determining increment break increment. 6839 6840 * psim/ppc: Re-arange entire directory structure so that 6841 everything lives in the one directory. While a pain for cleaning, 6842 makes building across multiple architectures much simpler. 6843 6844 * devices.c, device_tree.c: Added code that provides a simple 6845 illustration of how an interrupt control device could be 6846 implemented. 6847 6848 * devices.c: Added code so that the dumb console device can read 6849 (from stdin) as well as write to stdout. 6850