⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 changelog

📁 这个是LINUX下的GDB调度工具的源码
💻
📖 第 1 页 / 共 5 页
字号:
	performing the write.	(frvbf_mem_set_*): Overwrite the slot information of the interrupt	queue element with the information in the interrupt state.	* interrupts.c (frv_queue_interrupt): Call frv_set_interrupt_queue_slot.	(frv_queue_fp_exception_interrupt): Initialize 'new_element'.	(frv_set_interrupt_queue_slot): New function.	(esr_for_data_access_exception): New function.	(set_edr_register): edr_index is now passed in.	(fq_for_exception): New function.	(set_fp_exception_registers): Call fq_for_exception. Interrupt queue	element now passed in.	(set_exception_status_registers): Obtain slot from interrupt queue	element. Call esr_for_data_access_exception. Use ESR14	for data_store_error. Use ESR15 for data_access_error. Use EDR0.	(frv_save_data_written_for_interrupts): Save slot containing the insn	performing the write.	* frv-sim.h (struct frv_fp_exception_info): Use frv_fsr_traps and	frv_fsr_ftt.	(struct frv_interrupt_state): Add 'slot' field.	(frv_set_interrupt_queue_slot): New function.	(frv_set_write_queue_slot): New function.2000-03-24  Dave Brolley  <brolley@redhat.com>	* mloop.in (_parallel_write_init): Initialize	frv_interrupt_state.imprecise_interrupt.	(_parallel_write_queued): After an imprecise interrupt, only perform	forced writes and floating point writes (for certain exceptions).	* interrupts.c (handle_interrupt): Set	frv_interrupt_state.imprecise_interrupt for writeback after an imprecise	interrupt.	(frv_process_interrupts): No need to clear f_ne_flags.	* frv.c (frvbf_signed_integer_divide): Queue writes to GR registers and	force them to happen even if there is an overflow exception.	(frvbf_force_update): New function.	* frv-sim.h (frvbf_force_update): New function.	(struct frv_interrupt_state): Add imprecise_interrupt.	(FRV_WRITE_QUEUE_FORCE_WRITE): New macro.	* sem.c: Regenerate.2000-03-23  Dave Brolley  <brolley@redhat.com>	* traps.c (frv_rett): Queue FRV_ILLEGAL_INSTRUCTION directly.	* registers.c (frv_spr): MCIRL -> MCILR.	* interrupts.c (frv_queue_non_implemented_instruction_interrupt):	New function.	(frv_detect_insn_access_interrupts):	Call frv_queue_non_implemented_instruction_interrupt.	(frv_process_interrupts): Clear accumulated NE flags.	* frv.c (frvbf_media_cop): New function.	(frvbf_set_ne_index): Now takes (SIM_CPU *) as first argument.  Clear	the NE flag of the given target register.	(frvbf_model_fr500_u_float_arith): Account for FRdouble registers.	(frvbf_model_fr500_u_float_dual_arith): Account for FRdouble registers.	(frvbf_model_fr500_u_float_dual_sqrt): New function.	(frvbf_model_fr500_u_float_convert): Account for FRdouble registers.	(frvbf_model_fr500_u_float_dual_convert): New function.	* frv-sim.h (frvbf_media_cop): New function.	(GET_FQ): Use H_SPR_FQST0.	(SET_FQ): Use H_SPR_FQST0.	(SET_FQ_OPC): Use J_SPR_FQOP0.	(GET_MSR_EMCI): New macro.	(frv_queue_non_implemented_instruction_interrupt): New function.	* arch.h,cpu.h,decode.c,decode.h,model.c,sem.c: Regenerate.2000-03-08  Dave Brolley  <brolley@redhat.com>	* traps.c (frv_rett): Align new_pc.	* memory.c (frvbf_read_mem_HI): Align address.	(frvbf_read_mem_UHI): Align address.	(frvbf_read_mem_SI): Align address.	(frvbf_read_mem_DI): Align address.	(frvbf_read_mem_DF): Align address.	(frvbf_read_imem_USI): Align address.	(frvbf_mem_set_HI): Align address.	(frvbf_mem_set_SI): Align address.	(frvbf_mem_set_DI): Align address.	(frvbf_mem_set_DF): Align address.	(frvbf_mem_set_XI): Align address.	* registers.c (frv_spr): Initialize FSR0.NS to 1.	(fr500_spr): Initialize FSR0.NS to 1.	* interrupts.c (frv_queue_mem_address_not_aligned_interrupt): Check	whether the exception is masked.	* frv.c (frvbf_load_quad_GR): Align address.	(frvbf_store_quad_GR): Align address.	(frvbf_load_quad_FRint): Align address.	(frvbf_store_quad_FRint): Align address.	(frvbf_load_quad_CPR): Align address.	(frvbf_store_quad_CPR): Align address.	* frv-sim.h (GET_ISR_EMAM): New macro.2000-03-08  Dave Brolley  <brolley@redhat.com>	* traps.c (frvbf_division_exception): Check for masked overflow and	set NE flags, if necessary.	(frvbf_check_recovering_store): Queue writes to the hardware.	(check_registers_available): Removed.	(which_registers_available): Call frv_{fr,gr}_registers_available.	(frvbf_clear_ne_flags): Call check_register_access.	(frvbf_commit): Call check_register_access.	* registers.h (frv_fr_registers_available): New function.	(frv_gr_registers_available): New function.	(frv_check_register_access): New function.	(frv_check_gr_access): New function.	(frv_check_fr_access): New function.	* registers.c (frv_spr): Correct initial value of ISR.	(fr500_spr): Correct initial value of ISR.	(frv_fr_registers_available): New function.	(frv_gr_registers_available): New function.	(frv_check_register_access): New function.	(frv_check_gr_access): New function.	(frv_check_fr_access): New function.	* interrupts.c (frv_queue_division_exception_interrupt): New function.	(set_isr_exception_fields): New function.	(set_exception_status_registers): Set ISR fields for division exception.	(frv_save_data_written_for_interrupts): Handle CGEN_FN_SF_WRITE.	* frv.c (frvbf_h_gr_get_handler): New function.	(frvbf_h_gr_set_handler): New function.	(frvbf_h_fr_get_handler): New function.	(frvbf_h_fr_set_handler): New function.	(frvbf_h_spr_get_handler): Remove special handling for ISR.	(frvbf_h_spr_set_handler): Remove special handling for ISR.	(spr_isr_get_handler): Removed.	(spr_isr_set_handler): Removed.	(frvbf_signed_integer_divide): New funciton.	(frvbf_unsigned_integer_divide): New funciton.	* frv-sim.h (frvbf_h_gr_get_handler): New function.	(frvbf_h_gr_set_handler): New function.	(frvbf_h_fr_get_handler): New function.	(frvbf_h_fr_set_handler): New function.	(frvbf_signed_integer_divide): New funciton.	(frvbf_unsigned_integer_divide): New funciton.	(frv_dtt): New enumeration.	(struct frv_interrupt_queue_element): Add dtt member.	(GET_ISR): New macro.	(SET_ISR): New macro.	(GET_ISR_EDEM): New macro.	(SET_ISR_DTT): New macro.	(SET_ISR_AEXC): New macro.	(frvbf_division_exception): Add 2 'int' arguments.	(frvbf_check_non_excepting_divide): Removed.	* cpu.c,cpu.h,decode.c,decode.h,model.c,sem.c: Regenerate.2000-02-29  Dave Brolley  <brolley@redhat.com>	* traps.c (frv_itrap): Use GET_H_GR, SET_H_GR, GET_H_FR.	(frv_rett): Use hardware access macros. Write PSR as a whole.	(next_available_nesr): Check that NECR is valid.	(next_valid_nesr): Check that NECR is valid.	(frvbf_check_non_excepting_load): User new NECR access macros. Don't	call hardware access functions. Use cover macros.	(check_registers_available): New function.	(clear_nesr_near): Check register availability.	(clear_ne_flags): Check register availability.	(frvbf_clear_ne_flags): Check register availability.	(frvbf_commit): Check register availability.	(which_registers_available): New function.	* sim-main.h (registers.h): #include it.	(register_control): New cpu field.	(CPU_REGISTER_CONTROL): New macro.	* reset.c (frv_initialize): Set HSR0 fields for cache here.	(frv_power_on_reset): Initialize SPR registers and RSTR.	(frv_hardware_reset): Initialize SPR registers and RSTR.	(frv_software_reset): Reset SPR registers and RSTR.	* options.c (frv_option_handler): Don't set HSR0 fields for cache here.	Call frv_cache_init.	* mloop.in (main loop): Check for insn access interrupts before	executing the insn.	* interrupts.c (frv_queue_external_interrupt): Use GET_H_PSR_ET.	(frv_detect_insn_access_interrupts): Don't call hardware access	functions directly. Use cover macros.	(check_reset): Don't reset RSTR here.	(next_available_esr): ESFR -> ESFR_FLAG.	(next_available_edr): ESFR -> ESFR_FLAG.	(clear_exception_status_registers): Use GET_ESFR and SET_ESFR.	ESFR -> ESFR_FLAG.	(frv_break_interrupt): Don't call hardware access functions directly.	Use cover macros.	(frv_program_or_software_interrupt): Ditto.	(frv_external_interrupt): Ditto.	* frv.c (frvbf_fetch_register): Don't call 'get' functions directly.	(frvbf_store_register): Don't call 'set' functions directly.	(frvbf_h_gr_double_get_handler): Use GET_H_GR.	(frvbf_h_gr_double_set_handler): Use SET_H_GR.	(frvbf_h_fr_double_get_handler): Use GET_H_FR.	(frvbf_h_fr_double_set_handler): Use SET_H_FR.	(frvbf_h_fr_int_get_handler): Use GET_H_FR.	(frvbf_h_fr_int_set_handler): Use SET_H_FR.	(frvbf_h_cpr_double_get_handler): Use GET_H_CPR.	(frvbf_h_cpr_double_set_handler): Use SET_H_CPR.	(frvbf_h_gr_quad_set_handler): Use SET_H_GR.	(frvbf_h_fr_quad_set_handler): Use SET_H_FR.	(frvbf_h_spr_get_handler): Check SPR access. Call renamed functions.	Support shadow registers.	(frvbf_h_spr_set_handler): Check SPR access. Call renamed functions.	Support shadow registers.	(spr_psr_get_handler): Renamed from frvbf_h_psr_get_handler.	(spr_psr_set_handler): Renamed from frvbf_h_psr_set_handler.	(spr_tbr_get_handler): Renamed from frvbf_h_tbr_get_handler.	(spr_tbr_set_handler): Renamed from frvbf_h_tbr_set_handler.	(spr_bpsr_get_handler): Renamed from frvbf_h_bpsr_get_handler.	(spr_bpsr_set_handler): Renamed from frvbf_h_bpsr_set_handler.	(spr_ccr_get_handler): Renamed from frvbf_h_ccr_get_handler.	(spr_ccr_set_handler): Renamed from frvbf_h_ccr_set_handler.	(spr_lr_get_handler): Renamed from frvbf_h_lr_get_handler.	(spr_lr_set_handler): Renamed from frvbf_h_lr_set_handler.	(spr_cccr_get_handler): Renamed from frvbf_h_cccr_get_handler.	(spr_cccr_set_handler): Renamed from frvbf_h_cccr_set_handler.	(spr_isr_get_handler): Renamed from frvbf_h_isr_get_handler.	(spr_isr_set_handler): Renamed from frvbf_h_isr_set_handler.	(spr_sr_get_handler): Renamed from frvbf_h_sr_get_handler.	(spr_sr_set_handler): Renamed from frvbf_h_sr_set_handler.	(frvbf_h_psr_esr_set_handler): Update to conform to FRV architecture	version 1.3a.	(spr_ccr_get_handler): Don't reference the hardware directly.	(spr_ccr_set_handler): Don't reference the hardware directly.	(spr_cccr_get_handler): Don't reference the hardware directly.	(spr_cccr_set_handler): Don't reference the hardware directly.	(spr_sr_get_handler): New function.	(spr_sr_set_handler): New function.	(frvbf_switch_supervisor_user_context): Temporarily switch to	supervisor mode.	(frvbf_store_quad_GR): Don't call handler directly.	(frvbf_store_quad_FRint): Don't call handler directly.	(frvbf_store_quad_CPR): Don't call handler directly.	(frvbf_clear_all_accumulators): Removed.	(frvbf_clear_accumulators): New function.	(frvbf_model_fr500_u_media): Expand busy_adjustment to 8 members.	Account for in_ACCGi and out_ACCGk.	* frv-sim.h (RSTR_HARDWARE_RESET): New macro.	(RSTR_SOFTWARE_RESET): New macro.	(spr_psr_get_handler): Renamed from frvbf_h_psr_get_handler.	(spr_psr_set_handler): Renamed from frvbf_h_psr_set_handler.	(spr_tbr_get_handler): Renamed from frvbf_h_tbr_get_handler.	(spr_tbr_set_handler): Renamed from frvbf_h_tbr_set_handler.	(spr_bpsr_get_handler): Renamed from frvbf_h_bpsr_get_handler.	(spr_bpsr_set_handler): Renamed from frvbf_h_bpsr_set_handler.	(spr_ccr_get_handler): Renamed from frvbf_h_ccr_get_handler.	(spr_ccr_set_handler): Renamed from frvbf_h_ccr_set_handler.	(spr_lr_get_handler): Renamed from frvbf_h_lr_get_handler.	(spr_lr_set_handler): Renamed from frvbf_h_lr_set_handler.	(spr_cccr_get_handler): Renamed from frvbf_h_cccr_get_handler.	(spr_cccr_set_handler): Renamed from frvbf_h_cccr_set_handler.	(spr_isr_get_handler): Renamed from frvbf_h_isr_get_handler.	(spr_isr_set_handler): Renamed from frvbf_h_isr_set_handler.	(spr_sr_get_handler): Renamed from frvbf_h_sr_get_handler.	(spr_sr_set_handler): Renamed from frvbf_h_sr_set_handler.	(frvbf_clear_all_accumulators): Removed.	(frvbf_clear_accumulators): New function.	(GET_HSR0): Use GET_H_SPR.	(SET_HSR0): Use SET_H_SPR.	(CLEAR_HSR0_ICE): New macro.	(CLEAR_HSR0_DCE): New macro.	(GET_IHSR8): Use GET_H_SPR.	(GET_PSR): New macro.	(SET_PSR_ET): New macro.	(GET_PSR_PS): New macro.	(SET_PSR_S): New macro.	(GET_ESFR): Changed to reference entire register.	(SET_ESFR): Changed to reference entire register.	(GET_ESFR_FLAG): New macro.	(SET_ESFR_FLAG): New macro.	(NECR_ELOS): Removed.	(NECR_NEN): Removed.	(NECR_VALID): Removed.	(GET_NECR): New macro.	(GET_NECR_ELOS): New macro.	(GET_NECR_NEN): New macro.	(GET_NECR_VALID): New macro.	(NESR_RANGE): Removed.	(GET_NESR): Use GET_H_SPR.	(GET_NE_FLAGS): Use GET_H_SPR.	* cache.h (CACHE_INITIALIZED): New macro.	* Makefile.in (SIM_OBJS): Add registers.o.	(SIM_EXTRA_DEPS): Add registers.h.	(registers.o): New target.	* cpu.c,cpu.h,decode.c,decode.h,model.c,sem.c: Regenerate.2000-02-17  Dave Brolley  <brolley@redhat.com>	* interrupts.c (frv_interrupt_table): Update priority order and handler	offsets to conform to the architecture version 1.3a.	* frv-sim.h (frv_interrupt_kind): Update priority order to conform	to the architecture version 1.3a.2000-02-17  Dave Brolley  <brolley@redhat.com>	* interrupts.c (frv_interrupt_table): Update priority order and handler	offsets to conform to the latest specifications.	(frv_queue_interrupt): Correct comment. Identical interrupts can be	queued. New variable 'iclass' used to test for external interrupts.	* frv-sim.h (frv_interrupt_kind): Update priority order to conform	to the latest specifications.2000-01-20  Dave Brolley  <brolley@redhat.com>	* sim-if.c (sim_open): Move frv-specific initialization to	frv_initialize in reset.c.	* interrupts.c (check_reset): Use RSTR_ADDRESS. Check and reset RSTR	status bits for hardware vs software reset.	* reset.c: New file.	* frv-sim.h (frv_initialize): New function.	(frv_power_on_reset): New function.	(frv_hardware_reset): New function.	(frv_software_reset): New function.	(RSTR_ADDRESS): New macro.	(RSTR_INITIAL_VALUE): New macro.	(GET_RSTR_HR): New macro.	(GET_RSTR_SR): New macro.	(SET_RSTR_H): New macro.	(SET_RSTR_S): New macro.	(CLEAR_RSTR_P): New macro.	(CLEAR_RSTR_H): New macro.	(CLEAR_RSTR_S): New macro.	(CLEAR_RSTR_HR): New macro.	(CLEAR_RSTR_SR): New macro.2000-01-03  Dave Brolley  <brolley@cygnus.com>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -