mirror of https://github.com/xemu-project/xemu.git
target/xtensa: fetch HW version from configuration overlay
Xtensa architecture has features which behavior depends on hardware version. Provide hardware version information to translators: add XtensaConfig::hw_version and use XCHAL_HW_VERSION from configuration overlay to initialize it. Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
This commit is contained in:
parent
59afd43dae
commit
2cc2278edf
|
@ -464,6 +464,7 @@ struct XtensaConfig {
|
|||
XtensaMemory sysrom;
|
||||
XtensaMemory sysram;
|
||||
|
||||
unsigned hw_version;
|
||||
uint32_t configid[2];
|
||||
|
||||
void *isa_internal;
|
||||
|
|
|
@ -60,8 +60,9 @@
|
|||
#define XCHAL_RESET_VECTOR1_VADDR XCHAL_RESET_VECTOR_VADDR
|
||||
#endif
|
||||
|
||||
#ifndef XCHAL_HW_MIN_VERSION
|
||||
#define XCHAL_HW_MIN_VERSION 0
|
||||
#ifndef XCHAL_HW_VERSION
|
||||
#define XCHAL_HW_VERSION (XCHAL_HW_VERSION_MAJOR * 100 \
|
||||
+ XCHAL_HW_VERSION_MINOR)
|
||||
#endif
|
||||
|
||||
#ifndef XCHAL_LOOP_BUFFER_SIZE
|
||||
|
@ -100,7 +101,7 @@
|
|||
XCHAL_OPTION(XCHAL_HAVE_FP, XTENSA_OPTION_FP_COPROCESSOR) | \
|
||||
XCHAL_OPTION(XCHAL_HAVE_RELEASE_SYNC, XTENSA_OPTION_MP_SYNCHRO) | \
|
||||
XCHAL_OPTION(XCHAL_HAVE_S32C1I, XTENSA_OPTION_CONDITIONAL_STORE) | \
|
||||
XCHAL_OPTION(((XCHAL_HAVE_S32C1I && XCHAL_HW_MIN_VERSION >= 230000) || \
|
||||
XCHAL_OPTION(((XCHAL_HAVE_S32C1I && XCHAL_HW_VERSION >= 230000) || \
|
||||
XCHAL_HAVE_EXCLUSIVE), XTENSA_OPTION_ATOMCTL) | \
|
||||
XCHAL_OPTION(XCHAL_HAVE_DEPBITS, XTENSA_OPTION_DEPBITS) | \
|
||||
/* Interrupts and exceptions */ \
|
||||
|
@ -498,6 +499,7 @@
|
|||
}
|
||||
|
||||
#define CONFIG_SECTION \
|
||||
.hw_version = XCHAL_HW_VERSION, \
|
||||
.configid = { \
|
||||
XCHAL_HW_CONFIGID0, \
|
||||
XCHAL_HW_CONFIGID1, \
|
||||
|
|
Loading…
Reference in New Issue