[PATCH v2 0/8] target/arm: Fix some Neon trapping corner cases

Peter Maydell <[email protected]>
Newsgroups org.nongnu.qemu-arm,org.nongnu.qemu-devel
Message-ID <[email protected]>
This is v2 of a patchset which originally did three things (fix a bug
in syndrome info for VFP/Neon trapped insns; support the "trap Neon
insns" trap bits; support trapping VFP D16-D32 accesses). The first
of those is already upstream, so here we have just the patches for
the trap controls.

Changes v1->v2:

 * the first 4 patches of v1 have already been upstreamed
 * patches 1, 2, 3 in this v2 have already been reviewed
 * patch 4: switch to a positive ARM_FEATURE_NEON_TRAPS from
   the previous negative NO_NEON_TRAPS one
 * patch 5: fixed a missing check for EL1 being AArch64, and
   slightly rearranged things and improved the comments. I opted
   not to take the rearrangement suggested by RTH in review on v1
 * patches 6 and 7: refactored to use a vfp_dregs_ok() function
   as suggested by RTH
 * patch 8: new, makes the neon code use a similar neon_dregs_ok()
   purely as a cleanup and to make it match the vfp code

thanks
-- PMM

Peter Maydell (8):
  target/arm: Handle NSACR.NSASEDIS in CPACR accesses
  target/arm: Handle NSACR.NSASEDIS in HCPTR accesses
  target/arm: Update confusing comment in cpacr_write()
  target/arm: Add new feature ARM_FEATURE_NEON_TRAPS
  target/arm: Implement CPACR.ASEDIS and HCPTR.TASE
  target/arm: Pull VFP dregs checks out into a function
  target/arm: Implement CPACR.D32DIS
  target/arm: Pull Neon dregs checks out into a function

 target/arm/cpu-max.c            |   1 +
 target/arm/cpu.h                |  17 +++++
 target/arm/cpu64.c              |   1 +
 target/arm/helper.c             |  91 ++++++++++++++++++++----
 target/arm/tcg/cpu32.c          |  10 +++
 target/arm/tcg/cpu64.c          |  10 +++
 target/arm/tcg/hflags.c         | 102 +++++++++++++++++++++++++++
 target/arm/tcg/translate-neon.c | 118 ++++++++++++++------------------
 target/arm/tcg/translate-vfp.c  |  83 +++++++++++++---------
 target/arm/tcg/translate.c      |   8 +++
 target/arm/tcg/translate.h      |   3 +
 11 files changed, 332 insertions(+), 112 deletions(-)

-- 
2.43.0
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.