qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Peter Maydell <peter.maydell@linaro.org>
To: qemu-arm@nongnu.org, qemu-devel@nongnu.org
Subject: [PATCH 0/7] target/arm: hwcaps updates, FEAT_HBC
Date: Mon, 11 Sep 2023 14:53:33 +0100	[thread overview]
Message-ID: <20230911135340.1139553-1-peter.maydell@linaro.org> (raw)

This patchset started off as "implement FEAT_HBC" but I ended
up finding I needed to do a bit of cleanup regarding the elf
hwcaps bits, so most of the patchset is that cleanup and the
FEAT_HBC is the simple patch at the end.

Patch 1 is the ID_AA64ISAR2_EL1 that's been on the list multiple
times already. It's in a target-arm pullreq that's already on
the list, so I've only included it here so the series compiles
as a standalone patchset.

Patch 2 is a bugfix for some errors in feature string names
in the emulated /proc/cpuinfo.

Patches 3-6 update our definitions of hwcap bit values from the
current Linux kernel source tree, our ID register field definitions
from the current public system register XML, and make sure we're
in sync with the kernel about what hwcap bits we report and what
ID register fields we expose to user-only guest processes.
(The only actual bug fixed here is some missing arm32 hwcap bits,
but the rest of the changes are useful to, for instance, let us
add FEAT_HBC support.)

Patch 7 is the actual FEAT_HBC support. This feature is a variant
on the B.cond conditional branch that provides some hint
information to the branch predictor; since we don't do branch
prediction this is easy for us to implement.

Patch 7 will have an obvious trivial textual conflict with
the FEAT_MOPS work; I suspect this will get in first, since it's
much simpler. I also forgot about the hwcap for FEAT_MOPS, but
once these patches are applied that is a one-liner fix to add
the GET_FEATURE_ID(aa64_mops, ARM_HWCAP2_A64_MOPS).

thanks
-- PMM

Aaron Lindsay (1):
  target/arm: Add ID_AA64ISAR2_EL1

Peter Maydell (6):
  linux-user/elfload.c: Correct SME feature names reported in cpuinfo
  linux-user/elfload.c: Add missing arm and arm64 hwcap values
  linux-user/elfload.c: Report previously missing arm32 hwcaps
  target/arm: Update AArch64 ID register field definitions
  target/arm: Update user-mode ID reg mask values
  target/arm: Implement FEAT_HBC

 docs/system/arm/emulation.rst  |  1 +
 target/arm/cpu.h               | 28 ++++++++++++++
 target/arm/tcg/a64.decode      |  3 +-
 linux-user/elfload.c           | 71 ++++++++++++++++++++++++++++++----
 target/arm/helper.c            | 15 +++++--
 target/arm/hvf/hvf.c           |  1 +
 target/arm/kvm64.c             |  2 +
 target/arm/tcg/cpu64.c         |  4 ++
 target/arm/tcg/translate-a64.c |  4 ++
 9 files changed, 118 insertions(+), 11 deletions(-)

-- 
2.34.1



             reply	other threads:[~2023-09-11 13:55 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-09-11 13:53 Peter Maydell [this message]
2023-09-11 13:53 ` [PATCH 1/7] target/arm: Add ID_AA64ISAR2_EL1 Peter Maydell
2023-09-11 13:53 ` [PATCH 2/7] linux-user/elfload.c: Correct SME feature names reported in cpuinfo Peter Maydell
2023-09-11 14:51   ` Philippe Mathieu-Daudé
2023-09-11 13:53 ` [PATCH 3/7] linux-user/elfload.c: Add missing arm and arm64 hwcap values Peter Maydell
2023-09-11 14:59   ` Philippe Mathieu-Daudé
2023-09-11 15:04     ` Peter Maydell
2023-09-11 13:53 ` [PATCH 4/7] linux-user/elfload.c: Report previously missing arm32 hwcaps Peter Maydell
2023-09-11 13:53 ` [PATCH 5/7] target/arm: Update AArch64 ID register field definitions Peter Maydell
2023-09-11 14:36   ` Peter Maydell
2023-09-11 13:53 ` [PATCH 6/7] target/arm: Update user-mode ID reg mask values Peter Maydell
2023-09-21 15:03   ` Peter Maydell
2023-09-11 13:53 ` [PATCH 7/7] target/arm: Implement FEAT_HBC Peter Maydell
2023-09-11 15:01   ` Philippe Mathieu-Daudé
2023-09-12  0:44 ` [PATCH 0/7] target/arm: hwcaps updates, FEAT_HBC Richard Henderson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230911135340.1139553-1-peter.maydell@linaro.org \
    --to=peter.maydell@linaro.org \
    --cc=qemu-arm@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).