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
