* gencode.c (build_instruction, case JUMP): Truncate PC to 32 bits.
* interp.c (CHECKHILO): Define away.
(simSIGINT): New macro.
(membank_size): Increase from 1MB to 2MB.
(control_c): New function.
(sim_resume): Rename parameter signal to signal_number. Add local
variable prev. Call signal before and after simulate.
(sim_stop_reason): Add simSIGINT support.
(sim_warning, sim_error, dotrace, SignalException): Define as stdarg
functions always.
(sim_warning): Delete call to SignalException. Do call printf_filtered
if logfh is NULL.
(AddressTranslation): Add #ifdef DEBUG around debugging message and
a call to sim_warning.
to the OP_* declarations.
(write_template): Similarly for function templates.
* interp.c (insn, extension): Remove global variables. Instead
pass them as arguments to the OP_* functions.
* mn10300_sim.h: Remove decls for "insn" and "extension".
* simops.c (OP_*): Accept "insn" and "extension" as arguments
instead of using globals.
Starting to clean things up.
* Makefile.in: Only link in -ltermcap if it exists.
* erc32.c: Update to version 2.6a. Fix uart handling.
* exec.c: Update to version 2.6a. Add sparclite support.
* float.c: Update to version 2.6a. Convert comments to
preprocessor warnings. Add __setfpucw() for i385 hosts so floating
point exceptions work.
* func.c: Update to version 2.6a. Fix uart handling, add support
for user error traps.
* help.c: Update to version 2.6a. Add help note on user error
traps.
* interf.c: Update to version 2.6a. Fix uart handling, and add
sparclite support.
* examples/gccx: Use sparclite cross compiler, not native gcc.
* examples/srt0.S: Use "mov" rather than "wr" for manipulating
the psr register.
(REG_MDR): Define.
* simops.c: Implement "cmp", "calls", "rets", "jmp" and
a few additional random insns.
We can now function calls. We get out of crt0 into main now, then lose
when calls are nested (because don't handle movm yet).
(REG_D0, REG_A0, REG_SP): Define.
* simops.c: Implement "add", "addc" and a few other random
instructions.
Starting to simulate instructions for the mn10300. Executes some of
the crt0 code now!
* gencode.c (inst_type): Add mips16 instruction encoding types.
(GETDATASIZEINSN): Define.
(MIPS_DECODE): Add REG flag to dsllv, dsrav, and dsrlv. Add
jalx. Add LEFT flag to mfhi and mflo. Add RIGHT flag to mthi and
mtlo.
(MIPS16_DECODE): New table, for mips16 instructions.
(bitmap_val): New static function.
(struct mips16_op): Define.
(mips16_op_table): New table, for mips16 operands.
(build_mips16_operands): New static function.
(process_instructions): If PC is odd, decode a mips16
instruction. Break out instruction handling into new
build_instruction function.
(build_instruction): New static function, broken out of
process_instructions. Check modifiers rather than flags for SHIFT
bit count and m[ft]{hi,lo} direction.
(usage): Pass program name to fprintf.
(main): Remove unused variable this_option_optind. Change
``*loptarg++'' to ``loptarg++''.
(my_strtoul): Parenthesize && within ||.
* interp.c (sim_trace): If tracefh is NULL, set it to stderr.
(LoadMemory): Accept a halfword pAddr if vAddr is odd.
(simulate): If PC is odd, fetch a 16 bit instruction, and
increment PC by 2 rather than 4.
* configure.in: Add case for mips16*-*-*.
* configure: Rebuild.
(SIM_OBJS): Define.
* configure.in: Simplify using macros in ../common/aclocal.m4.
* configure: Regenerated.
* inst.h (enum sim_state): Define.
(cpu_state_type): New member `state'. Set it whenever `exception'
is set.
* compile.c (sim_callback): New global.
(sim_set_simcache_size): Renamed from sim_csize.
(sim_resume, case O_SLEEP): Add right way to decode r0 but #if 0 out
'cus it can't work. Change main loop exit test to use cpu.state.
(sim_trace): New function.
(sim_stop_reason): Add right way to set results, but #if 0 out.
(sim_size): New function.
(sim_info): Redirect calls to printf_filtered through callback.
(sim_set_callbacks): Record callback.
* run.c: Deleted, using one in ../common now.
* tconfig.in: New file.
(SIM_{OBJS,EXTRA_LIBS,EXTRA_LIBDEPS,EXTRA_ALL,EXTRA_INSTALL}): Define.
(SIM_{EXTRA_CLEAN,EXTRA_CFLAGS}): Define.
* configure.in: Simplify using macros in ../common/aclocal.m4.
Call AC_CHECK_HEADERS(stdlib.h).
* configure: Regenerated.
* config.in: New file.
* func.c (sim_set_callbacks): Delete, moved to
* interf.c (sim_set_callbacks): here.
(sim_callback): New global.
Rewrite all calls to printf_filtered to go through callback.
(sim_size,sim_trace): New functions.
(sim_{insert,remove}_breakpoint): #if 0 out.
* sis.c: #include "config.h". #include <stdlib.h> if present.
(main): Coerce fprintf arg to INIT_DISASSEMBLE_INFO to fprintf_ftype.
* sis.h: #include "callback.h".