3 * erc32.c (current_target_byte_order): Delete.
5 (store_bytes): Remove byte twisting.
6 (memory_read, memory_write): Access memory directly.
7 (extract_short, extract_short_signed, extract_byte,
8 extract_byte_signed): New function for for sub-word LD instructions.
9 * exec.c (extract_short, extract_short_signed, extract_byte,
10 extract_byte_signed): New functions.
11 (dispatch_instruction): Update memory reads.
12 * func.c (current_target_byte_order): Delete.
13 (get_regi): Delete little endian handling.
14 (disp_ctrl, dis_mem): Adjust print-out to new data endian.
15 (bfd_load): Delete little endian handling.
16 * interf.c (current_target_byte_order): Delete.
17 (sim_open): Set dinfo to host endian to get correct disassembly.
18 (sim_write, sim_read): Convert endian when gdb reads or writes
20 * sis.c (main): Set endian.
21 * sis.h (EBT): Define.
25 * configure: Regenerate.
29 * config.in, configure: Regenerate.
33 * func.c (exec_cmd): Fix old style prototype. Mark cmd const. Save
34 the command in a new cmdsave2 to avoid modifying.
35 (bfd_load): Fix old style prototype. Mark fname const.
36 * sis.h (exec_cmd): Mark cmd const.
37 (bfd_load): Mark fname const.
41 * erc32.c (memory_iread): New function to fetch instructions.
42 (memory_read): Print message in verbose mode.
43 * interf.c (run_sim): Use memory_iread.
44 * sis.c (run_sim): As above.
45 * sis.h (memory_iread): New prototype.
50 * erc32.c (mec_read): Delete parenthesis around return statement.
51 (mec_write, read_uart, rtc_counter_read, gpt_counter_read, memory_read,
52 memory_write, get_mem_ptr, sis_memory_write, sis_memory_read): Likewise.
53 * exec.c (sub_cc, add_cc, add32, dispatch_instruction, fpexec, chk_asi,
54 execute_trap, check_interrupts): Likewise.
55 * float.c (get_accex): Likewise.
56 * func.c (batch, limcalc, exec_cmd, disp_fpu, now, wait_for_irq,
57 check_bpt, bfd_load, get_time): Likewise.
58 * interf.c (run_sim, sim_write, sim_read): Likewise.
59 * sis.c (run_sim): Likewise.
63 * interf.c (sim_set_callbacks, sim_size, sim_trace): Delete.
67 * func.c (exec_cmd): Silence compiler warnings when calling system().
68 (batch): Replace fgets() with getline().
72 * func.c (show_stat): Print simulation time in portable long long
74 * help.c (usage): Update usage help print-out.
75 * sis.c (run_sim): Increase debug level with -v. Also print
76 simulation time in portable long long format.
77 * sis.h: Use stdint.h for portable 32- and 64-bit ints.
81 * config.in, configure: Regenerate.
85 * Makefile.in (end, end.h): Remove target rules.
86 (clean): Remove end and end.h.
87 (erc32.o, exec.o, float.o, func.o, help.o, interf.o, sis.o): Delete
89 * configure, config.in: Regenerate.
90 * configure.ac: Use SIM_AC_OPTION_HOSTENDIAN
92 * erc32.c: Remove end.h include.
93 * exec.c: Remove end.h include. Use HOST_LITTLE_ENDIAN.
94 * func.c, sis.c: Likewise.
98 * Makefile.in (SIM_RUN_OBJS): Set to sis.o.
102 * configure.ac (AC_CHECK_HEADERS): Delete.
103 * aclocal.m4, configure: Regenerate.
107 * Makefile.in: Add include path to readline.h.
108 sis.c: Remove locally define readline types.
112 * func.c (reset_stat, show_stat): Switch to double in time keeping.
113 (get_time): New function to get system time.
114 * interf.c (run_sim): Use get_time() for system time.
115 * sis.c (run_sim): Likewise.
120 * Makefile.in: Remove unused defines
124 * float.c (get_accex, clear_accex, set_fsr): Use functions from fenv.h
125 instead of custom assembly.
129 * erc32.c (mec_read): Allow simulator memory size to be read
131 (boot_init): initialize memory and timers if start address is
133 * func.c (exe_cmd): Call boot_init if start address not 0.
134 * interf.c (run_sim): Likewise.
138 * exec.c (init_regs): erc32 has vendor ID 1 and version ID 1 in %psr.
142 * func.c (print_insn_sparc_sis): Add helper function for disassembly.
143 (disp_ctrl): Use helper function.
147 * configure: Regenerate.
151 * configure: Regenerate.
152 * config.in: Regenerate.
156 * interf.c (sim_do_command): Add const to cmd.
160 * interf.c (sim_load): Add const to prog.
165 * float.c (set_fsr): Add missing "break" statements. Reindent
170 * configure: Regenerate.
174 * aclocal.m4, configure: Regenerate.
178 * Makefile.in: Include build directory in search path to find
183 * end.c: Include config.h before system header files.
189 * interf.c: Likewise.
193 * sys.h: Include "config.h".
197 * config.in, configure: Regenerate.
203 Replace TARGET_SIGNAL_ with GDB_SIGNAL_ throughout.
207 * aclocal.m4, config.in, configure: Regenerate.
212 * configure.ac: Change AC_CHECK_LIB to AC_SEARCH_LIBS to match
213 the code in gdb's configure.ac with $TERMCAP.
214 * configure: Regenerated.
218 * aclocal.m4: New file.
219 * configure: Regenerate.
223 * configure.ac: Change include to common/acinclude.m4.
227 * configure.ac: Change AC_PREREQ to 2.64. Delete AC_CONFIG_HEADER
228 call. Replace common.m4 include with SIM_AC_COMMON.
229 * configure: Regenerate.
233 * interf.c (sim_open): Accept and ignore `--sysroot=...'.
237 * interf.c (sim_complete_command): New stub function.
241 * interf.c (sim_store_register): Update return value to
246 * sis.h: Remove #include <stdint.h>.
247 (uint64, int64): Redefine without using stdint.h.
248 (UINT64_MAX): Define.
252 * erc32.c (sis_memory_write): Change prototype to const unsigned char *.
253 * func.c (exec_cmd, event, advance_time, wait_for_irq): Use uint64
255 * interf.c (run_sim): Change icount to uint64_t. Use strtol directly.
256 (sim_resume): Specify maximum run time as uint64.
257 * sis.c (run_sim): Change icount to uint64_t.
258 * sis.h: Define uint64 as uint64_t. Change various fields and
259 prototypes to uint64 to support longer simulations.
263 * interp.c (sim_write): Add const to buf arg.
267 * configure: Regenerate.
271 * config.in: Regenerate.
272 * configure: Likewise.
274 * configure: Regenerate.
278 * erc32.c, exec.c: Fix warnings.
282 * configure: Regenerate to track ../common/common.m4 changes.
287 * sis.c: Correct spelling error.
293 * configure: Regenerate.
297 * acconfig.h: Remove.
298 * config.in: Regenerate.
302 * configure.ac: Add test for readline, substitute READLINE.
303 * Makefile.in (READLINE_LIB): New substituted-contents variable.
304 (SIM_EXTRA_LIBDEPS): Don't set.
305 (SIM_EXTRA_LIBS): Use $(READLINE_LIB) instead of
306 ../../readline/libreadline.a.
307 * configure: Regenerate.
311 * Makefile.in (func.o, help.o): Correct dependencies.
315 * Makefile.in (install-sis): Honor DESTDIR.
319 * configure: Regenerated.
323 * configure: Regenerated.
327 * configure: Regenerated.
331 * interf.c: (gdb/signals.h): Include it.
332 (sim_stop_reason): Use TARGET_SIGNAL_*.
336 * func.c: Remove ANSI_PROTOTYPES conditional code.
340 * configure: Regenerate.
344 * sim/erc32/float.c (set_fsr): Do not use deprecated multi-line
346 (clear_accex): Ditto.
347 * sim/erc32/interf.c: Remove the redeclaration of fprintf.
348 * sim/erc32/sis.c: Ditto.
349 * sim/erc32/exec.c: Add missing semicolon.
350 * sim/erc32/func.c: Remove definitions of generic_print_address,
351 generic_symbol_at_address, buffer_read_memory and perror_memory, as
352 they are already defined in opcodes/dis-buf.c.
356 * configure.ac: Sinclude aclocal.m4 before common.m4. Add
357 explicit call to AC_CONFIG_HEADER.
358 * configure: Regenerate.
362 * configure.ac: Update to use ../common/common.m4.
363 * configure: Re-generate.
367 * configure: Regenerated to track ../common/aclocal.m4 changes.
371 * configure.ac: Rename configure.in, require autoconf 2.59.
372 * configure: Re-generate.
376 * configure: Regenerate for ../common/aclocal.m4 update.
380 * interf.c: Include "libiberty.h" instead of declaring buildargv
385 * interf.c (sim_open, sim_create_inferior): Rename _bfd to bfd.
389 * configure: Regenerated to track ../common/aclocal.m4 changes.
393 * sis.h: Include "gdb/remote-sim.h" and "gdb/callback.h".
394 * interf.c: Include "gdb/remote-sim.h".
398 * configure: Regenerated to track ../common/aclocal.m4 changes.
403 * Makefile.in (install-sis): Add $(EXEEXT) for Windows host.
407 * func.c (buffer_read_memory): Change type of size to unsigned to
412 * configure: Regenerated to track ../common/aclocal.m4 changes.
416 * configure: Regenerated to track ../common/aclocal.m4 changes.
420 * configure.in: add termcap and -luser32 for host=cygwin
421 * configure: regenerate
425 * exec.c (dispatch_instruction):
426 Correct the sense of the
428 sregs->trap = TRAP_UNIMP;
431 clause that has been pasted around: it's correct in the SCAN and
432 DIVScc (divide step) cases (where it was probably originally
433 written?), but reversed in the SDIV, SDIVcc, UDIV, UDIVcc cases
434 ie. instructions only in the SPARC V8 or SPARClite 86x
435 architectures. It was also present when not required for SMUL,
436 SMULcc, UMUL, UMULcc instructions that are present in all
441 * interf.c (run_sim): Fix a bug in the main loop's handling of
442 annulled delay slot instructions. There is precedent for this
443 change; the _other_ main loop in sis.c gets it right according to
444 my reading of the code.
446 The bug is: if an interrupt happens when the next instruction
447 (at sregs->pc) is annulled, the trap is taken (by execute_trap())
448 with the current values of PC and NPC, so when the trap returns,
449 the annulled instruction is indeed executed. Another giveaway is
450 that the annul flag is cleared in execute_trap(): the information
451 is demonstrably discarded.
453 The solution is: perform annulling before looking for traps, in
454 fact it's neater to do annulling, see if there's an interrupt and
455 if not, do the instruction, then handle traps be they generated by
456 interrupts pending or by the instruction we might just have done.
457 That's what the sis.c one does.
461 * sis.h: Add asr17 register for support of SparcLITE (at least the
462 Hitachi ones I find before me)
464 * exec.c (dispatch_instruction): Case WRY: Allow write of asr17 if
465 sparclite. Other ASR numbers than 17 or 0 (Y) trap out.
466 Case RDY: Allow read of asr17 if sparclite. Other ASRs ditto.
467 (execute_trap): Do single-vector-trapping if asr17 bit 0 is set.
468 (init_regs): Initialize y and asr17.
469 NB: In instruction-set space, the Y register is asr0; the
470 instructions have different names for human reasons only.
473 * interf.c: Set boolean mode variable dumbio if invoked with
474 argument "-dumbio" and mention it of verbose.
475 * erc32.c: if "dumbio" is set, do not assume that there is a
476 terminal type device attached to stdin/stdout. Do not set
477 buffering or mess with tcsetattr or do any read operations in
478 order to make UART interrupts; not input data is supported.
479 This is necessary to allow the sim to be used within the eCos
480 testing infrastructure where stdin/stdout are pipes to a TCL
481 program; the sim hangs otherwise.
485 * exec.c (dispatch_instruction): Add SPARClite 'scan' instruction.
489 * func.c (bfd_load): Add special handling of a.out executables.
493 * func.c (bfd_load): Print correct endianness.
494 * interf.c (run_sim): Print debugging information if verbosity level
496 (sim_open): Repeated -v options now increment verbosity level.
497 (sim_store_register): Handle little-endian case.
498 (flush_window): Print debugging information if verbosity level
503 * interf.c (sim_open): Use revamped memory_read, which makes
504 byte-swapping unnecessary. Add -sparclite-board option for
505 emulating RAM found on typical SPARClite boards. Print
506 error message for unrecognized option.
507 * erc32.c: Change RAM address and size from constants to variables,
508 to allow emulation of SPARClite board RAM.
509 (fetch_bytes, store_bytes): New helper functions for revamped
510 mememory_read and memory_write.
511 (memory_read, memory_write): Rewrite to store bytes in target
512 byte order instead of storing words in host byte order; this
513 greatly simplifies support of little-endian programs.
514 (get_mem_ptr): Remove unnecessary byte parameter.
515 (sis_memory_write, sis_memory_read): Store words in target
516 byte order instead of host byte order.
517 (byte_swap_words): Remove, no longer needed.
518 * sis.h ((byte_swap_words): Remove declaration, no longer needed.
519 (memory_read): Add new sz parameter.
520 * sis.c (run_sim): Use revamped memory_read, which makes
521 byte-swapping unnecessary.
522 * exec.c (dispatch_instruction): Use revamped memory_read, which
523 makes byte-swapping and double-word fetching unnecessary.
524 * func.c (sparclite_board): Declare new variable.
525 (get_regi): Handle little-endian data.
526 (bfd_load): Recognize little-endian SPARClite as having
531 * erc32.c (port_init): Print messages only if sis_verbose is true.
532 * func.c (bfd_load): Ditto.
533 * interf.c (sim_open): Ditto.
537 * sis.h (uint64, int64): Define.
538 * exec.c (SDIV, SDIVCC, UDIV, UDIVCC): Define new opcodes.
539 * (mul64): Simplify calculation of negative result.
540 * (div64): New helper function for 64-bit division.
541 * (dispatch_instruction): Add emulation of SDIV, SDIVCC, UDIV,
546 * erc32.c (close_port): Don't close stdin; it kills GDB.
547 (byte_swap_words): New function.
548 * sis.h: (byte_swap_words): Declare.
549 * interf.c (run_sim): Always fetch instructions as big-endian.
550 * sis.c (run_sim): Ditto.
554 * configure: Regenerated to track ../common/aclocal.m4 changes.
556 Sun Apr 26 15:31:55 1998 Tom Tromey <tromey@creche>
558 * configure: Regenerated to track ../common/aclocal.m4 changes.
563 * acconfig.h: New file.
564 * configure.in: Reverted change of Apr 24; use sinclude again.
566 Fri Apr 24 14:16:40 1998 Tom Tromey <tromey@creche>
568 * configure: Regenerated to track ../common/aclocal.m4 changes.
573 * configure.in: Don't call sinclude.
577 * func.c (disp_fpu): Fix build problem on big-endian hosts.
581 * erc32.c (sim_stop): Handle SIGINT gracefully.
582 * interf.c (sim_open): Don't catch SIGINT; GDB will do that for us.
586 * exec.c (dispatch_instruction): Change how carry out is calculated
587 in DIVSCC. Add emulation of SMULCC, UMUL, and UMULCC.
591 * configure: Regenerated to track ../common/aclocal.m4 changes.
595 * end.c: Update to version 2.7.5, fix compiler warnings and bugs.
607 * configure: Regenerated to track ../common/aclocal.m4 changes.
611 * configure: Regenerated to track ../common/aclocal.m4 changes.
615 * configure: Regenerated to track ../common/aclocal.m4 changes.
619 * interf.c (sim_store_register, sim_fetch_register): Pass in
620 length parameter. Return -1.
624 * configure: Regenerated to track ../common/aclocal.m4 changes.
628 * configure: Regenerated to track ../common/aclocal.m4 changes.
630 Mon Jan 19 22:26:29 1998 Doug Evans <devans@seba>
632 * configure: Regenerated to track ../common/aclocal.m4 changes.
636 * configure: Regenerated to track ../common/aclocal.m4 changes.
641 * configure: Regenerated to track ../common/aclocal.m4 changes.
645 * configure: Regenerated to track ../common/aclocal.m4 changes.
649 * configure: Regenerated to track ../common/aclocal.m4 changes.
653 * configure: Regenerated to track ../common/aclocal.m4 changes.
657 * configure: Regenerated to track ../common/aclocal.m4 changes.
661 * configure: Regenerated to track ../common/aclocal.m4 changes.
665 * configure: Regenerated to track ../common/aclocal.m4 changes.
669 * configure: Regenerated to track ../common/aclocal.m4 changes.
674 * float.c (__setfpucw): Compile on any i386 target. Not just NT.
676 * interf.c (sim_kill): Delete.
677 (sim_create_inferior): Add ABFD argument. Initialize PC from ABFD
679 (sim_load): Don't save start address.
680 (start_address): Delete variable.
684 * configure: Regenerated to track ../common/aclocal.m4 changes.
689 * interf.c (sim_open): Add ABFD argument. Change ARGV to PARGV.
693 * Makefile.in (install-sis): Change $(srcdir)/sis to sis.
697 * interf.c (sim_set_callbacks): Drop SD argument - not applicable.
698 (sim_open): Add callback arg, save it.
702 * configure: Regenerated to track ../common/aclocal.m4 changes.
706 * interf.c (sim_open): Undo patch to add -E support.
710 * interf.c (sim_open): Ignore -E arg.
711 (start_address): New static local.
712 (sim_load): Return SIM_RC. New arg abfd. Set start_address from bfd.
713 (sim_create_inferior): Return SIM_RC. Delete arg start_address.
717 * Makefile.in (install-sis): Depend upon installdirs. Use
718 $(program_transform_name) directly, rather than using
723 * configure: Regenerated to track ../common/aclocal.m4 changes.
728 * interf.c (sim_open): New arg `kind'.
730 * configure: Regenerated to track ../common/aclocal.m4 changes.
734 * configure: Regenerated to track ../common/aclocal.m4 changes.
738 * configure: Re-generate.
742 * interf.c (sim_open): New SIM_DESC result. Argument is now in
744 (other sim_*): New SIM_DESC argument.
748 * Makefile.in (@COMMON_MAKEFILE_FRAG): Use
749 COMMON_{PRE,POST}_CONFIG_FRAG instead.
750 * configure.in: sinclude ../common/aclocal.m4.
751 * configure: Regenerated.
755 * configure configure.in Makefile.in: Update to new configure
756 scheme which is more compatible with WinGDB builds.
757 * configure.in: Improve comment on how to run autoconf.
758 * configure: Re-run autoconf to get new ../common/aclocal.m4.
759 * Makefile.in: Use autoconf substitution to install common
764 * interf.c (run_sim): Stop the simulator and reset the stdio after
769 * configure.in: Look for libtermcap.a.
770 * Makefile.in: Only link in -ltermcap if it exists.
771 * erc32.c: Update to version 2.6a. Fix uart handling.
772 * exec.c: Update to version 2.6a. Add sparclite support.
773 * float.c: Update to version 2.6a. Convert comments to
774 preprocessor warnings. Add __setfpucw() for i385 hosts so floating
775 point exceptions work on win32.
776 * func.c: Update to version 2.6a. Fix uart handling, add support
777 for user error traps.
778 * help.c: Update to version 2.6a. Add help note on user error
780 * interf.c: Update to version 2.6a. Fix uart handling, and add
782 * examples/gccx: Use sparclite cross compiler, not native gcc.
783 * examples/srt0.S: Use "mov" rather than "wr" for manipulating
788 * Makefile.in (run.o): Remove this rule, it hides the one in
789 ../common/Make-common.in that correctly references the source
790 in the sibling ../common directory.
794 * Makefile.in: Delete stuff moved to ../common/Make-common.in.
795 (SIM_{OBJS,EXTRA_LIBS,EXTRA_LIBDEPS,EXTRA_ALL,EXTRA_INSTALL}): Define.
796 (SIM_{EXTRA_CLEAN,EXTRA_CFLAGS}): Define.
797 * configure.in: Simplify using macros in ../common/aclocal.m4.
798 Call AC_CHECK_HEADERS(stdlib.h).
799 * configure: Regenerated.
800 * config.in: New file.
801 * func.c (sim_set_callbacks): Delete, moved to
802 * interf.c (sim_set_callbacks): here.
803 (sim_callback): New global.
804 Rewrite all calls to printf_filtered to go through callback.
805 (sim_size,sim_trace): New functions.
806 (sim_{insert,remove}_breakpoint): #if 0 out.
807 * sis.c: #include "config.h". #include <stdlib.h> if present.
808 (main): Coerce fprintf arg to INIT_DISASSEMBLE_INFO to fprintf_ftype.
809 * sis.h: #include "callback.h".
810 * run.c: Deleted, using one in ../common now.
814 * Makefile.in (clean): Move config.log to distclean.
818 * Makefile.in (clean): Also remove config.log.
822 * Makefile.in (CC_FOR_BUILD): New variable.
823 (AR, AR_FLAGS, BISON, MAKEINFO): Remove duplicate variables.
824 (RANLIB, CC): Likewise.
825 (end): Use $(CC_FOR_BUILD), not $(CC).
826 * configure.in: Set CC_FOR_BUILD.
827 * configure: Rebuild.
831 * erc32.c (port_init): Disable this for __GO32__ (got no pty's
836 * erc32.c: Don't include sys/ioctl.h or sys/file.h. They aren't
838 * (port_init): Don't even *try* to open pty's under _WIN32.
839 * Use SIM_ADDR, not caddr_t for declaring vars that hold addresses.
840 * float.c: Get rid of #warning. Makes Microsoft C barf.
841 * interf.c (sim_open): Cast fprintf to (fprintf_ftype) to fix
843 * (sim_load sim_create_inferior sim_read): Use prototypes only in
845 * Get rid of enum sim_stop. It's defined in remote-sim.h.
846 * (sim_stop_reason): Define SIGTRAP if _WIN32.
847 * sis.h: Include ansidecl.h and remote-sim.h.
851 * erc32.c (mec_reset mec_read mec_write memory_read memory_write),
852 sis.h: Get rid of all uses of long long's.
853 * (close_port read_uart write_uart uarta_tx): Don't seg fault
854 when can't open pty's.
855 * exec.c: Add two new instructions: smul, and divscc.
856 * interf.c (flush_windows): New routine to flush the register
857 windows out to the stack just before returning to GDB. Makes
858 backtraces work much better.
862 * Makefile.in (bindir, libdir, datadir, mandir, infodir, includedir,
863 INSTALL_PROGRAM, INSTALL_DATA): Use autoconf-set values.
864 (docdir, oldincludedir): Removed.
865 * configure.in (AC_PREREQ): autoconf 2.5 or higher.
866 (AC_PROG_INSTALL): Added.
867 * configure: Rebuilt.
871 * configure.in: Call AC_PROG_CC before running configure.host.
872 * configure: Rebuild with autoconf 2.10.
876 * Makefile.in (install): Don't check to see if tooldir exists.
877 Make $(tooldir) and $(tooldir)/bin.
881 * Makefile.in (end.h): Use explicit ./ when running end.
885 * func.c(bfd_load): Don't try to print the filename if the pfbd is
887 * interf.c(sim_load): Pass the whole string, not just the first
893 * Fixed bug in "go" command.
898 * Fixed bug in interrupt force register (erc32.c).
900 * Change file load function to use bfd_openr.
902 * SIS should now be endian independent.
907 * Fixed FPU timing - some sequences of FPU instructions did not calculate
908 the resource dependencies right.
910 * Corrected STDFQ when qne = 0 (again!). The ftt is set to sequence_error
911 but no FPU trap is generated.
913 version 1.7.1 31-10-95
916 * Corrected STDFQ when qne = 0. Now, a trap is immidiately generated but
917 the FPU stays in execute mode.
919 * Corrected JMPL and RETT timing (these instructions takes two cycles).
925 * Interrupt during annuled instruction corrupted return address - fixed.
928 version 1.6.2 25-10-95
931 * Added -DFAST_UART to Makefile
934 version 1.6.1 24-10-95
937 * Fixed bug in STDFQ which caused bus error
943 * Modified srt0.s to include code that initiates registers in IU and FPU
944 and initializes the data segment. The simulator 'load' command does not
945 longer initialize the data segment!
947 * Corrected MEC timer operation; scalers now divide the frequency by
950 * MEC breakpoints are not checked during store operation
956 * Fixed some bugs in the cycle counting for IU & FPU instructions.
958 * Fixed bug that allowed an annuled instruction to cause memory exception.
960 * The *ws parameter in mem.c should now contain the number of waitstates
961 required by the memory access (was total number of cycles).
963 * The supplied srt0.s now clears the BSS (thanks Joel).
968 * Added a '-g' switch to enable/disable the GNU readline(), which cause
969 some problems on solaris 2.x machines.
971 * Enabled MEC watchpoint and breakpoint function to mem.c. Performance
974 NOTE: The UARTs are now connected to /dev/ttypc and /dev/ttypd.
979 * Fixed bug in mulscc instruction (how could that ever have worked?)
981 * Fixed bug in UART B (flushed characters on UART A), thanks Paul.
986 * Fixed bug in interrupt handling (wrong interrupt selected when more that
987 one interrupt pending)
989 * Fixed updating of condition codes during logical instructions (carry and
990 overflow were not reset)
992 * Fixed bug in WRTBR (tt field was wrongly over-written)
997 * Fixed several bugs in the interrupt handler and callback routines.
998 (reported by Paul Warren, Alsys)