qemu/linux-user
Peter Maydell 63c1b7de0a linux-user: Report AArch64 hwcap2 fields above bit 31
The AArch64 ELF hwcap2 field is 64 bits, but our get_elf_hwcap2()
works with uint32_t, so it accidentally fails to report any hwcaps
over bit 31.  Use uint64_t here.

The Arm hwcap2 is only 32 bits (because the ELF format makes these
fields be the size of "long" in the ABI), but since it shares the
prototype declaration for get_elf_hwcap2() it is easier to also
expand it to 64 bits.

The only hwcap fields we implement already that are affected by this
are the HBC and MOPS ones, neither of which were implemented in a
previous release, so this doesn't need backporting to older stable
branches.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-id: 20231030174000.3792225-3-peter.maydell@linaro.org
2023-11-02 13:36:45 +00:00
..
aarch64 linux-user: Fix guest signal remapping after adjusting SIGABRT 2023-10-31 07:12:40 +09:00
alpha linux-user: Emulate /proc/cpuinfo for Alpha 2023-09-01 13:33:47 -07:00
arm linux-user: Fix guest signal remapping after adjusting SIGABRT 2023-10-31 07:12:40 +09:00
cris linux-user: Split out cpu/target_proc.h 2023-09-01 13:33:09 -07:00
generic linux-user: Split TARGET_PROT_* out of syscall_defs.h 2023-07-15 08:02:32 +01:00
hexagon linux-user: Split out cpu/target_proc.h 2023-09-01 13:33:09 -07:00
hppa linux-user/hppa: Add vdso 2023-10-30 13:41:55 -07:00
i386 linux-user/i386: Add vdso 2023-10-30 13:41:55 -07:00
include linux-user: cleanup unused linux-user/include/host directories 2023-08-08 20:44:08 +02:00
loongarch64 linux-user/loongarch64: Add vdso 2023-10-30 13:41:55 -07:00
m68k linux-user: Split out cpu/target_proc.h 2023-09-01 13:33:09 -07:00
microblaze linux-user: Split out cpu/target_proc.h 2023-09-01 13:33:09 -07:00
mips linux-user/mips: fix abort on integer overflow 2023-10-18 15:32:16 -07:00
mips64 linux-user: Split out cpu/target_proc.h 2023-09-01 13:33:09 -07:00
nios2 linux-user: Split out cpu/target_proc.h 2023-09-01 13:33:09 -07:00
openrisc linux-user: Split out cpu/target_proc.h 2023-09-01 13:33:09 -07:00
ppc linux-user/ppc: Add vdso 2023-10-30 13:41:56 -07:00
riscv linux-user/riscv: Add vdso 2023-10-30 13:41:55 -07:00
s390x linux-user/s390x: Add vdso 2023-10-30 13:41:56 -07:00
sh4 linux-user/sh4: Fix crashes on signal delivery 2023-10-18 15:32:16 -07:00
sparc target/sparc: Remove sparcv7 cpu features 2023-10-25 01:01:12 -07:00
x86_64 linux-user/x86_64: Add vdso 2023-10-30 13:41:55 -07:00
xtensa linux-user: Split out cpu/target_proc.h 2023-09-01 13:33:09 -07:00
cpu_loop-common.h linux-user: Add guest memory layout to exception dump 2022-10-25 09:20:40 +02:00
elfload.c linux-user: Report AArch64 hwcap2 fields above bit 31 2023-11-02 13:36:45 +00:00
errnos.c.inc linux-user: Simplify host <-> target errno conversion using macros 2021-07-12 21:53:35 +02:00
exit.c build: Remove --enable-gprof 2023-10-04 11:03:54 -07:00
fd-trans.c linux-user: handle netlink flag NLA_F_NESTED 2023-03-10 20:45:47 +01:00
fd-trans.h linux-user: fix timerfd read endianness conversion 2023-03-10 20:42:00 +01:00
flat.h linux-user/: fix some comment spelling errors 2020-09-17 20:39:22 +02:00
flatload.c linux-user: Replace bprm->fd with bprm->src.fd 2023-10-30 13:41:55 -07:00
gen-vdso-elfn.c.inc linux-user/ppc: Add vdso 2023-10-30 13:41:56 -07:00
gen-vdso.c linux-user: Add gen-vdso tool 2023-10-30 13:41:55 -07:00
ioctls.h linux-user: remove conditionals for many fs.h ioctls 2022-10-21 17:46:19 +02:00
linux_loop.h linux-user: implement more loop ioctls 2021-11-29 14:54:17 +01:00
linuxload.c linux-user: Replace bprm->fd with bprm->src.fd 2023-10-30 13:41:55 -07:00
loader.h linux-user: Report AArch64 hwcap2 fields above bit 31 2023-11-02 13:36:45 +00:00
main.c tcg: Split out tcg init functions to tcg/startup.h 2023-10-04 11:03:54 -07:00
meson.build linux-user/loongarch64: Add vdso 2023-10-30 13:41:55 -07:00
mmap.c target/arm: Move feature test functions to their own header 2023-10-27 11:44:32 +01:00
qemu.h linux-user: Show vdso address in /proc/pid/maps 2023-10-30 13:41:56 -07:00
semihost.c semihosting: Remove qemu_semihosting_console_outs 2022-06-28 04:41:20 +05:30
signal-common.h linux-user: Add missing signals in strace output 2022-09-27 09:29:33 +02:00
signal.c linux-user: Fix guest signal remapping after adjusting SIGABRT 2023-10-30 13:40:35 -07:00
socket.h Supply missing header guards 2019-06-12 13:20:21 +02:00
strace.c linux-user/strace: Clean up local variable shadowing 2023-09-29 10:07:16 +02:00
strace.h linux-user: Have do_syscall() use CPUArchState* instead of void* 2022-05-23 22:47:19 +02:00
strace.list linux-user: Improve strace output of pread64() and pwrite64() 2023-07-08 16:55:08 +02:00
syscall_defs.h linux-user: Split TARGET_PROT_* out of syscall_defs.h 2023-07-15 08:02:32 +01:00
syscall_types.h linux-user: implement more loop ioctls 2021-11-29 14:54:17 +01:00
syscall.c linux-user: Show vdso address in /proc/pid/maps 2023-10-30 13:41:56 -07:00
thunk.c linux-user: Use ARRAY_SIZE with bitmask_transtbl 2023-08-09 07:17:42 -07:00
trace-events linux-user: Rename user_force_sig tracepoint to match function name 2022-01-18 12:41:42 +01:00
trace.h trace: switch position of headers to what Meson requires 2020-08-21 06:18:24 -04:00
uaccess.c linux-user: Split linux-user internals out of qemu.h 2021-09-13 20:35:45 +02:00
uname.c linux-user: Remove pointless CPU{ARCH}State casts 2022-05-23 22:47:20 +02:00
uname.h linux-user: Have do_syscall() use CPUArchState* instead of void* 2022-05-23 22:47:19 +02:00
user-internals.h linux-user: Pass last not end to probe_guest_base 2023-03-28 15:23:10 -07:00
user-mmap.h linux-user: Move shmat and shmdt implementations to mmap.c 2023-09-01 13:35:02 -07:00
vm86.c linux-user: Split linux-user internals out of qemu.h 2021-09-13 20:35:45 +02:00