📄 changelog
字号:
2004-08-27 Richard Sandiford <rsandifo@redhat.com> * cpu.[ch], arch.[ch], decode.[ch]: Regenerated. * cpuall.h, model.c, sem.c: Regenerated.2004-03-01 Richard Sandiford <rsandifo@redhat.com> * Makefile.in (SIM_OBJS): Add profile-fr450.o. (profile-fr450.o): New dependency. (stamp-cpu): Add fr450 to the list of machs. * sim-frv.h (SPR_IS_ACC): New macro. (H_SPR_ACC4, H_SPR_ACC63, H_SPR_ACCG4, H_SPR_ACCG63): Delete. * cache.c (frv_cache_init, non_cache_access): Handle bfd_mach_fr450. * frv.c (check_register_alignment, check_fr_register_alignment) (check_memory_alignment, do_media_average): Likewise. (frvbf_clear_accumulators): Likewise. Use a mask of valid registers rather than a consecutive range. * interrupts.c (frv_queue_illegal_instruction_interrupt) (frv_queue_non_implemented_instruction_interrupt): Handle bfd_mach_fr450. * memory.c (check_data_read_address, check_readwrite_address) (check_insn_read_address, check_write_address): Likewise. * mloop.in (@cpu@_simulate_insn_prefetch): Likewise. * profile.c (reset_gr_flags, reset_fr_flags, reset_acc_flags) (frvbf_model_insn_before, frvbf_model_insn_after): Likewise. * profile-fr450.c: New file. * registers.c (fr450_spr): New array. (frv_register_control_init): Check its size. Use it for fr450. (frv_check_register_access): Handle bfd_mach_fr450. (frv_check_spr_read_access): Likewise. Generalize accumulator check. * traps.c (frv_core_signal, frvbf_media_cr_not_aligned): Likewise. (frvbf_media_acc_not_aligned): Likewise. (frvbf_media_register_not_aligned): Likewise. * arch.c: Regenerate. * arch.h: Regenerate. * cpu.h: Regenerate. * cpuall.h: Regenerate. * decode.h: Regenerate. * model.c: Regenerate.2004-03-01 Richard Sandiford <rsandifo@redhat.com> * cache.c (frv_cache_init): Change fr400 cache statistics to match the fr405. (non_cache_access): Add missing breaks. * interrupts.c (set_exception_status_registers): Always set EAR15 for data_access_errors. * memory.c (fr400_check_write_address): Remove redundant alignment check. * model.c: Regenerate.2004-03-01 Richard Sandiford <rsandifo@redhat.com> * frv.c (frvbf_iacc_cut): Rework, taking rounding into account.2004-03-01 Richard Sandiford <rsandifo@redhat.com> * decode.c, decode.h, model.c, sem.c: Regenerate.2003-11-24 Kevin Buettner <kevinb@redhat.com> * frv-sim.h (GR_REGNUM_MAX, FR_REGNUM_MAX, PC_REGNUM, SPR_REGNUM_MIN) (SPR_REGNUM_MAX): Delete. * frv.c (gdb/sim-frv.h): Include. (frvbf_fetch_register, frvbf_store_register): Use register number constants from gdb/sim-frv.h. Check availability of general purpose and float registers.2003-11-03 Dave Brolley <brolley@redhat.com> * cache.c (address_interference): Check for higher priority requests in the same pipeline.2003-10-31 Dave Brolley <brolley@redhat.com> * frv-sim.h (LR_REGNUM): Removed. (SPR_REGNUM_MIN,SPR_REGNUM_MAX): New macros. * frv.c (frvbf_fetch_register): Fetch SPR registers based on SPR_REGNUM_MIN and SPR_REGNUM_MAX. Check whether SPRs are implemented. Return 0 for an unimplemented register. Return the length of the data for an implemented register. (frvbf_store_register): Ditto.2003-10-30 Andrew Cagney <cagney@redhat.com> * traps.c: Replace "struct symbol_cache_entry" with "struct bfd_symbol".2003-10-10 Dave Brolley <brolley@redhat.com> * cpu.h, sem.c: Regenerate.2003-10-06 Dave Brolley <brolley@redhat.com> * profile-fr550.[ch]: New files. * configure.in: Move frv handling to alphabetically correct placement. * Makefile.in: Add fr550 support. * frv-sim.h,frv.c,interrups.c,memory.c,mloop.in,pipeline.c, profile.[ch],registers.c,traps.c: Add fr550 support. * arch.c,arch.h,cpu.c,cpu.h,cpuall.h,model.h,decode.c,decode.h,sem.c: Regenerate.2003-09-25 Dave Brolley <brolley@redhat.com> * reset.c (frv_initialize): Call frv_register_control_init first.2003-09-24 Dave Brolley <brolley@redhat.com> * profile.h (update_FR_ptime): New prototype. (update_FRdouble_ptime): Ditto. (update_SPR_ptime): Ditto. (increase_ACC_busy): Ditto. (enforce_full_acc_latency): Ditto. (post_wait_for_SPR): Ditto. * profile.c (update_FR_ptime): Moved here from profile-fr500.c. (update_FRdouble_ptime): Ditto. (update_SPR_ptime): New function. (increase_ACC_busy): Ditto. (enforce_full_acc_latency): Ditto. (vliw_wait_for_fdiv_resource): Correct resource name. (vliw_wait_for_fsqrt_resource): Ditto. (post_wait_for_SPR): New function. * profile-fr500.c (frvbf_model_fr500_u_commit): New function. (frvbf_model_fr500_u_gr2fr): Pass out_FRk as output register to adjust_float_register_busy. (frvbf_model_fr500_u_gr_load): Record latency of SPR registers. (frvbf_model_fr500_u_fr_load): Wait for and record latency of SPR registers. (frvbf_model_fr500_u_float_arith): Ditto. (frvbf_model_fr500_u_float_dual_arith): Ditto. (frvbf_model_fr500_u_float_div): Ditto. (frvbf_model_fr500_u_float_sqrt): Ditto. (frvbf_model_fr500_u_float_convert): Ditto. (update_FR_ptime): Moved to profile.c (update_FRdouble_ptime): Moved to profile.c * profile-fr400.c (update_FR_ptime): Removed. Identical to functions for other machines. (update_FRdouble_ptime): Ditto. * arch.h,cpu.h,sem.c,decode.[ch],model.c,sem.c: Regenerated.2003-09-12 Dave Brolley <brolley@redhat.com> * registers.c (frv_check_spr_read_access): Check for access to ACC4-ACC63 and ACCG4-ACCG63. * profile.h (frv-desc.h): #include it. (spr_busy): New member of FRV_PROFILE_STATE. (spr_latency): Ditto. (GNER_FOR_GR): New macro. (FNER_FOR_FR): New maccro. (update_SPR_latency): New function. (vliw_wait_for_SPR): New function. * profile.c (update_latencies): Update SPR latencies. (update_target_latencies): Ditto. (update_SPR_latency): New function. (vliw_wait_for_SPR): New function. * profile-fr500.c (frvbf_model_fr500_u_idiv): Record GNER latency. (frvbf_model_fr500_u_trap): Removed unused variable, ps. (frvbf_model_fr500_u_check): Ditto. (frvbf_model_fr500_u_clrgr): New unit modeller for fr500. (frvbf_model_fr500_u_clrfr): Ditto. (frvbf_model_fr500_u_spr2gr): Wait for SPR. (frvbf_model_fr500_u_gr2spr): Ditto. * frv-sim.h (H_SPR_ACC4): New macro. (H_SPR_ACCG4): New macro; (H_SPR_ACC0): Removed. (H_SPR_ACCG0): Removed. * arch.h,model.c,sem[ch],decode.[ch]: Regenerated.2003-09-10 Dave Brolley <brolley@redhat.com> * profile.c (slot_names): FM1 was listed twice. Changed first instance to FM0. Added IALL, FMALL and FMLOW. (print_parallel): Don't examine slots with no insns.2003-09-09 Dave Brolley <brolley@redhat.com> * frv.c (do_media_average): Select machine using a switch.2003-09-08 Dave Brolley <brolley@redhat.com> On behalf of Doug Evans <dje@sebabeach.org> * Makefile.in (stamp-arch,stamp-cpu): Pass archfile to cgen. Remove copying of .cpu file to cgen/cpu, no longer needed.2003-09-03 Dave Brolley <brolley@redhat.com> * cpu.h, model.c, sem.c, decode.h, decode.c: Regenerated.2003-08-29 Dave Brolley <brolley@redhat.com> * Makefile.in (stamp-arch): Copy frv.cpu from $(srcdir)../../cpu temporarily when regenerating files. (stamp-cpu): Ditto.2003-08-20 Micheal Snyder <msnyder@redhat.com> * All generated files: Regenerate.2001-10-11 Dave Brolley <brolley@redhat.com> * cpu.h,decode.c,decode.h,sem.c: Regenerate.2001-10-09 Dave Brolley <brolley@redhat.com> * traps.c (frv_rett): Halt if PSR.S and PSR.ET are both set or both not set. * reset.c (frv_hardware_reset): Invalidate both caches. * registers.c: Update init, reset and read-only masks for all registers on all machines. * profile.h (cur_gr_complex): New field of FRV_PROFILE_STATE (prev_gr_complex): New field of FRV_PROFILE_STATE (set_use_is_gr_complex): New function. (set_use_not_gr_complex): New function. (use_is_gr_complex): New function. (decrease_GR_busy): New function. * profile.c (reset_gr_flags): New function. (reset_cc_flags): New function. (set_use_is_gr_complex): New function. (set_use_not_gr_complex): New function. (use_is_gr_complex): New function. (update_latencies): Reset gr and cc flags when latency reaches 0. (decrease_GR_busy): New function. * profile-fr400.h (fr500_reset_acc_flags): Removed. (fr500_reset_cc_flags): New function. * profile-fr500.c (frvbf_model_fr400_u_*): Reflect latencies from fr500 LSI version 1.41. * profile-fr400.h (fr400_reset_gr_flags): New function. (fr400_reset_fr_flags): New function. (fr400_reset_acc_flags): New function. * profile-fr400.c (set_use_not_media_p4): New function. (set_use_not_media_p6): New function. (set_acc_use_not_media_p2): New function. (set_acc_use_not_media_p4): New function. (fr400_reset_gr_flags): New function. (fr400_reset_fr_flags): New function. (fr400_reset_acc_flags): New function. (frvbf_model_fr400_u_*): Reflect latencies from fr400 LSI version 1.1. (frvbf_model_fr400_u_media_hilo): New function. * pipeline.c (frv_vliw_setup_insn): Don't clear MSR0.MTT. * memory.c (fr400_check_data_read_address): Check address range only for double word loads. Don't check alignment here. (fr400_check_readwrite_address): New function. (fr500_check_readwrite_address): New function. (check_readwrite_address): New function. (fr500_check_insn_read_address): Correct address ranges. (frvbf_read_mem_*): Check address range here. (frv_address_forbidden): Removed. (fr400_check_write_address): New function. (check_write_address): New function. (frvbf_write_mem_*): Don't check address range here. (frvbf_mem_set_*): Check address range here. * interrupts.c (frv_queue_data_access_error_interrupt): Now takes an address as second argument. (frv_queue_data_access_exception_interrupt): New function. (frv_queue_illegal_instruction_interrupt): Generate fp_exception for media insns on fr400. (frv_queue_non_implemented_instruction_interrupt): Generate mp_exception for media insns on fr400. (frv_detect_insn_access_interrupts): Don't check for illegal addresses of insns here. Check for MTRAP insn if PSR.EM is not set. (frv_set_mp_exception_registers): Only set MSR0.MTT if it is not already set. (set_exception_status_registers): Do not always set EPCR. Set EAR for data_acess_error only if not fr400. * frv.c (do_media_average): New function. (frvbf_media_average): New function. (frvbf_insn_cache_invalidate): Check for illegal invocation. (frvbf_data_cache_invalidate): Ditto. (frvbf_data_cache_flush): Ditto. * frv-sim.h (GET_FSR_QNE): New macro. (frv_msr_mtt): Remove MTT_SEQUENCE_ERROR. (GET_MSR_SRDAV): New macro. (GET_MSR_RDAV): New macro. (GET_MSR_RD): New macro. (frv_queue_data_access_error_interrupt): Now takes an address as second argument. (frv_address_forbidden): Removed. * cache.c (non_cache_access): Correct address ranges. Now takes cache as first argument. * arch.h,cpu.h,decode.c,decode.h,model.c,sem.c: Regenerate.2001-08-20 Dave Brolley <brolley@redhat.com> * sim-main.h (_sim_cpu): New field 'elf_flags'. * sim-if.c (sim_open): Extract the elf_flags from the input file and save them with each cpu. * mloop.in (main loop): Pass elf flags to frv_vliw_reset. Set last_insn_p before executing the insn. * cache.c (frv_cache_invalidate): Flush scache if this is the cpu's insn cache. (frv_cache_invalidate_all): Ditto.2001-08-20 Richard Sandiford <rsandifo@redhat.com> * traps.c (syscall_read_mem): Flush the data cache before reading. (syscall_write_mem): Flush the data cache before writing. Invalidate both caches.2001-07-05 Ben Elliston <bje@redhat.com> * Makefile.in (stamp-arch): Use $(CGEN_CPU_DIR). (stamp-cpu): Likewise.2001-05-23 Dave Brolley <brolley@redhat.com> * profile-fr400.c (acc_use_is_media_p2): New function. (frvbf_model_fr400_u_media_2): Account for latency of output accumulators. (frvbf_model_fr400_u_media_2_quad): Ditto. (frvbf_model_fr400_u_media_2_acc): New function. (frvbf_model_fr400_u_media_2_acc_dual): New function. (frvbf_model_fr400_u_media_2_add_sub): New function. (frvbf_model_fr400_u_media_2_add_sub_dual): New function. (frvbf_model_fr400_u_media_3_dual): New function. (frvbf_model_fr400_u_media_4_acc_dual): New function. * arch.h,cpu.h,decode.c,decode.h,model.c,sem.c: Regenerate.2001-05-15 Dave Brolley <brolley@redhat.com>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -