-start-sanitize-am30
+
+ * configure: Regenerate to track ../common/common.m4 changes.
+ * config.in: Ditto.
+
+
+ * configure: Regenerate.
+
+
+ * acconfig.h: Remove.
+ * config.in: Regenerate.
+
+
+ * configure: Regenerated.
+
+
+ * configure: Regenerated.
+
+
+ * configure: Regenerated.
+
+
+ * configure: Regenerate.
+
+
+ * configure: Regenerate.
+
+
+ * configure.ac: Sinclude aclocal.m4 before common.m4. Add
+ explicit call to AC_CONFIG_HEADER.
+ * configure: Regenerate.
+
+
+ * configure.ac: Update to use ../common/common.m4.
+ * configure: Re-generate.
+
+
+ * configure: Regenerated to track ../common/aclocal.m4 changes.
+
+
+ * configure.ac: Rename configure.in, require autoconf 2.59.
+ * configure: Re-generate.
+
+
+ * configure: Regenerate for ../common/aclocal.m4 update.
+
+
+ * am33-2.igen (fmadd, fmsub, fmnadd, fmnsub): Correct typo.
+ * interp.c (fpu_disabled_exception, fpu_unimp_exception,
+ fpu_check_signal_exception): Take additional state arguments.
+ Print exception type and call program_interrupt. Adjust callers.
+ (fpu_rsqrt, fpu_cmp, fpu_add, fpu_sub, fpu_mul, fpu_div,
+ fpu_fmadd, fpu_fmsub, fpu_fnmadd, fpu_fnmsub): Take additional
+ arguments.
+ * mn10300_sim.h (fpu_disabled_exception, fpu_unimp_exception,
+ fpu_check_signal_exception): Adjust prototypes.
+ (fpu_rsqrt, fpu_cmp, fpu_add, fpu_sub, fpu_mul, fpu_div,
+ fpu_fmadd, fpu_fmsub, fpu_fnmadd, fpu_fnmsub): Likewise.
+ * am33-2.igen: Adjust calls.
+ * op_utils.c (cmp2fcc): Moved...
+ * interp.c: ... here.
+ * am33-2.igen: Use `unsigned32', `signed32', `unsigned64' or
+ `signed64' where type width is relevant.
+ * mn10300_sim.h: Include sim-fpu.h.
+ (FD2FPU, FPU2FD): Enclose the FD argument in parentheses.
+ (fpu_check_signal_exception): Declare.
+ (struct fp_prec_t, fp_single_prec, fp_double_prec): Likewise.
+ (FP_SINGLE, FP_DOUBLE): Shorthands for fp_*_prec.
+ (fpu_rsqrt, fpu_cmp, fpu_add, fpu_sub, fpu_mul, fpu_div,
+ fpu_fmadd, fpu_fmsub, fpu_fnmadd, fpu_fnmsub): Declare.
+ * interp.c (fpu_disabled_exception): Document.
+ (fpu_unimp_exception): Likewise.
+ (fpu_check_signal_exception): Define.
+ (reg2val_32, round_32, val2reg_32, fp_single_prec): Likewise.
+ (reg2val_64, round_64, val2reg_64, fp_double_prec): Likewise.
+ (REG2VAL, ROUND, VAL2REG): Define shorthands.
+ (fpu_status_ok): Define.
+ (fpu_rsqrt, fpu_cmp, fpu_add, fpu_sub, fpu_mul, fpu_div,
+ fpu_fmadd, fpu_fmsub, fpu_fnmadd, fpu_fnmsub): Define.
+ * am33-2.igen (frsqrt, fcmp, fadd, fsub, fmul, fdiv,
+ fmadd, fmsub, fnmadd, fnmsub): Use new functions.
+ * interp.c (sim_create_inferior): Set PSW bit to enable FP insns
+ if architecture is AM33/2.0.
+ * am33.igen: Include am33-2.igen.
+ * mn10300.igen (movm, call, ret, retf): Check for am33_2 too.
+ * am33.igen (movm): Likewise.
+ * am33.igen: Added `*am33_2' to some instructions that were
+ missing it.
+ * am33-2.igen: New file. All insns implemented, but FP flags are
+ only set for fcmp, exceptional conditions are not handled yet.
+ * Makefile.in (IGEN_INSN): Added am33-2.igen.
+ (tmp-igen): Added -M am33_2.
+ * mn10300.igen, am33.igen: Added `*am33_2' to all insns.
+ * gencode.c: Support FMT_D3.
+ * mn10300_sim.h (dword): New type.
+ (struct _state): Added fpregs.
+ (REG_FPCR, FPCR): New define. All assorted bitmaps.
+ (XS2FS, AS2FS, Xf2FD): New macros.
+ (FS2FPU, FD2FPU, FPU2FS, FPU2FD): Likewise.
+ (load_dword, store_dword): New functions or macros.
+ (u642dw, dw2u64): New functions.
+ (fpu_disabled_exception, fpu_unimp_exception): Declared.
+ * interp.c (fpu_disabled_exception): Defined; no actual
+ implementation.
+ (fpu_unimp_exception): Likewise.
+ * op_utils.c (cmp2fcc): New function.
+
+ * interp.c, mn10300_sim.h, op_utils.c: Convert function prototypes
+ and definitions to ISO C.
+
+ * gencode.c, simops.c: Delete.
+ * Makefile.in: Remove non-COMMON dependencies and commands.
+
+ * configure.in: Use common simulator always. Don't subst sim_gen
+ nor mn10300_common.
+ * configure: Rebuilt.
+ * Makefile.in (WITHOUT_COMMON_OBJS, WITHOUT_COMMON_INTERP_DEP,
+ WITHOUT_COMMON_RUN_OBJS): Remove.
+ (WITH_COMMON_OBJS): Rename to MN10300_OBJS.
+ (WITH_COMMON_INTERP_DEP): Rename to MN10300_INTERP_DEP.
+ (WITH_COMMON_RUN_OBJS): Rename to SIM_RUN_OBJS.
+ (SIM_EXTRA_CFLAGS): Don't use @sim_gen@.
+ * interp.c: Remove non-common bits.
+ * mn10300_sim.h: Likewise.
+
+
+ * dv-mn103ser.c (do_polling_event): Change type of "serial_reg" to
+ "long".
+ (read_status_reg): Cast "serial_reg" to "long".
+ * dv-mn103tim.c (do_counter_event): Change type of "timer_nr" to
+ "long".
+ (do_counter6_event, write_mode_reg, write_tm6md): Ditto.
+
+
+ * interp.c (sim_open, sim_create_inferior, sim_open)
+ (sim_create_inferior): Rename _bfd to bfd.
+
+
+ * am33.igen: Call sim_engine_abort instead of abort.
+
+
+ * dv-mn103tim.c (read_special_timer6_reg): Add break after
+ empty default: label.
+ (write_special_timer6_reg): Ditto.
+ Update copyright.
+
+
+ * sim-main.h: Only include "idecode.h" once.
+ * Makefile.in (SIM_EXTRA_DEPS): Define.
+
+
+ * configure: Regenerated to track ../common/aclocal.m4 changes.
+
+
+ * Makefile.in (INCLUDE): Update path to callback.h.
+ * mn10300_sim.h: Include "gdb/callback.h" and "gdb/remote-sim.h".
+ * tconfig.in: Ditto.
+
+
+ * mn10300.igen: Doc fixes.
+
+
+ * Makefile.in (idecode.o, op_utils.o, semantics.o, simops.o):
+ Depend on targ-vals.h.
+
+
+ * Makefile.in (simops.o): Add simops.h to dependency list.
+
+
+ * am33.igen: Warning clean-up.
+ (movm): Initialize PC and mask.
+ (mov, movbu, movhu): Set srcreg2 from RI0.
+ (bsch): Initialize c.
+ (sat16_cmp): Actually do the comparison.
+ (mov_llt): Do not overwrite dstreg with uninitialized variable.
+
+
+ * configure: Regenerated to track ../common/aclocal.m4 changes.
+
+
+ * am33.igen: Fix leading comments of SP-relative offset insns that
+ referred to other registers. Make their offsets unsigned.
+
+
+ * mn10300_sim.h (genericAdd, genericSub, genericCmp, genericOr,
+ genericXor, genericBtst): Use `unsigned32'.
+ * op_utils.c: Likewise.
+ * mn10300.igen, am33.igen: Use `unsigned32', `signed32',
+ `unsigned64' or `signed64' where type width is relevant.
+
+
+ * am33.igen (inc4 Rn): Use genericAdd so as to modify flags.
+
+
+ * am33.igen: Make SP-relative offsets unsigned. Add `*am33' for
+ some instructions that were missing it.
+
+
+ * Makefile.in (IGEN_INSN): Added am33.igen.
+
+
+ * configure: Regenerated to track ../common/aclocal.m4 changes.
+
+
+ * interp.c: Clarify error message reporting an unknown board.
+
+
+ * configure: Regenerated to track ../common/aclocal.m4 changes.
+
+
+ * interp.c (program_interrupt): Detect undesired recursion using
+ static flag. Set NMIRC register's SYSEF flag during
+ --board=stdeval1 mode.
+ * dv-mn103-int.c (write_icr): Add backdoor address to allow CPU to
+ set SYSEF flag.
+
+
+ * Makefile.in (SIM_EXTRA_CFLAGS): Define a POLL_QUIT_INTERVAL
+ for use in the simulator so that the poll_quit callback is
+ not called too often.
+
+
+ * dv-mn103int.c (mn103int_ioctl): Return something.
+ * dv-mn103tim.c (write_tm6md): GCC suggested parentheses around &&
+ within ||.
+
+
+ * mn10300.igen (retf): Fix return address computation and store
+ the new pc value into nia.
+
+
+ * Makefile.in (WITH_COMMON_OBJS): Build also dv-sockser.o.
+ * interp.c (sim_open): Add stub mn103002 cache control memory regions.
+ Set OPERATING_ENVIRONMENT on "stdeval1" board.
+ (mn10300_core_signal): New function to intercept memory errors.
+ (program_interrupt): New function to dispatch to exception vector
+ (mn10300_exception_*): New functions to snapshot pre/post exception
+ state.
+ * sim-main.h (SIM_CORE_SIGNAL): Define hook - call mn10300_core_signal.
+ (SIM_ENGINE_HALT_HOOK): Do nothing.
+ (SIM_CPU_EXCEPTION*): Define hooks to call mn10300_cpu_exception*().
+ (_sim_cpu): Add exc_* fields to store register value snapshots.
+ * dv-mn103ser.c (*): Support dv-sockser backend for UART I/O.
+ Various endianness and warning fixes.
+ * mn10300.igen (illegal): Call program_interrupt on error.
+ (break): Call program_interrupt on breakpoint
+
+ merged in:
+ * dv-mn103int.c (mn103int_ioctl): New function for NMI
+ generation. (mn103int_finish): Install it as ioctl handler.
+ * dv-mn103tim.c: Support timer 6 specially. Endianness fixes.
+
+
+ * am33.igen: Allow autoincrement stores using the same register
+ for source and destination operands.
+
+
+ * am33.igen: Reverse HI/LO outputs of 4 operand "mul" and "mulu".
+
+
+ * interp.c (sim_open): Check for invalid --board option, fix
+ indentation, allocate memory for mem control and DMA regs.
+
+
+ * mn10300.igen (div,divu): Fix divide instructions so divide by 0
+ behaves like the hardware.
+
+
+ * sim-main.h (SIM_HANDLES_LMA): Define SIM_HANDLES_LMA.
+
+
+ * am33.igen: Handle case where first DSP operation modifies a
+ register used in the second DSP operation correctly.
+
+
+ * am33.igen: Detect cases where two operands must not match for
+ DSP instructions too.
+
+
+ * am33.igen: Detect cases where two operands must not match in
+ non-DSP instructions.
+
+
+ * op_utils.c (do_syscall): Rewrite to use common/syscall.c.
+ (syscall_read_mem, syscall_write_mem): New functions for syscall
+ callbacks.
+ * mn10300_sim.h: Add prototypes for syscall_read_mem and
+ syscall_write_mem.
+ * mn10300.igen: Change C++ style comments to C style comments.
+ Check for divide by zero in div and divu ops.
+
+
+ * am33.igen (translate_xreg): New function. Use it as needed.
+
+
+ * am33.igen: Add some missing instructions.
+
+ * am33.igen: Autoincrement loads/store fixes.
+
+
+ * am33.igen: Add mov_lCC DSP instructions.
+
+ * am33.igen: Add most am33 DSP instructions.
+
+
+ * mn10300.igen: Fix Z bit for addc and subc instructions.
+ Minor fixes in multiply/divide patterns.
+
+ * am33.igen: Add missing mul[u] imm32,Rn. Fix condition code
+ handling for many instructions. Fix sign extension for some
+ 24bit immediates.
+
+ * am33.igen: Fix Z bit for remaining addc/subc instructions.
+ Do not sign extend immediate for mov imm,XRn.
+ More random mul, mac & div fixes.
+ Remove some unused variables.
+ Sign extend 24bit displacement in memory addresses.
+
+ * am33.igen: Fix Z bit for addc Rm,Rn and subc Rm,Rn. Various
+ fixes to 2 register multiply, divide and mac instructions. Set
+ Z,N correctly for sat16. Sign extend 24 bit immediate for add,
+ and sub instructions.
+
+ * am33.igen: Add remaining non-DSP instructions.
+
+
+ * am33.igen (translate_rreg): New function. Use it as appropriate.
+
+ * am33.igen: More am33 instructions. Fix "div".
+
+
+ * mn10300.igen: Add am33 support.
+
+ * Makefile.in: Use multi-sim to support both a mn10300 and am33
+ simulator.
+
+ * am33.igen: Add many more am33 instructions.
+
+
+ * mn10300_sim.h (FETCH24): Define.
+
+ * mn10300_sim.h: Add defines for some registers found on the AM33.
+ * am33.igen: New file with some am33 support.
+
+
+ * mn10300_sim.h: Include bfd.h
+ (struct state): Add more room for processor specific registers.
+ (REG_E0): Define.
+
+
+ * dv-mn103tim.c: Include sim-assert.h
+ * dv-mn103ser.c (do_polling_event): Check for incoming data on
+ serial line and schedule next polling event.
+ (read_status_reg): schedule events to check for incoming data on
+ serial line and issue interrupt if necessary.
+
+
+ * interp.c (sim_open): hook up serial 1 and 2 ports properly (typo).
+
+
+ * interp.c (board): Rename am32 to stdeval1 as this is the name
+ consistently used to refer to the mn1030002 board.
+
+ * interp.c (sim_open): Fix typo in address of EXTMD register
+ (0x34000280, not 0x3400280).
+
+
+ * simops.c (syscall): Handle change in opcode # for syscall.
+ * mn10300.igen (syscall): Likewise.
+
* dv-mn103int.c (mn103int_finish): Regular interrupts (not NMI or
reset) are not enabled on reset.
- * dv-mn103iop.c (write_*_reg): Check for attempt to write r/o register bits.
- * dv-mn103ser.c: Fill in methods for reading and writing to serial device registers.
+ * dv-mn103iop.c (write_*_reg): Check for attempt to write r/o
+ register bits.
+ * dv-mn103ser.c: Fill in methods for reading and writing to serial
+ device registers.
* interp.c (sim_open): Make the serial device a polling device.
* dv-mn103tim.c (do_counter_event): Underflow of cascaded timer
triggers an interrupt on the higher-numbered timer's port.
-end-sanitize-am30
* interp.c: (mn10300_option_handler): New function parses arguments
using sim-options.
-start-sanitize-am30
* (board): Add --board option for specifying am32.
* (sim_open): Create new timer and serial devices and control
configuration of other am32 devices via board option.
* dv-mn103int.c: Adjust interrupt controller settings for am32 instead of am30.
* configure.in: Add mn103tim and mn103ser to hw_device list.
* configure: Re-generate.
-end-sanitize-am30
-start-sanitize-am30
* dv-mn103int.c, dv-mn103cpu.c: Rename *_callback to *_method.
* interp.c (sim_open): Create a polling PAL device.
-end-sanitize-am30
* dv-mn103int.c (mn103int_port_event):
* configure: Regenerated to track ../common/aclocal.m4 changes.
-start-sanitize-am30
* interp.c (hw): Delete variable, moved to SIM_DESC.
* configure: Regenerated to track ../common/aclocal.m4 changes.
-end-sanitize-am30
-start-sanitize-am30
* dv-mn103cpu.c (deliver_mn103cpu_interrupt): Save the entire PC
* mn10300.igen (mov (Di,Am),Dn): Fix decode. Registers were
specified in the wrong order.
-end-sanitize-am30
-start-sanitize-am30
* dv-mn103cpu.c (deliver_mn103cpu_interrupt): Stop loss of
succeeding interrupts, clear pending_handler when the handler
isn't re-scheduled.
-end-sanitize-am30
* Makefile.in (tmp-igen): Prefix all usage of move-if-change
* simops.c (OP_F0FD): Initialise variable 'sp'.
-start-sanitize-am30
* dv-mn103int.c (decode_group): A group register every 4 bytes not
(write_icr): Rewrite equation updating request field.
(read_iagr): Fix check that interrupt is still pending.
-end-sanitize-am30
-start-sanitize-am30
* interp.c (sim_open): Tidy up device creation.
block offsets.
(read_icr, write_icr): Convert block offset into group offset.
-end-sanitize-am30
* interp.c (sim_open): Create second 1mb memory region at
0x40000000.
(sim_open): Create a device tree.
(sim-hw.h): Include.
-start-sanitize-am30
(do_interrupt): Delete, needs to use dv-mn103cpu.c
* dv-mn103int.c, dv-mn103cpu.c: New files.
-end-sanitize-am30