summaryrefslogtreecommitdiff
path: root/linux-user/arm
diff options
context:
space:
mode:
authorRichard Henderson <rth@twiddle.net>2017-10-05 10:36:00 -0400
committerRiku Voipio <riku.voipio@linaro.org>2017-10-16 16:00:56 +0300
commit18e80c55bb6ec17c05ec0ba717ec83933c2bfc07 (patch)
treead7b346cfad273e9b252ac0ae82cdbc709a3931f /linux-user/arm
parentde258eb07db6cf893ef1bfad8c0cedc0b983db55 (diff)
downloadqemu-18e80c55bb6ec17c05ec0ba717ec83933c2bfc07.zip
linux-user: Tidy and enforce reserved_va initialization
We had a check using TARGET_VIRT_ADDR_SPACE_BITS to make sure that the allocation coming in from the command-line option was not too large, but that didn't include target-specific knowledge about other restrictions on user-space. Remove several target-specific hacks in linux-user/main.c. For MIPS and Nios, we can replace them with proper adjustments to the respective target's TARGET_VIRT_ADDR_SPACE_BITS definition. For ARM, we had no existing ifdef but I suspect that the current default value of 0xf7000000 was chosen with this in mind. Define a workable value in linux-user/arm/, and also document why the special case is required. Signed-off-by: Richard Henderson <rth@twiddle.net> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Message-Id: <20170708025030.15845-3-rth@twiddle.net> Signed-off-by: Riku Voipio <riku.voipio@linaro.org>
Diffstat (limited to 'linux-user/arm')
-rw-r--r--linux-user/arm/target_cpu.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/linux-user/arm/target_cpu.h b/linux-user/arm/target_cpu.h
index d888219150..c3eb4b243d 100644
--- a/linux-user/arm/target_cpu.h
+++ b/linux-user/arm/target_cpu.h
@@ -19,6 +19,10 @@
#ifndef ARM_TARGET_CPU_H
#define ARM_TARGET_CPU_H
+/* We need to be able to map the commpage.
+ See validate_guest_space in linux-user/elfload.c. */
+#define MAX_RESERVED_VA 0xffff0000ul
+
static inline void cpu_clone_regs(CPUARMState *env, target_ulong newsp)
{
if (newsp) {