aboutsummaryrefslogtreecommitdiff
path: root/target/xtensa/overlay_tool.h
diff options
context:
space:
mode:
Diffstat (limited to 'target/xtensa/overlay_tool.h')
-rw-r--r--target/xtensa/overlay_tool.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/target/xtensa/overlay_tool.h b/target/xtensa/overlay_tool.h
index b73fd14dd1..bf36b5cdf6 100644
--- a/target/xtensa/overlay_tool.h
+++ b/target/xtensa/overlay_tool.h
@@ -59,6 +59,10 @@
#define XCHAL_HW_MIN_VERSION 0
#endif
+#ifndef XCHAL_LOOP_BUFFER_SIZE
+#define XCHAL_LOOP_BUFFER_SIZE 0
+#endif
+
#define XCHAL_OPTION(xchal, qemu) ((xchal) ? XTENSA_OPTION_BIT(qemu) : 0)
#define XTENSA_OPTIONS ( \
@@ -343,6 +347,16 @@
.nibreak = XCHAL_NUM_IBREAK, \
.ndbreak = XCHAL_NUM_DBREAK
+#define CACHE_SECTION \
+ .icache_ways = XCHAL_ICACHE_WAYS, \
+ .dcache_ways = XCHAL_DCACHE_WAYS, \
+ .memctl_mask = \
+ (XCHAL_ICACHE_SIZE ? MEMCTL_IUSEWAYS_MASK : 0) | \
+ (XCHAL_DCACHE_SIZE ? \
+ MEMCTL_DALLOCWAYS_MASK | MEMCTL_DUSEWAYS_MASK : 0) | \
+ MEMCTL_ISNP | MEMCTL_DSNP | \
+ (XCHAL_HAVE_LOOPS && XCHAL_LOOP_BUFFER_SIZE ? MEMCTL_IL0EN : 0)
+
#define CONFIG_SECTION \
.configid = { \
XCHAL_HW_CONFIGID0, \
@@ -357,6 +371,7 @@
INTERRUPTS_SECTION, \
TLB_SECTION, \
DEBUG_SECTION, \
+ CACHE_SECTION, \
CONFIG_SECTION