[PATCH 00/17] target/arm: Various trap fixes for DC ZVA et al

Richard Henderson posted 17 patches 1 week ago
Failed in applying to current master (apply log)
include/user/guest-host.h        |   1 +
target/arm/tcg/helper-a64-defs.h |   9 +-
target/arm/tcg/mte_helper.h      |  18 +-
target/arm/tcg/translate.h       |   4 +-
accel/tcg/user-exec.c            |  10 +-
target/arm/gdbstub64.c           |  10 +-
target/arm/tcg/helper-a64.c      |  50 ---
target/arm/tcg/mte_helper.c      | 643 ++++++++++++++++++++-----------
target/arm/tcg/translate-a64.c   | 189 ++++-----
9 files changed, 530 insertions(+), 404 deletions(-)
[PATCH 00/17] target/arm: Various trap fixes for DC ZVA et al
Posted by Richard Henderson 1 week ago
This started as just addressing #3005: raising the unaligned access
fault for DC ZVA on pages with Device attribute.  But then I saw that
we weren't correctly ordering the permission fault for MTX, and that
we could avoid multiple page table lookups.

While these are bugs they are minor, and beyond the one patch already
separately posted they are not 11.1 material.  This is complex enough
to warrant a very close look.  I hope that the code structure is cleaner
than before, so that should help.


r~


Richard Henderson (17):
  include/user/guest-host: Include exec/abi_ptr.h
  target/arm: Fix testing of raw mtx value
  target/arm: Move helper_dc_zva to mte_helper.c
  target/arm: Raise alignment fault for DC_ZVA on Device memory
  target/arm: Imply probe from allocation_tag_mem_probe
  target/arm: Simplify invalid page test in allocation_tag_mem_internal
  target/arm: Return struct from allocation_tag_mem_internal
  target/arm: Generalize probe argument to allocation_tag_mem_internal
  target/arm: Drop TLB_MMIO check in allocation_tag_mem_internal
  target/arm: Probe second page earlier in allocation_tag_mem_internal
  target/arm: Expand dczid_bs in DisasContext
  target/arm: Split out helpers for creating MTEDESC
  accel/tcg: Clean addreses in the user-only probe_access api
  target/arm: Drop clean_addr_tbi before helper_dc_zva
  target/arm: Pass MTEDESC to helper_dc_zva
  target/arm: Create helper_dc_zva_mte
  target/arm: Rewrite DC_GVA, DC_GZVA, STZGM

 include/user/guest-host.h        |   1 +
 target/arm/tcg/helper-a64-defs.h |   9 +-
 target/arm/tcg/mte_helper.h      |  18 +-
 target/arm/tcg/translate.h       |   4 +-
 accel/tcg/user-exec.c            |  10 +-
 target/arm/gdbstub64.c           |  10 +-
 target/arm/tcg/helper-a64.c      |  50 ---
 target/arm/tcg/mte_helper.c      | 643 ++++++++++++++++++++-----------
 target/arm/tcg/translate-a64.c   | 189 ++++-----
 9 files changed, 530 insertions(+), 404 deletions(-)

-- 
2.43.0