[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v3 7/8] accel/tcg: Move PageDesc tree into tb-maint.c for sys
From: |
Philippe Mathieu-Daudé |
Subject: |
Re: [PATCH v3 7/8] accel/tcg: Move PageDesc tree into tb-maint.c for system |
Date: |
Fri, 9 Dec 2022 08:22:28 +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:
Now that PageDesc is not used for user-only, and for system
it is only used for tb maintenance, move the implementation
into tb-main.c appropriately ifdefed.
We have not yet eliminated all references to PageDesc for
user-only, so retain a typedef to the structure without definition.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
accel/tcg/internal.h | 49 +++-----------
accel/tcg/tb-maint.c | 130 ++++++++++++++++++++++++++++++++++++--
accel/tcg/translate-all.c | 95 ----------------------------
3 files changed, 134 insertions(+), 140 deletions(-)
-/*
- * In system mode we want L1_MAP to be based on ram offsets,
- * while in user mode we want it to be based on virtual addresses.
- *
- * TODO: For user mode, see the caveat re host vs guest virtual
- * address spaces near GUEST_ADDR_MAX.
- */
-#if !defined(CONFIG_USER_ONLY)
-#if HOST_LONG_BITS < TARGET_PHYS_ADDR_SPACE_BITS
-# define L1_MAP_ADDR_SPACE_BITS HOST_LONG_BITS
-#else
-# define L1_MAP_ADDR_SPACE_BITS TARGET_PHYS_ADDR_SPACE_BITS
-#endif
-#else
-# define L1_MAP_ADDR_SPACE_BITS MIN(HOST_LONG_BITS, TARGET_ABI_BITS)
-#endif
diff --git a/accel/tcg/tb-maint.c b/accel/tcg/tb-maint.c
index 20e86c813d..9b996bbeb2 100644
--- a/accel/tcg/tb-maint.c
+++ b/accel/tcg/tb-maint.c
@@ -127,6 +127,121 @@ static PageForEachNext foreach_tb_next(PageForEachNext tb,
}
#else
+/*
+ * In system mode we want L1_MAP to be based on ram offsets.
+ */
+#if HOST_LONG_BITS < TARGET_PHYS_ADDR_SPACE_BITS
+# define L1_MAP_ADDR_SPACE_BITS HOST_LONG_BITS
+#else
+# define L1_MAP_ADDR_SPACE_BITS TARGET_PHYS_ADDR_SPACE_BITS
+#endif
So you removed L1_MAP_ADDR_SPACE_BITS in this patch. If you ever respin,
I'd rather have it cleaned in the previous patch, along with the comment
updated and TODO removed.
- [PATCH v3 3/8] accel/tcg: Use interval tree for TBs in user-only mode, (continued)
- [PATCH v3 3/8] accel/tcg: Use interval tree for TBs in user-only mode, Richard Henderson, 2022/12/09
- [PATCH v3 4/8] accel/tcg: Use interval tree for TARGET_PAGE_DATA_SIZE, Richard Henderson, 2022/12/09
- [PATCH v3 5/8] accel/tcg: Move page_{get,set}_flags to user-exec.c, Richard Henderson, 2022/12/09
- [PATCH v3 6/8] accel/tcg: Use interval tree for user-only page tracking, Richard Henderson, 2022/12/09
- [PATCH v3 8/8] accel/tcg: Move remainder of page locking to tb-maint.c, Richard Henderson, 2022/12/09
- [PATCH v3 7/8] accel/tcg: Move PageDesc tree into tb-maint.c for system, Richard Henderson, 2022/12/09
- Re: [PATCH v3 7/8] accel/tcg: Move PageDesc tree into tb-maint.c for system,
Philippe Mathieu-Daudé <=
- Re: [PATCH v3 7/8] accel/tcg: Move PageDesc tree into tb-maint.c for system, Philippe Mathieu-Daudé, 2022/12/09