aboutsummaryrefslogtreecommitdiff
path: root/linux-user/s390x/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/s390x/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/s390x/target_mman.h')
-rw-r--r--linux-user/s390x/target_mman.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/linux-user/s390x/target_mman.h b/linux-user/s390x/target_mman.h
index 40d149b329..c82435e381 100644
--- a/linux-user/s390x/target_mman.h
+++ b/linux-user/s390x/target_mman.h
@@ -8,4 +8,14 @@
*/
#define TASK_UNMAPPED_BASE (1ull << 41)
+/*
+ * arch/s390/include/asm/elf.h:
+ * ELF_ET_DYN_BASE (STACK_TOP / 3 * 2) & ~((1UL << 32) - 1)
+ *
+ * arch/s390/include/asm/processor.h:
+ * STACK_TOP VDSO_LIMIT - VDSO_SIZE - PAGE_SIZE
+ * VDSO_LIMIT _REGION2_SIZE
+ */
+#define ELF_ET_DYN_BASE (((1ull << 42) / 3 * 2) & ~0xffffffffull)
+
#include "../generic/target_mman.h"