about summary refs log tree commit diff stats
path: root/src/custommem.c
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2024-06-18 17:25:32 +0200
committerptitSeb <sebastien.chev@gmail.com>2024-06-18 17:25:32 +0200
commit4eebf25f1cff9e1308ee57cd4a848ab5e123f261 (patch)
treefc1dfb707e9a614001c4c751f0ca00b9173d9983 /src/custommem.c
parent865ef2ff6eda7741431840334e0c2d87c3faadb6 (diff)
downloadbox64-4eebf25f1cff9e1308ee57cd4a848ab5e123f261.tar.gz
box64-4eebf25f1cff9e1308ee57cd4a848ab5e123f261.zip
Added BOX64_RESERVE_HIGH in rcfile handling
Diffstat (limited to 'src/custommem.c')
-rw-r--r--src/custommem.c26
1 files changed, 18 insertions, 8 deletions
diff --git a/src/custommem.c b/src/custommem.c
index e5cf2e46..28a0fdee 100644
--- a/src/custommem.c
+++ b/src/custommem.c
@@ -1499,15 +1499,12 @@ static void atfork_child_custommem(void)
     init_mutexes();
 }
 
-void reserveHighMem()
+void my_reserveHighMem()
 {
-    char* p = getenv("BOX64_RESERVE_HIGH");
-    #if 0//def ADLINK
-    if(p && p[0]=='0')
-    #else
-    if(!p || p[0]=='0')
-    #endif
-        return; // don't reserve by default
+    static int reserved = 0;
+    if(reserved || !have48bits)
+        return;
+    reserved = 1;
     uintptr_t cur = 1ULL<<47;
     uintptr_t bend = 0;
     uint32_t prot;
@@ -1522,6 +1519,19 @@ void reserveHighMem()
         }
         cur = bend;
     }
+
+}
+
+void reserveHighMem()
+{
+    char* p = getenv("BOX64_RESERVE_HIGH");
+    #if 0//def ADLINK
+    if(p && p[0]=='0')
+    #else
+    if(!p || p[0]=='0')
+    #endif
+        return; // don't reserve by default
+    my_reserveHighMem();
 }
 
 void init_custommem_helper(box64context_t* ctx)