[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 33/33] target/alpha: Enable TARGET_PAGE_BITS_VARY for user-only
From: |
Richard Henderson |
Subject: |
[PATCH 33/33] target/alpha: Enable TARGET_PAGE_BITS_VARY for user-only |
Date: |
Fri, 18 Aug 2023 10:12:27 -0700 |
Since alpha binaries are generally built for multiple
page sizes, it is trivial to allow the page size to vary.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
target/alpha/cpu-param.h | 16 ++++++++++++++--
1 file changed, 14 insertions(+), 2 deletions(-)
diff --git a/target/alpha/cpu-param.h b/target/alpha/cpu-param.h
index 68c46f7998..c969cb016b 100644
--- a/target/alpha/cpu-param.h
+++ b/target/alpha/cpu-param.h
@@ -9,10 +9,22 @@
#define ALPHA_CPU_PARAM_H
#define TARGET_LONG_BITS 64
-#define TARGET_PAGE_BITS 13
/* ??? EV4 has 34 phys addr bits, EV5 has 40, EV6 has 44. */
#define TARGET_PHYS_ADDR_SPACE_BITS 44
-#define TARGET_VIRT_ADDR_SPACE_BITS (30 + TARGET_PAGE_BITS)
+
+#ifdef CONFIG_USER_ONLY
+/*
+ * Allow user-only to vary page size. Real hardware allows only 8k and 64k,
+ * but since any variance means guests cannot assume a fixed value, allow
+ * a 4k minimum to match x86 host, which can minimize emulation issues.
+ */
+# define TARGET_PAGE_BITS_VARY
+# define TARGET_PAGE_BITS_MIN 12
+# define TARGET_VIRT_ADDR_SPACE_BITS 63
+#else
+# define TARGET_PAGE_BITS 13
+# define TARGET_VIRT_ADDR_SPACE_BITS (30 + TARGET_PAGE_BITS)
+#endif
#endif
--
2.34.1
- [PATCH 24/33] tests/tcg: Remove run-test-mmap-*, (continued)
- [PATCH 24/33] tests/tcg: Remove run-test-mmap-*, Richard Henderson, 2023/08/18
- [PATCH 29/33] linux-user: Allow TARGET_PAGE_BITS_VARY, Richard Henderson, 2023/08/18
- [PATCH 31/33] linux-user: Bound mmap_min_addr by host page size, Richard Henderson, 2023/08/18
- [PATCH 32/33] target/ppc: Enable TARGET_PAGE_BITS_VARY for user-only, Richard Henderson, 2023/08/18
- [PATCH 28/33] accel/tcg: Disconnect TargetPageDataNode from page size, Richard Henderson, 2023/08/18
- [PATCH 23/33] linux-user: Split out mmap_h_gt_g, Richard Henderson, 2023/08/18
- [PATCH 30/33] target/arm: Enable TARGET_PAGE_BITS_VARY for AArch64 user-only, Richard Henderson, 2023/08/18
- [PATCH 33/33] target/alpha: Enable TARGET_PAGE_BITS_VARY for user-only,
Richard Henderson <=