Expand TARGET_PAGE_BITS_LEGACY directly within the two Arm
TargetInfo structures; remove it from target/arm/cpu-param.h.
Do not allow new uses with target-info-stub.c.

Signed-off-by: Richard Henderson <[email protected]>
---
 include/qemu/target-info-impl.h   |  2 +-
 target/arm/cpu-param.h            |  1 -
 configs/targets/aarch64-softmmu.c |  3 +--
 configs/targets/arm-softmmu.c     |  3 +--
 target-info-stub.c                | 12 ++++++------
 5 files changed, 9 insertions(+), 12 deletions(-)

diff --git a/include/qemu/target-info-impl.h b/include/qemu/target-info-impl.h
index c917d546ea..a7c519cd0b 100644
--- a/include/qemu/target-info-impl.h
+++ b/include/qemu/target-info-impl.h
@@ -27,7 +27,7 @@ typedef struct TargetInfo {
     EndianMode endianness;
     /*
      * runtime equivalent of
-     *   TARGET_PAGE_BITS_VARY ? TARGET_PAGE_BITS_LEGACY : TARGET_PAGE_BITS
+     *   TARGET_PAGE_BITS_VARY ? minimum for the target : TARGET_PAGE_BITS
      */
     unsigned page_bits_init;
     /* runtime equivalent of TARGET_PAGE_BITS_VARY definition */
diff --git a/target/arm/cpu-param.h b/target/arm/cpu-param.h
index 8b46c7c570..07af31aa3e 100644
--- a/target/arm/cpu-param.h
+++ b/target/arm/cpu-param.h
@@ -29,7 +29,6 @@
  * have to support 1K tiny pages.
  */
 # define TARGET_PAGE_BITS_VARY
-# define TARGET_PAGE_BITS_LEGACY 10
 #endif /* !CONFIG_USER_ONLY */
 
 /*
diff --git a/configs/targets/aarch64-softmmu.c 
b/configs/targets/aarch64-softmmu.c
index 82ccb57575..561af56e1a 100644
--- a/configs/targets/aarch64-softmmu.c
+++ b/configs/targets/aarch64-softmmu.c
@@ -10,7 +10,6 @@
 #include "qemu/target-info-impl.h"
 #include "hw/arm/machines-qom.h"
 #include "target/arm/cpu-qom.h"
-#include "target/arm/cpu-param.h"
 
 static const TargetInfo target_info_aarch64_system = {
     .target_name = "aarch64",
@@ -20,7 +19,7 @@ static const TargetInfo target_info_aarch64_system = {
     .machine_typename = TYPE_TARGET_AARCH64_MACHINE,
     .endianness = ENDIAN_MODE_LITTLE,
     .page_bits_vary = true,
-    .page_bits_init = TARGET_PAGE_BITS_LEGACY,
+    .page_bits_init = 10,
 };
 
 const TargetInfo *target_info(void)
diff --git a/configs/targets/arm-softmmu.c b/configs/targets/arm-softmmu.c
index 18940e51e5..488217c7a0 100644
--- a/configs/targets/arm-softmmu.c
+++ b/configs/targets/arm-softmmu.c
@@ -10,7 +10,6 @@
 #include "qemu/target-info-impl.h"
 #include "hw/arm/machines-qom.h"
 #include "target/arm/cpu-qom.h"
-#include "target/arm/cpu-param.h"
 
 static const TargetInfo target_info_arm_system = {
     .target_name = "arm",
@@ -20,7 +19,7 @@ static const TargetInfo target_info_arm_system = {
     .machine_typename = TYPE_TARGET_ARM_MACHINE,
     .endianness = ENDIAN_MODE_LITTLE,
     .page_bits_vary = true,
-    .page_bits_init = TARGET_PAGE_BITS_LEGACY,
+    .page_bits_init = 10,
 };
 
 const TargetInfo *target_info(void)
diff --git a/target-info-stub.c b/target-info-stub.c
index f5896a7262..d948ebef5f 100644
--- a/target-info-stub.c
+++ b/target-info-stub.c
@@ -29,14 +29,14 @@ static const TargetInfo target_info_stub = {
     .cpu_type = CPU_RESOLVING_TYPE,
     .machine_typename = TYPE_MACHINE,
     .endianness = TARGET_BIG_ENDIAN ? ENDIAN_MODE_BIG : ENDIAN_MODE_LITTLE,
-#ifdef TARGET_PAGE_BITS_VARY
-    .page_bits_vary = true,
-# ifdef TARGET_PAGE_BITS_LEGACY
-    .page_bits_init = TARGET_PAGE_BITS_LEGACY,
-# endif
-#else
+#ifndef TARGET_PAGE_BITS_VARY
     .page_bits_vary = false,
     .page_bits_init = TARGET_PAGE_BITS,
+#elif defined(CONFIG_USER_ONLY)
+    .page_bits_vary = true,
+    /* page_bits_init is unused; page size always set by main */
+#else
+# error "page_bits_init must be set in configs/target"
 #endif
 };
 
-- 
2.43.0


Reply via email to