qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v3 6/8] accel/tcg: Use interval tree for user-only page track


From: Philippe Mathieu-Daudé
Subject: Re: [PATCH v3 6/8] accel/tcg: Use interval tree for user-only page tracking
Date: Fri, 9 Dec 2022 08:18:08 +0100
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.5.1

On 9/12/22 06:19, Richard Henderson wrote:
Finish weaning user-only away from PageDesc.

Using an interval tree to track page permissions means that
we can represent very large regions efficiently.

Resolves: https://gitlab.com/qemu-project/qemu/-/issues/290
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/967
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1214
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
  accel/tcg/internal.h           |   4 +-
  accel/tcg/tb-maint.c           |  20 +-
  accel/tcg/user-exec.c          | 615 ++++++++++++++++++++++-----------
  tests/tcg/multiarch/test-vma.c |  22 ++
  4 files changed, 451 insertions(+), 210 deletions(-)
  create mode 100644 tests/tcg/multiarch/test-vma.c


  int page_check_range(target_ulong start, target_ulong len, int flags)
  {
-    PageDesc *p;
-    target_ulong end;
-    target_ulong addr;
-
-    /*
-     * This function should never be called with addresses outside the
-     * guest address space.  If this assert fires, it probably indicates
-     * a missing call to h2g_valid.
-     */
-    if (TARGET_ABI_BITS > L1_MAP_ADDR_SPACE_BITS) {
-        assert(start < ((target_ulong)1 << L1_MAP_ADDR_SPACE_BITS));
-    }

This removes the use of L1_MAP_ADDR_SPACE_BITS in user-only, maybe
remove the definition from "accel/tcg/internal.h"?



reply via email to

[Prev in Thread] Current Thread [Next in Thread]