Use target_info->page_bits_init to merge finalize_target_page_bits_common into finalize_target_page_bits in page-vary-common.c.
Signed-off-by: Richard Henderson <[email protected]> --- include/exec/page-vary.h | 4 ---- page-vary-common.c | 15 +++++++++++---- page-vary-target.c | 12 ------------ 3 files changed, 11 insertions(+), 20 deletions(-) diff --git a/include/exec/page-vary.h b/include/exec/page-vary.h index c4dc56634b..f2d735bec2 100644 --- a/include/exec/page-vary.h +++ b/include/exec/page-vary.h @@ -40,10 +40,6 @@ typedef struct { uint64_t mask; } TargetPageBits; -#ifdef IN_PAGE_VARY -void finalize_target_page_bits_common(int min); -#endif - /** * set_preferred_target_page_bits: * @bits: number of bits needed to represent an address within the page diff --git a/page-vary-common.c b/page-vary-common.c index b41137c644..ddd0863378 100644 --- a/page-vary-common.c +++ b/page-vary-common.c @@ -50,11 +50,18 @@ bool set_preferred_target_page_bits(int bits) return true; } -void finalize_target_page_bits_common(int min) +void finalize_target_page_bits(void) { - if (target_page.bits == 0) { - target_page.bits = min; + int bits = target_page.bits; + + if (bits == 0) { + const TargetInfo *ti = target_info(); + + bits = ti->page_bits_init; + assert(bits != 0); + target_page.bits = bits; } - target_page.mask = -1ull << target_page.bits; + + target_page.mask = -1ull << bits; target_page.decided = true; } diff --git a/page-vary-target.c b/page-vary-target.c index d388c5c3d6..bc4d8931b6 100644 --- a/page-vary-target.c +++ b/page-vary-target.c @@ -38,15 +38,3 @@ int migration_legacy_page_bits(void) #endif } #endif - -void finalize_target_page_bits(void) -{ -#ifndef TARGET_PAGE_BITS_VARY - finalize_target_page_bits_common(TARGET_PAGE_BITS); -#elif defined(CONFIG_USER_ONLY) - assert(target_page.bits != 0); - finalize_target_page_bits_common(target_page.bits); -#else - finalize_target_page_bits_common(TARGET_PAGE_BITS_LEGACY); -#endif -} -- 2.43.0
