about summary refs log tree commit diff stats
path: root/src/include/env.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/include/env.h')
-rw-r--r--src/include/env.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/include/env.h b/src/include/env.h
index 1c640091..6e0df8c1 100644
--- a/src/include/env.h
+++ b/src/include/env.h
@@ -127,6 +127,8 @@ extern char* ftrace_name;
     BOOLEAN(BOX64_X11THREADS, x11threads, 0, 0)                               \
     BOOLEAN(BOX64_X87_NO80BITS, x87_no80bits, 0, 1)                           \
     BOOLEAN(BOX64_DYNACACHE, dynacache, 0, 0)                                 \
+    STRING(BOX64_DYNACACHE_FOLDER, dynacache_folder, 0)                       \
+    INTEGER(BOX64_DYNACACHE_MIN, dynacache_min, 350, 0, 10240, 0)             \
 
 #ifdef ARM64
 #define ENVSUPER2() \
@@ -195,6 +197,15 @@ typedef struct box64env_s {
 } box64env_t;
 
 typedef struct mmaplist_s mmaplist_t;
+#ifdef DYNAREC
+typedef struct blocklist_s blocklist_t;
+
+typedef struct DynaCacheBlock_s {
+    blocklist_t*    block;
+    size_t          size;
+    size_t          free_size;
+} DynaCacheBlock_t;
+#endif
 
 void InitializeEnvFiles();
 void ApplyEnvFileEntry(const char* name);
@@ -203,11 +214,16 @@ void InitializeEnv();
 void LoadEnvVariables();
 void PrintEnvVariables(box64env_t* env, int level);
 void RecordEnvMappings(uintptr_t addr, size_t length, int fd);
+void WillRemoveMapping(uintptr_t addr, size_t length);
 void RemoveMapping(uintptr_t addr, size_t length);
 box64env_t* GetCurEnvByAddr(uintptr_t addr);
 int IsAddrFileMapped(uintptr_t addr, const char** filename, uintptr_t* start);
 size_t SizeFileMapped(uintptr_t addr);
 mmaplist_t* GetMmaplistByAddr(uintptr_t addr);
 int IsAddrNeedReloc(uintptr_t addr);
+void SerializeAllMapping();
+void DynaCacheList(const char* name);
+void DynaCacheClean();
+int IsAddrMappingLoadAndClean(uintptr_t addr);
 
 #endif // __ENV_H