target/xtensa: get rid of centralized SR properties
SR numbers are not unique: different Xtensa options may reuse SR number for different purposes. Introduce generic rsr/wsr functions and xsr template and use them instead of centralized SR access functions. Change prototypes of specific rsr/wsr functions to match XtensaOpcodeOp and use them instead of centralized SR access functions. Put xtensa option that introduces SR into the second opcode description parameter and use it to test for rsr/wsr/xsr opcode validity. Extract SR and UR names for the xtensa_cpu_dump_state from libisa. Merge SRs and URs in the dump. Register names of used SR/UR in init_libisa and use these names for TCG globals referencing these SR/UR. Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
This commit is contained in:
parent
efb4f3b62c
commit
59419607fb
@ -589,6 +589,7 @@ void xtensa_cpu_do_unaligned_access(CPUState *cpu, vaddr addr,
|
||||
#define XTENSA_DEFAULT_CPU_NOMMU_TYPE \
|
||||
XTENSA_CPU_TYPE_NAME(XTENSA_DEFAULT_CPU_NOMMU_MODEL)
|
||||
|
||||
void xtensa_collect_sr_names(const XtensaConfig *config);
|
||||
void xtensa_translate_init(void);
|
||||
void **xtensa_get_regfile_by_name(const char *name);
|
||||
void xtensa_breakpoint_handler(CPUState *cs);
|
||||
|
@ -141,6 +141,7 @@ static void init_libisa(XtensaConfig *config)
|
||||
}
|
||||
#endif
|
||||
}
|
||||
xtensa_collect_sr_names(config);
|
||||
}
|
||||
|
||||
static void xtensa_finalize_config(XtensaConfig *config)
|
||||
|
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user