Mon Oct 2 11:46:37 1995 Michael Meissner * cpu.c (struct _cpu): Add number_of_insns field to tract how many instructions are executed. (cpu_increment_number_of_insns): New function to increment the number of instructions issued. (cpu_get_number_of_insns): New function to return the number of instructions issued. (cpu_print_info): New function to print cpu related information. At present, print the number of instructions executed. * gen_idecode_c: Emit call to cpu_increment_number_of_insns within idecode_issue. * psim.c (psim_print_info): New function to iterate over each of the CPU's calling cpu_print_info. * psim.h,cpu.h: Add new declarations. * sim_calls.c (sim_open): Add argument processing to add the same switches main.c accepts for the standalone processor. (sim_close): Call psim_print_info if -I. * main.c (main): Add comment saying to update sim_calls.c when adding switches. Add -I to call psim_print_info when done. Sun Oct 1 13:52:59 1995 Michael Meissner * main.c (printf_filtered): Correct to match new prototype. Sat Sep 30 20:47:05 1995 Michael Meissner * sim_callbacks.h (printf_filtered): Correct prototype. Thu Sep 21 16:26:49 1995 Michael Meissner * device_tree.c (OEA_MEMORY_SIZE): Define if not defined to 0x100000. (clayton_memory_size): Define as OEA_MEMORY_SIZE. * std-config.h (WITH_TRACE): Default to 1 now. * psim.c (write_stack_arguments): Don't write any stack arguments if OEA. * main.c (main): Switch to using getopt. Make -p also set trace_semantics. Make -a turn on all trace flags. Make -C turn on console tracing. * device_tree.c (create_option_device_node): Assume a program is OEA if the start address is < 4096, not just == 0. Wed Sep 20 13:36:06 1995 Ian Lance Taylor * Makefile.in (maintainer-clean): New synonym for realclean. Sun Sep 10 10:23:56 1995 Michael Tiemann * registers.c (register_description): Add gdb synonyms for cr (cnd) and msr (ps). Fri Sep 8 13:16:10 1995 Ian Lance Taylor * Makefile.in (install): Don't install in $(tooldir). * configure.in: Call AC_CONFIG_HEADER. Don't try to use bfd/hosts/*.h file or bfd/config/*.mh file. Call AC_PROG_CC and AC_PROG_RANLIB. Substitute in values for CFLAGS, HDEFINES, AR, and CC_FOR_BUILD. Call AC_CHECK_HEADERS for various header files. Touch stamp.h if creating config.h. * configure: Rebuild. * config.in: New file, created by autoheader. * Makefile.in (AR): Define as @AR@. (CC): New variable, defined as @CC@. (CFLAGS): Define as @CFLAGS@. (CC_FOR_BUILD): New variable, defined as @CC_FOR_BUILD@. (RANLIB): Define as @RANLIB@. (HDEFINES, TDEFINES): New variables. (@host_makefile_frag@): Remove. (mostlyclean): Make the same as clean, not distclean. (clean): Remove config.log. (distclean): Remove config.h and stamp-h. (Makefile): Don't depend upon @frags@. Just rebuild Makefile when invoking config.status. (config.h, stamp-h): New targets. (gen, gen.o): Build with CC_FOR_BUILD, not CC. (ppc-config.h): Rename from old config.h build. * (basics.h,gen.c,ppc-endian.c,psim.c): Include ppc-config.h. Fri Sep 8 09:51:03 1995 Michael Meissner * configure{,.in}: Don't include sysdep.h from bfd, since bfd no longer provides it. * basics.h (sysdep.h): Don't include it. * Makefile.in (BASICS_H): Remove sysdep.h. Wed Sep 6 13:25:42 1995 Andrew Cagney - aka Noid * core.c (core_add_data): First growth of bss was being put at wrong address (0) instead of &end. * core.c (core_add_stack, core_add_data): Was not handling case where bss/stack is grown across the current end-of-{bss,stack}. Wed Sep 6 00:46:10 1995 Andrew Cagney - aka Noid * system.c (system_call): Fix SYS_break - was aligning bss to a page boundary instead of just an 8 byte one; On first call sbrk(0) != sbrk(0). Thu Aug 24 14:48:54 1995 Michael Meissner * Makefile.in (install): Fix install rule. Tue Aug 22 09:31:18 1995 Michael Meissner * system.c (system_call): Add read support. * main.c (main): -t sets trace_device_tree. Correct usage message to current reality. * device_tree.c (update_memory_node_for_section): Make tracing output line up. If not code or readonly, assume that the section is a data section and has read/write permissions. Add readonly support. * core.c (create_core_from_addresses): Print end address in traces and make tracing output line up. * Makefile.in: Rewrite from Makefile to work with the Cygnus environment, and support compiling in a different directory than the sources reside in. * ppc-endian.h: Rename from endian.h so that it doesn't get confused with /usr/include/sys/endian.h on Linux. Add Linux endian support. * ppc-endian.c: Rename to be consistant with ppc-endian.h. Include ppc-endian.h, not endian.h. * basics.h (sysdep.h): Include sysdep.h that configure makes. Include ppc-endian.h, not endian.h. * std-config.h: Rename from ppc-config. Put #ifndefs around most configuration macros, so they can be overridden via CFLAGS. By default, turn off tracing. * configure.in: Clone from other simulator targets. * configure: Generate via autoconf from configure.in. Sat Aug 19 09:05:32 1995 Andrew Cagney - aka Noid * ppc-instructions: fix srawi (was geting XER[CA] real wrong). * interrupts.c (data_storage_interrupt): allow stack to grow by upto one MB per increment. * ppc-instructions: divw was computing rA / rA not rA / rB * main.c (main): really stupid. Wasn't exiting with correct status Fri Aug 18 00:38:01 1995 Andrew Cagney - aka Noid * system.c (system_call): add system calls kill(2) and getpid(2). * main.c (main): Check/return exit status when simulation finishes. Thu Aug 17 14:29:18 1995 Andrew Cagney * device_tree.c (create_option_device_node): Alignment rules (at least for the moment) now are for strict alignment only for LE OEA mode. (Because of compiler problems). * system.c (system_call) SYS_exit: Wasn't exiting with correct status. Thu Aug 17 01:16:38 1995 Andrew Cagney - aka Noid * vm.c (DEFINE_VM_DATA_MAP_WRITE_N): For miss aligned transfer forgot to return. * system.c (system_call): didn't page align break argument before determining increment break increment. * psim/ppc: Re-arange entire directory structure so that everything lives in the one directory. While a pain for cleaning, makes building across multiple architectures much simpler. * devices.c, device_tree.c: Added code that provides a simple illustration of how an interrupt control device could be implemented. * devices.c: Added code so that the dumb console device can read (from stdin) as well as write to stdout.