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:
parent
571a7e34f9
commit
fe7869d69c
@ -380,7 +380,6 @@ typedef struct XtensaOpcodeOps {
|
|||||||
XtensaOpcodeUintTest test_overflow;
|
XtensaOpcodeUintTest test_overflow;
|
||||||
const uint32_t *par;
|
const uint32_t *par;
|
||||||
uint32_t op_flags;
|
uint32_t op_flags;
|
||||||
uint32_t windowed_register_op;
|
|
||||||
uint32_t coprocessor;
|
uint32_t coprocessor;
|
||||||
} XtensaOpcodeOps;
|
} XtensaOpcodeOps;
|
||||||
|
|
||||||
@ -438,6 +437,7 @@ struct XtensaConfig {
|
|||||||
xtensa_isa isa;
|
xtensa_isa isa;
|
||||||
XtensaOpcodeOps **opcode_ops;
|
XtensaOpcodeOps **opcode_ops;
|
||||||
const XtensaOpcodeTranslators **opcode_translators;
|
const XtensaOpcodeTranslators **opcode_translators;
|
||||||
|
xtensa_regfile a_regfile;
|
||||||
|
|
||||||
uint32_t clock_freq_khz;
|
uint32_t clock_freq_khz;
|
||||||
|
|
||||||
|
@ -88,6 +88,7 @@ static void init_libisa(XtensaConfig *config)
|
|||||||
#endif
|
#endif
|
||||||
config->opcode_ops[i] = ops;
|
config->opcode_ops[i] = ops;
|
||||||
}
|
}
|
||||||
|
config->a_regfile = xtensa_regfile_lookup(config->isa, "AR");
|
||||||
}
|
}
|
||||||
|
|
||||||
void xtensa_finalize_config(XtensaConfig *config)
|
void xtensa_finalize_config(XtensaConfig *config)
|
||||||
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user