Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2000-09-05 | Fix 68HC11 SPI simulator | Stephane Carrez | 2 | -8/+38 | |
2000-08-28 | 2000-08-28 Dave Brolley <brolley@redhat.com> | Dave Brolley | 11 | -181/+346 | |
* Makefile.in: Use of @true confuses VPATH. Remove it. * cpu.h: Regenerated. * cpux.h: Regenerated. * decode.c: Regenerated. * decodex.c: Regenerated. * model.c: Regenerated. * modelx.c: Regenerated. * sem-switch.c: Regenerated. * sem.c: Regenerated. * semx-switch.c: Regenerated. | |||||
2000-08-28 | 2000-08-28 Dave Brolley <brolley@redhat.com> | Dave Brolley | 3 | -78/+176 | |
* cpu.h: Regenerated. * decode.c: Regenerated. | |||||
2000-08-28 | 2000-08-28 Dave Brolley <brolley@redhat.com> | Dave Brolley | 2 | -1/+13 | |
* cgen-trace.c (sim_cgen_disassemble_insn): Make sure entire insn is in insn_value if it will fit. | |||||
2000-08-22 | Forgot to check this in with last commit! | Dave Brolley | 1 | -0/+15 | |
2000-08-21 | * Contribute CGEN simulator build support code. | Frank Ch. Eigler | 9 | -4/+325 | |
* Patch was posted by bje@redhat.com. | |||||
2000-08-15 | 2000-08-15 Dave Brolley <brolley@redhat.com> | Dave Brolley | 1 | -2/+2 | |
* sim-profile.c (profile_print_speed): Print cpu frequency if not zero. | |||||
2000-08-15 | 2000-08-15 Dave Brolley <brolley@redhat.com> | Dave Brolley | 2 | -6/+103 | |
* sim-profile.h (PROFILE_DATA): Add cpu_freq. (PROFILE_CPU_FREQ): New macro. * sim-profile.c (OPTION_PROFILE_CPU_FREQUENCY): New enumerator. (profile-options): Add profile-cpu-frequency. (parse_frequency): New function. (profile_option_handler): Handle OPTION_PROFILE_CPU_FREQUENCY. (profile_print_speed): Print cpu frequency and simulated execution time. Re-indent other items to match. | |||||
2000-08-15 | Compute write back value for post increment loads before | Nick Clifton | 2 | -34/+47 | |
performing the load in case the offset register is overwritten. | |||||
2000-08-11 | Use address mapping levels for 68hc11 simulator (kill overlap hack) | Stephane Carrez | 9 | -39/+67 | |
2000-08-11 | 2000-08-10 Kazu Hirata <kazu@hxi.com> | Kazu Hirata | 2 | -8/+10 | |
* compile.c (decode): Clean up the code. | |||||
2000-08-11 | Eliminate use of MIN(). | Andrew Cagney | 2 | -2/+7 | |
2000-08-09 | * am33.igen: Warning clean-up. | Alexandre Oliva | 2 | -42/+24 | |
(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. | |||||
2000-07-27 | * Usability improvement | Frank Ch. Eigler | 2 | -1/+6 | |
2000-07-27 Frank Ch. Eigler <fche@redhat.com> From Maciej W. Rozycki <macro@ds2.pg.gda.pl> * Makefile.in (install): Install run.1 man page. | |||||
2000-07-27 | Don't clean *.igen. | Andrew Cagney | 2 | -1/+6 | |
2000-07-27 | 2000-06-23 Doug Evans <dje@casey.transmeta.com> | Andrew Cagney | 2 | -8/+10 | |
* Makefile.in (headers,nltvals.def): Merge. | |||||
2000-07-27 | 2000-06-25 Stephane Carrez <Stephane.Carrez@worldnet.fr> | Andrew Cagney | 3 | -2/+9 | |
* nrun.c (main): Print the simulator statistics only in verbose mode. * hw-properties.h (hw_find_integer_array_property): Fix prototype (use signed_cell). | |||||
2000-07-27 | 2000-06-25 Stephane Carrez <Stephane.Carrez@worldnet.fr> | Andrew Cagney | 5 | -0/+39 | |
* sim-events.c (sim_events_remain_time): New function returning the time that remains before the event is raised. * hw-events.c (hw_event_remain_time): Likewise. * sim-events.h (sim_events_remain_time): Declare. * hw-events.h (hw_event_remain_time): Declare. | |||||
2000-07-27 | 2000-06-25 Stephane Carrez <Stephane.Carrez@worldnet.fr> | Andrew Cagney | 2 | -1/+17 | |
* sim-hw.c: Use <errno.h> instead of <sys/errno.h> (OPTION_HW_LIST): New option --hw-list to list the devices. (hw_option_handler): List the device tree with 'sim_hw_print'. | |||||
2000-07-27 | Add m68hc11 configry. | Andrew Cagney | 5 | -0/+4366 | |
2000-07-27 | New simulator. | Andrew Cagney | 16 | -0/+7449 | |
2000-07-27 | From 2000-06-25 Stephane Carrez <Stephane.Carrez@worldnet.fr>: | Andrew Cagney | 4 | -2/+126 | |
* sim-bits.h (_MSB_16, _LSB_16): Define for 16-bit targets. (MASK, LSBIT, MSBIT): Likewise and use _MSB_16 and _LSB_16. (EXTENDED): Define for 16-bit word size. * sim-bits.c (LSEXTRACTED, MSEXTRACTED, LSINSERTED, MSINSERTED, LSSEXT, MSSEXT): Implement for 16-bit word size. * sim-types.h: Added support for 16-bit targets. | |||||
2000-07-27 | * compile.c (decode): Distinguish inc/dec.[wl] and adds/subs | Andrew Cagney | 2 | -1/+11 | |
correctly. | |||||
2000-07-20 | * m16.igen (break): Call SignalException not sim_engine_halt. | Andrew Cagney | 2 | -1/+5 | |
2000-07-14 | 2000-07-14 Fernando Nasser <fnasser@cygnus.com> | Fernando Nasser | 2 | -1/+5 | |
* wrapper.c (sim_create_inferior): Fix typo in the previous patch. | |||||
2000-07-14 | 2000-07-14 Fernando Nasser <fnasser@cygnus.com> | Fernando Nasser | 2 | -0/+9 | |
* wrapper.c (sim_create_inferior): Reset mode to ARM when creating a new inferior. | |||||
2000-07-05 | Change minimum loop size limit to 0x10 (103792) | Nick Clifton | 2 | -1/+5 | |
2000-07-04 | * armvirt.c (ABORTS): Do not define. | Alexandre Oliva | 2 | -1/+3 | |
2000-07-04 | * armdefs.h (struct ARMul_State): Add is_StrongARM. | Alexandre Oliva | 5 | -11/+59 | |
(ARM_Strong_Prop, STRONGARM): Define. * arminit.c (ARMul_NewState): Reset is_StrongARM. (ARMul_SelectProcessor): Set is_StrongARM. * wrapper.c (sim_create_inferior): Use bfd machine type to determine processor type to emulate. * armemu.h (BUSUSEDINCPCS, BUSUSEDINCPCN): Don't increment PC when emulating StrongARM. | |||||
2000-07-04 | * armemu.c (ARMul_Emulate, t_undefined): Proceed to next insn. | Alexandre Oliva | 2 | -1/+3 | |
2000-07-04 | * armemu.h (INSN_SIZE): New macro. | Alexandre Oliva | 4 | -45/+48 | |
(SET_ABORT): Save CPSR in SPSR and set LR. * armemu.c (ARMul_Emulate, isize): Set to INSN_SIZE. (WriteR15, WriteSR15): Do not discard bit 1 in Thumb mode. * arminit.c (ARMul_Abort): Use new SETABORT and INSN_SIZE. | |||||
2000-07-04 | * armemu.c (LoadSMult): Use WriteR15() to discard the least | Alexandre Oliva | 2 | -2/+5 | |
significant bits of PC. | |||||
2000-07-04 | * armemu.h (WRITEDESTB): New macro. | Alexandre Oliva | 3 | -37/+48 | |
* armemu.c (ARMul_Emulate26, bl): Use WriteR15Branch() to modify PC. Moved the existing logic... (WriteR15Branch): ... here. New function. (WriteR15, WriteSR15): Drop the two least significant bits. (LoadSMult): Use WriteR15Branch() to modify PC. (LoadMult): Use WRITEDESTB() instead of WRITEDEST(). | |||||
2000-07-04 | * armemu.h (GETSPSR): Call ARMul_GetSPSR(). | Alexandre Oliva | 3 | -4/+18 | |
* armsupp.c (ARMul_CPSRAltered): Zero out bits as they're extracted from state->Cpsr, but preserve the unused bits. (ARMul_GetCPSR): Get bits preserved in state->Cpsr. (ARMul_GetSPSR, ARMul_FixCPSR): Use ARMul_GetCPSR() to get the full CPSR word. | |||||
2000-07-04 | * armemu.h (PSR_FBITS, PSR_SBITS, PSR_XBITS, PSR_CBITS): New. | Alexandre Oliva | 4 | -30/+40 | |
(SETPSR_F, SETPSR_S, SETPSR_X, SETPSR_C): New macros. (SETPSR, SET_INTMODE, SETCC): Removed. * armsupp.c (ARMul_FixCPSR, ARMul_FixSPSR): Do not test bit mask. Use SETPSR_* to modify PSR. (ARMul_SetCPSR): Load all bits from value. * armemu.c (ARMul_Emulate, msr): Do not test bit mask. | |||||
2000-07-04 | * armemu.c (ARMul_Emulate): Compute writeback value before | Alexandre Oliva | 2 | -8/+20 | |
loading, since the offset register may be the destination register. | |||||
2000-07-04 | * armdefs.h (SYSTEMBANK): Define as USERBANK. | Alexandre Oliva | 3 | -8/+6 | |
* armsupp.c (ARMul_SwitchMode): Remove SYSTEMBANK cases. | |||||
2000-07-04 | TIc80 simulator. | Andrew Cagney | 18 | -1/+8613 | |
2000-07-04 | Fix MOVN.fmt and MOVZ.fmt, need to test GPR[RT]. | Andrew Cagney | 2 | -14/+14 | |
2000-06-24 | * verbosity reduction | Frank Ch. Eigler | 2 | -2/+5 | |
2000-06-23 Frank Ch. Eigler <fche@redhat.com> * cgen-trace.h (TRACE_USEFUL_MASK): Remove TRACE_EVENTS_IDX. | |||||
2000-06-24 | * build cleanliness fix | Frank Ch. Eigler | 2 | -1/+6 | |
2000-06-24 Frank Ch. Eigler <fche@redhat.com> From Maciej W. Rozycki <macro@ds2.pg.gda.pl>: * Makefile.in (distclean): Clean cconfig.h also. | |||||
2000-06-23 | Fix printf arguments. | Andrew Cagney | 2 | -3/+8 | |
2000-06-22 | * armemu.c (Multiply64): Fix computation of flag N. | Alexandre Oliva | 2 | -4/+5 | |
2000-06-22 | * armemu.c (MultiplyAdd64): Fix computation of flag N. | Alexandre Oliva | 2 | -4/+7 | |
2000-06-20 | * build fix | Frank Ch. Eigler | 2 | -21/+11 | |
2000-06-20 Frank Ch. Eigler <fche@redhat.com> * compile.c: Don't include "wait.h". (sim_resume): Use local SIM_WIFEXITED and SIM_WIFSIGNALED macros instead of WIF* from host. | |||||
2000-06-20 | * armemu.h (NEGBRANCH): Do not overwrite the two most significant | Alexandre Oliva | 2 | -1/+6 | |
bits of the offset. | |||||
2000-06-19 | Add strongarm tests | Nick Clifton | 2 | -1/+10 | |
2000-06-13 | * "Dont" -> "Don't" | Frank Ch. Eigler | 3 | -2/+6 | |
2000-06-13 Frank Ch. Eigler <fche@redhat.com> * compile.c, writecode.c: Correct typo. | |||||
2000-06-13 | 2000-06-13 Kazu Hirata <kazu@hxi.com> | Jeff Law | 2 | -47/+36 | |
* compile.c: Fix formatting. | |||||
2000-06-07 | sh-dsp support, simulator speedup by using host byte order: | Joern Rennecke | 1 | -1/+4 | |
* Makefile.in (interp.o): Depends on ppi.c . (ppi.c): New rule. * gencode.c (printonmatch, think, genopc): Deleted. (MAX_NR_STUFF): Now 42. (tab): Add SH-DSP CPU instructions. Amalgamate ldc / stc / lds / sts instructions with similar bit patterns. Fix opcodes of stc Rm_BANK,@-<REG_N>. Fix semantics of lds.l @<REG_N>+,MACH (no sign extend). (movsxy_tab): New array. For movs, change MMMM field to GGGG, and mmmm field to MMMM. Added entries for movx, movy and parallel processing insns. (ppi_tab): New array. (qfunc): Stabilize sort. (expand_opcode): Handle [01][01]NN, [01][01]xx and [01][01]yy. Handle 'M', 'G' 's' 'X', 'a', 'Y' and 'A'. (dumptable): Now takes three arguments. Changed all callers. Emit just one contigous jump table. (filltable): Now takes an argument. Changed all callers. Make index static. (ppi_moves, expand_ppi_code, ppi_filltable, ppi_gensim): New functions. (gensim_caselist): New function, broken out of gensim. Handle opcode fields 'x', 'y', 's', 'M', 'G', 'X', 'a', and 'Y'. Handle ref '9'. (gensim): Handle 'N' in code field and '8' in refs field. Call gensim_caselist - twice. (ppi_index): New static variable. (main): Unsupport default action. Add dsp support for -x / -s option. Add -p option. * interp.c (sh_jump_table, sh_dsp_table, ppi_table): Declare. (saved_state_type): Rearrange to allow amalgamated ldc / stc / lds / sts to work efficiently. (target_dsp): New static variable. (GBR, VBR, SSR, SPC, MACH, MACL): Reflect saved_state_type change. (FPUL, Rn_BANK, SET_Rn_BANK, M, Q, S, T, SR_BL, SR_RB): Likewise. (SR_MD, SR_RC, SET_SR_BIT, GET_SR, SET_RC, GET_FPSCR): Likewise. (RS, RE, MOD, MOD_ME, DSP_R): Likewise. (set_fpscr1): Likewise. Use target_dsp to check for dsp. (MOD_MSi, SIG_BUS_FETCH): Deleted. (CREG, SREG, PR, SR_MASK_DMY, SR_MASK_DMX, SR_DMY): New macros. (SR_DMX, DSR, MOD_DELTA, GET_DSP_GRD): Likewise. (SET_MOD): Reflect saved_state_type change. Set MOD_DELTA instead of MOD_MS, and encode SR_DMY / SR_DMX into high word of MOD_ME. (set_sr): Reflect saved_state_type change. Fix SR_RB handling. Use SET_MOD. (MA, L, TL, TB): Now controlled by ACE_FAST. (SEXT32): Just cast to int. (SIGN32): Fixed to only shift by 31. (CHECK_INSN_PTR): SIGBUS at insn fetch now represented by insn_end 0. (ppi_insn): Declare. (ppi.c): Include. (init_dsp): Set target_dsp. When it changes, switch end of sh_jump_table with sh_dsp_table. (sim_resume) Don't declare sh_jump_table0. Use sh_jump_table instead. Don't Declare PR if it's #defined. Fix single-stepping (Was broken in Mar 6 16:59:10 patch). (sim_store_register, sim_read_register): Translate accesses to reflect saved_state_type change. * interp.c (set_sr): Set sr. (SET_RC, MOD, MOD_MS, MOD_ME, SET_MOD, MOD_MS, MOD_ME): New macros. (set_fpscr1): Don't bank-switch fpu registers when simulating sh-dsp. (DSP_R): Fix definition. (sim_resume): Remove outdated SET_SR use. * interp.c (saved_state): New members for struct member asregs: rs, re, insn_end, xram_start, yram_start. (struct loop_bounds): New struct. (SKIP_INSN): New macro. (get_loop_bounds): New function. (endianw): Renamed to global_endianw. (maskw): negated bits. (PC): Now insn_ptr. (SR_MASK_RC, SR_RC_INCREMENT, SR_RC, RAISE_EXCEPTION): New macros. (RS, RE, DSP_R, DSP_GRD, A1, A0, X0, X1, Y0, Y1, M0, A1G): Likewise. (M1, A0G, RIAT, PT2H, PH2T, SET_NIP, CHECK_INSN_PTR): Likewise. (SIG_BUS_FETCH): Likewise (raise_exception, riat_fast): New functions. (raise_buserror, sim_stop): Use raise_exception. (PROCESS_SPECIAL_ADDRESS): Use xram_start / yram_start. (BUSERROR, WRITE_BUSERROR, READ_BUSERROR): Reverse sense of mask argument. (FP_OP, set_dr): Use RAISE_EXCEPTION. (wlat_fast, wwat_fast, wbat_fast, rlat_fast, rwat_fast, rbat_fast): Declare. Remove redundant masking. (wwat_fast, rwat_fast): Add argument endianw. Changed callers. (MA): Updated for change pc -> PC. (Delay_Slot): Use RIAT. (empty): Deleted. (trap): Remove argument little_endian. Add argument endianw. Changed all callers. Use raise_exception. (macw): Add argument endainw. Changed all callers. (init_dsp): New function, extended after broken out of init_pointers. (sim_resume): Replace pc with insn_ptr. Replace little_endian with endianw. Replace nia with nip. Reverse sense of maskb / maskw / maskl. Implement logic for zero-overhead loops. Don't try to interpret garbage when getting a SIGBUS at insn fetch. (sim_open): Call init_dsp. * gencode.c (tab): Use SET_NIP instead of nia = . Use PH2T / PT2H / RAISE_EXCEPTION where appropriate. Add extra cycles for brai, braf , bsr, bsrf, jmp, jsr. * interp.c (sim_store_register, sim_fetch_register): Do proper endianness switch. * interp.c (saved_state_type): New members for struct member asregs: xymem_select, xmem, ymem, xmem_offset, ymem_offset. (special_address): Delete. (BUSERROR): Now a two-argument predicate. (PROCESS_SPECIAL_ADDRESS, WRITE_BUSERROR, READ_BUSERROR): New macros. (wlat_little, wwat_little, wbat_any, wlat_big, wwat_big): Delete. (process_wlat_addr, process_wwat_addr): New functions. (process_wbat_addr, process_rlat_addr, process_rwat_addr): Likewise. (process_rbat_addr): Likewise. (wlat_fast, wwat_fast, wbat_fast): Use WRITE_BUSERROR. (rlat_little, rwat_little, rbat_any, rlat_big, rwat_big): Delete. (rlat_fast, rwat_fast, rbat_fast): Use READ_BUSERROR. (RWAT, RLAT, RBAT, WWAT, WLAT, WBAT): Delete SLOW versions. (do_rdat, trap): Delete SLOW code. (SEXT32, SIGN32): New macros. (swap, swap16): Now integer in - integer out. Changed all callers. (strswaplen, strnswap): Delete SLOW versions. (init_pointers): Initialize dsp memory selection (preliminary). (sim_store_register, sim_fetch_register): Use swap instead of big / little endian read / write functions. * interp.c (maskl): Deleted. (endianw, endianb): New variables. (special_address): Now inline. (bp_holder): Put raising of buserror there, rename to: (raise_buserror). (BUSERROR): Now yields a value. Changed all users. (wbat_big): Delete. (wlat_fast, wwat_fast, wbat_fast): New functions. (rlat_fast, rwat_fast, rbat_fast): Likewise. (RWAT, RLAT, RBAT, WWAT, WLAT, WBAT): Use new functions. (do_rdat, do_wdat): Likewise. Take maskl argument instead of little_endian one. Changed caller macros. (swap, swap16): Use w[rw]lat_big / w[rw]lat_little directly. (strswaplen, strnswap): New functions. (trap): Use them to fix up endian mismatches; disable SYS_execve and SYS_execv; fix double address translation for SYS_pipe and SYS_stat. (sym_write, sym_read): Add endianness translation. (sym_store_register, sym_fetch_register): Add maskl local variable. (sim_open): Set endianw and endianb. |