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 sysrom;
|
||||||
XtensaMemory sysram;
|
XtensaMemory sysram;
|
||||||
|
|
||||||
|
unsigned hw_version;
|
||||||
uint32_t configid[2];
|
uint32_t configid[2];
|
||||||
|
|
||||||
void *isa_internal;
|
void *isa_internal;
|
||||||
|
|
|
@ -60,8 +60,9 @@
|
||||||
#define XCHAL_RESET_VECTOR1_VADDR XCHAL_RESET_VECTOR_VADDR
|
#define XCHAL_RESET_VECTOR1_VADDR XCHAL_RESET_VECTOR_VADDR
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef XCHAL_HW_MIN_VERSION
|
#ifndef XCHAL_HW_VERSION
|
||||||
#define XCHAL_HW_MIN_VERSION 0
|
#define XCHAL_HW_VERSION (XCHAL_HW_VERSION_MAJOR * 100 \
|
||||||
|
+ XCHAL_HW_VERSION_MINOR)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef XCHAL_LOOP_BUFFER_SIZE
|
#ifndef XCHAL_LOOP_BUFFER_SIZE
|
||||||
|
@ -100,7 +101,7 @@
|
||||||
XCHAL_OPTION(XCHAL_HAVE_FP, XTENSA_OPTION_FP_COPROCESSOR) | \
|
XCHAL_OPTION(XCHAL_HAVE_FP, XTENSA_OPTION_FP_COPROCESSOR) | \
|
||||||
XCHAL_OPTION(XCHAL_HAVE_RELEASE_SYNC, XTENSA_OPTION_MP_SYNCHRO) | \
|
XCHAL_OPTION(XCHAL_HAVE_RELEASE_SYNC, XTENSA_OPTION_MP_SYNCHRO) | \
|
||||||
XCHAL_OPTION(XCHAL_HAVE_S32C1I, XTENSA_OPTION_CONDITIONAL_STORE) | \
|
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_HAVE_EXCLUSIVE), XTENSA_OPTION_ATOMCTL) | \
|
||||||
XCHAL_OPTION(XCHAL_HAVE_DEPBITS, XTENSA_OPTION_DEPBITS) | \
|
XCHAL_OPTION(XCHAL_HAVE_DEPBITS, XTENSA_OPTION_DEPBITS) | \
|
||||||
/* Interrupts and exceptions */ \
|
/* Interrupts and exceptions */ \
|
||||||
|
@ -498,6 +499,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
#define CONFIG_SECTION \
|
#define CONFIG_SECTION \
|
||||||
|
.hw_version = XCHAL_HW_VERSION, \
|
||||||
.configid = { \
|
.configid = { \
|
||||||
XCHAL_HW_CONFIGID0, \
|
XCHAL_HW_CONFIGID0, \
|
||||||
XCHAL_HW_CONFIGID1, \
|
XCHAL_HW_CONFIGID1, \
|
||||||
|
|
Loading…
Reference in New Issue