aboutsummaryrefslogtreecommitdiff
path: root/linux-user/sparc/target_mman.h
diff options
context:
space:
mode:
authorRichard Henderson <richard.henderson@linaro.org>2023-08-02 15:17:33 -0700
committerRichard Henderson <richard.henderson@linaro.org>2023-08-08 13:27:15 -0700
commitda2b71fab63f2396396021917eed9d52f33a45c0 (patch)
tree59f4b4fde6d99cb6e61f81bf40832ec344716a1f /linux-user/sparc/target_mman.h
parent2d708164e0475064e0e2167bd73e8570e22df1e0 (diff)
linux-user: Define ELF_ET_DYN_BASE in $guest/target_mman.h
Copy each guest kernel's default value, then bound it against reserved_va or the host address space. Tested-by: Helge Deller <deller@gmx.de> Reviewed-by: Helge Deller <deller@gmx.de> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Diffstat (limited to 'linux-user/sparc/target_mman.h')
-rw-r--r--linux-user/sparc/target_mman.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/linux-user/sparc/target_mman.h b/linux-user/sparc/target_mman.h
index 692ebf9dd7..696ca73fe4 100644
--- a/linux-user/sparc/target_mman.h
+++ b/linux-user/sparc/target_mman.h
@@ -19,6 +19,17 @@
#define TASK_UNMAPPED_BASE (1ull << (TARGET_VIRT_ADDR_SPACE_BITS - 2))
#endif
+/*
+ * arch/sparc/include/asm/elf_64.h
+ * Except that COMPAT_ELF_ET_DYN_BASE exactly matches TASK_UNMAPPED_BASE,
+ * so move it up a bit.
+ */
+#ifdef TARGET_ABI32
+#define ELF_ET_DYN_BASE 0x78000000
+#else
+#define ELF_ET_DYN_BASE 0x0000010000000000ull
+#endif
+
#include "../generic/target_mman.h"
#endif