mirror of
https://github.com/izzy2lost/xemu.git
synced 2026-07-06 00:20:22 -07:00
target/xtensa: don't specify windowed registers manually
Use libisa to extract whether opcode uses windowed registers and construct mask based on that. This only leaves special case for the 'entry' opcode, as it needs to probe a register dynamically. Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
This commit is contained in:
+1
-1
@@ -380,7 +380,6 @@ typedef struct XtensaOpcodeOps {
|
||||
XtensaOpcodeUintTest test_overflow;
|
||||
const uint32_t *par;
|
||||
uint32_t op_flags;
|
||||
uint32_t windowed_register_op;
|
||||
uint32_t coprocessor;
|
||||
} XtensaOpcodeOps;
|
||||
|
||||
@@ -438,6 +437,7 @@ struct XtensaConfig {
|
||||
xtensa_isa isa;
|
||||
XtensaOpcodeOps **opcode_ops;
|
||||
const XtensaOpcodeTranslators **opcode_translators;
|
||||
xtensa_regfile a_regfile;
|
||||
|
||||
uint32_t clock_freq_khz;
|
||||
|
||||
|
||||
@@ -88,6 +88,7 @@ static void init_libisa(XtensaConfig *config)
|
||||
#endif
|
||||
config->opcode_ops[i] = ops;
|
||||
}
|
||||
config->a_regfile = xtensa_regfile_lookup(config->isa, "AR");
|
||||
}
|
||||
|
||||
void xtensa_finalize_config(XtensaConfig *config)
|
||||
|
||||
+10
-483
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user