qemu with hax to log dma reads & writes jcs.org/2018/11/12/vfio

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>

+6 -3
+1
target/xtensa/cpu.h
··· 464 464 XtensaMemory sysrom; 465 465 XtensaMemory sysram; 466 466 467 + unsigned hw_version; 467 468 uint32_t configid[2]; 468 469 469 470 void *isa_internal;
+5 -3
target/xtensa/overlay_tool.h
··· 60 60 #define XCHAL_RESET_VECTOR1_VADDR XCHAL_RESET_VECTOR_VADDR 61 61 #endif 62 62 63 - #ifndef XCHAL_HW_MIN_VERSION 64 - #define XCHAL_HW_MIN_VERSION 0 63 + #ifndef XCHAL_HW_VERSION 64 + #define XCHAL_HW_VERSION (XCHAL_HW_VERSION_MAJOR * 100 \ 65 + + XCHAL_HW_VERSION_MINOR) 65 66 #endif 66 67 67 68 #ifndef XCHAL_LOOP_BUFFER_SIZE ··· 100 101 XCHAL_OPTION(XCHAL_HAVE_FP, XTENSA_OPTION_FP_COPROCESSOR) | \ 101 102 XCHAL_OPTION(XCHAL_HAVE_RELEASE_SYNC, XTENSA_OPTION_MP_SYNCHRO) | \ 102 103 XCHAL_OPTION(XCHAL_HAVE_S32C1I, XTENSA_OPTION_CONDITIONAL_STORE) | \ 103 - XCHAL_OPTION(((XCHAL_HAVE_S32C1I && XCHAL_HW_MIN_VERSION >= 230000) || \ 104 + XCHAL_OPTION(((XCHAL_HAVE_S32C1I && XCHAL_HW_VERSION >= 230000) || \ 104 105 XCHAL_HAVE_EXCLUSIVE), XTENSA_OPTION_ATOMCTL) | \ 105 106 XCHAL_OPTION(XCHAL_HAVE_DEPBITS, XTENSA_OPTION_DEPBITS) | \ 106 107 /* Interrupts and exceptions */ \ ··· 498 499 } 499 500 500 501 #define CONFIG_SECTION \ 502 + .hw_version = XCHAL_HW_VERSION, \ 501 503 .configid = { \ 502 504 XCHAL_HW_CONFIGID0, \ 503 505 XCHAL_HW_CONFIGID1, \