mbox series

[v2,0/9] accel/tcg: Fix page_set_flags and related [#1528]

Message ID 20230317155455.341843-1-richard.henderson@linaro.org
Headers show
Series accel/tcg: Fix page_set_flags and related [#1528] | expand

Message

Richard Henderson March 17, 2023, 3:54 p.m. UTC
The primary issue is that of overflow, where "end" for the last
page of the 32-bit address space overflows to 0.  The fix is to
use "last" instead, which can always be represented.

Changes for v2:
  * Leave -R 0 unchanged; whether it's currently broken,
    or unusable by design is unchanged by this patch set.
  * Drop reserved_va -> max_reserved_va name change;
    it doesn't really make sense.

Require review:
  01-linux-user-Diagnose-misaligned-R-size.patch
  03-include-exec-Replace-reserved_va-with-max_reserve.patch
  08-accel-tcg-Pass-last-not-end-to-tb_invalidate_phys.patch


r~


Richard Henderson (9):
  linux-user: Diagnose misaligned -R size
  linux-user: Rename max_reserved_va in main
  include/exec: Replace reserved_va with max_reserved_va
  accel/tcg: Pass last not end to page_set_flags
  accel/tcg: Pass last not end to page_reset_target_data
  accel/tcg: Pass last not end to PAGE_FOR_EACH_TB
  accel/tcg: Pass last not end to page_collection_lock
  accel/tcg: Pass last not end to tb_invalidate_phys_page_range__locked
  accel/tcg: Pass last not end to tb_invalidate_phys_range

 include/exec/cpu-all.h      | 15 ++++--
 include/exec/exec-all.h     |  2 +-
 linux-user/arm/target_cpu.h |  2 +-
 accel/tcg/tb-maint.c        | 95 +++++++++++++++++++------------------
 accel/tcg/translate-all.c   |  2 +-
 accel/tcg/user-exec.c       | 25 +++++-----
 bsd-user/main.c             | 10 ++--
 bsd-user/mmap.c             | 10 ++--
 linux-user/elfload.c        | 32 +++++++------
 linux-user/main.c           | 37 ++++++++-------
 linux-user/mmap.c           | 22 ++++-----
 linux-user/syscall.c        |  4 +-
 softmmu/physmem.c           |  2 +-
 13 files changed, 135 insertions(+), 123 deletions(-)