]> git.proxmox.com Git - mirror_qemu.git/commit
linux-user: Report AArch64 hwcap2 fields above bit 31
authorPeter Maydell <peter.maydell@linaro.org>
Mon, 30 Oct 2023 17:39:59 +0000 (17:39 +0000)
committerPeter Maydell <peter.maydell@linaro.org>
Thu, 2 Nov 2023 13:36:45 +0000 (13:36 +0000)
commit63c1b7de0a66e4ff248bdb51a0c3914de4eff034
treef7cce4ca4ce53246ec7a391d56e288d83cc6e6e7
parenta6b2c5a04ddae291417d5bfffaa25b13a7d8cd10
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
linux-user/elfload.c
linux-user/loader.h