linux-user/arm: Adjust MAX_RESERVED_VA for M-profile
Limit the virtual address space for M-profile cpus to 2GB, so that we avoid all of the magic addresses in the top half of the M-profile system map. Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Message-Id: <20190822185929.16891-3-richard.henderson@linaro.org> Signed-off-by: Laurent Vivier <laurent@vivier.eu>
This commit is contained in:
parent
8f67b9c694
commit
0b689da375
|
@ -19,9 +19,27 @@
|
|||
#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(CPU) 0xffff0000ul
|
||||
static inline unsigned long arm_max_reserved_va(CPUState *cs)
|
||||
{
|
||||
ARMCPU *cpu = ARM_CPU(cs);
|
||||
|
||||
if (arm_feature(&cpu->env, ARM_FEATURE_M)) {
|
||||
/*
|
||||
* There are magic return addresses above 0xfe000000,
|
||||
* and in general a lot of M-profile system stuff in
|
||||
* the high addresses. Restrict linux-user to the
|
||||
* cached write-back RAM in the system map.
|
||||
*/
|
||||
return 0x80000000ul;
|
||||
} else {
|
||||
/*
|
||||
* We need to be able to map the commpage.
|
||||
* See validate_guest_space in linux-user/elfload.c.
|
||||
*/
|
||||
return 0xffff0000ul;
|
||||
}
|
||||
}
|
||||
#define MAX_RESERVED_VA arm_max_reserved_va
|
||||
|
||||
static inline void cpu_clone_regs(CPUARMState *env, target_ulong newsp)
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue