qemu/linux-user
Alex Bennée ad592e37df linux-user: provide fallback pgd_find_hole for bare chroots
When running QEMU out of a chroot environment we may not have access
to /proc/self/maps. As there is no other "official" way to introspect
our memory map we need to fall back to the original technique of
repeatedly trying to mmap an address range until we find one that
works.

Fortunately it's not quite as ugly as the original code given we
already re-factored the complications of dealing with the
ARM_COMMPAGE. We do make an attempt to skip over brk() which is about
the only concrete piece of information we have about the address map
at this moment.

Fixes: ee9474303
Reported-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20200605154929.26910-12-alex.bennee@linaro.org>
2020-06-08 17:04:19 +01:00
..
aarch64 linux-user, aarch64: sync syscall numbers with kernel v5.5 2020-03-20 16:02:00 +01:00
alpha linux-user, alpha: add syscall table generation support 2020-03-20 16:02:00 +01:00
arm linux-user/arm/signal.c: Drop TARGET_CONFIG_CPU_32 2020-05-21 22:05:27 +01:00
cris linux-user: Introduce cpu_clone_regs_parent 2019-11-06 13:43:25 +01:00
generic linux-user: implement OFD locks 2020-06-05 21:23:22 +02:00
host linux-user: Add safe_syscall for riscv64 host 2018-12-26 06:40:02 +11:00
hppa linux-user: update syscall.tbl from linux 0bf999f9c5e7 2020-03-20 16:02:00 +01:00
i386 linux-user/i386: Emulate x86_64 vsyscalls 2020-03-26 08:08:54 +01:00
m68k linux-user: update syscall.tbl from linux 0bf999f9c5e7 2020-03-20 16:02:00 +01:00
microblaze linux-user: update syscall.tbl from linux 0bf999f9c5e7 2020-03-20 16:02:00 +01:00
mips linux-user,mips: update syscall-args-o32.c.inc 2020-03-20 16:02:00 +01:00
mips64 linux-user: update syscall.tbl from linux 0bf999f9c5e7 2020-03-20 16:02:00 +01:00
nios2 linux-user, nios2: sync syscall numbers with kernel v5.5 2020-03-20 16:02:00 +01:00
openrisc linux-user, openrisc: sync syscall numbers with kernel v5.5 2020-03-20 16:02:00 +01:00
ppc target/ppc: Add support for scv and rfscv instructions 2020-05-27 15:29:24 +10:00
riscv linux-user/riscv: fix up struct target_ucontext definition 2020-04-29 13:16:37 -07:00
s390x linux-user: update syscall.tbl from linux 0bf999f9c5e7 2020-03-20 16:02:00 +01:00
sh4 linux-user: update syscall.tbl from linux 0bf999f9c5e7 2020-03-20 16:02:00 +01:00
sparc linux-user: update syscall.tbl from linux 0bf999f9c5e7 2020-03-20 16:02:00 +01:00
sparc64 linux-user: update syscall.tbl from linux 0bf999f9c5e7 2020-03-20 16:02:00 +01:00
tilegx linux-user: Introduce cpu_clone_regs_parent 2019-11-06 13:43:25 +01:00
x86_64 linux-user: update syscall.tbl from linux 0bf999f9c5e7 2020-03-20 16:02:00 +01:00
xtensa linux-user: update syscall.tbl from linux 0bf999f9c5e7 2020-03-20 16:02:00 +01:00
cpu_loop-common.h cpu: Replace ENV_GET_CPU with env_cpu 2019-06-10 07:03:34 -07:00
elfload.c linux-user: provide fallback pgd_find_hole for bare chroots 2020-06-08 17:04:19 +01:00
errno_defs.h Supply missing header guards 2019-06-12 13:20:21 +02:00
exit.c build: move TARGET_GPROF to config-host.mak 2020-02-12 16:29:27 +01:00
fd-trans.c linux-user: Use `qemu_log' for non-strace logging 2020-02-19 11:17:40 +01:00
fd-trans.h linux-user: move TargetFdTrans functions to their own file 2018-09-25 22:36:47 +02:00
flat.h Supply missing header guards 2019-06-12 13:20:21 +02:00
flatload.c linux-user: completely re-write init_guest_space 2020-05-15 15:25:16 +01:00
ioctls.h linux-user: Add support for selected alsa timer instructions using ioctls 2020-02-19 11:17:40 +01:00
linux_loop.h linux-user: Add loop control ioctls 2016-07-19 15:22:33 +03:00
linuxload.c avoid TABs in files that only contain a few 2019-01-11 15:46:56 +01:00
main.c exec/cpu-all: Use bool for have_guest_base 2020-05-15 15:25:16 +01:00
Makefile.objs linux-user, mips64: add syscall table generation support 2020-03-20 16:02:00 +01:00
mmap.c linux-user/mmap.c: fix integer underflow in target_mremap 2020-06-05 21:23:22 +02:00
qemu.h linux-user: completely re-write init_guest_space 2020-05-15 15:25:16 +01:00
safe-syscall.S linux-user: Provide safe_syscall for fixing races between signals and syscalls 2016-05-27 14:49:51 +03:00
signal-common.h linux-user: Make sigaltstack stacks per-thread 2019-07-26 19:24:33 +02:00
signal.c linux-user: Use `qemu_log' for strace 2020-02-19 11:17:40 +01:00
socket.h Supply missing header guards 2019-06-12 13:20:21 +02:00
strace.c linux-user: Protect more syscalls 2020-03-20 16:01:46 +01:00
strace.list linux-user/strace.list: fix epoll_create{,1} -strace output 2020-06-05 21:23:22 +02:00
syscall_defs.h linux-user: Add support for selected alsa timer instructions using ioctls 2020-02-19 11:17:40 +01:00
syscall_types.h linux-user: Add support for getting/setting selected alsa timer parameters using ioctls 2020-02-19 11:17:40 +01:00
syscall.c linux-user pull request 20200605-v2 2020-06-08 11:04:57 +01:00
target_flat.h Supply missing header guards 2019-06-12 13:20:21 +02:00
trace-events linux-user: fix use of SIGRTMIN 2020-02-12 18:56:41 +01:00
uaccess.c avoid TABs in files that only contain a few 2019-01-11 15:46:56 +01:00
uname.c cpu: Replace ENV_GET_CPU with env_cpu 2019-06-10 07:03:34 -07:00
uname.h Clean up decorations and whitespace around header guards 2016-07-12 16:20:46 +02:00
vm86.c linux-user: Use `qemu_log' for non-strace logging 2020-02-19 11:17:40 +01:00