From: Luca Fancellu Date: Thu, 18 Apr 2024 07:36:47 +0000 (+0100) Subject: xen/arm: Avoid code duplication in check_reserved_regions_overlap X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=9f657d883201f8149c118cb00c1b2d7692395f5a;p=people%2Fandrewcoop%2Fxen.git xen/arm: Avoid code duplication in check_reserved_regions_overlap The function check_reserved_regions_overlap is calling 'meminfo_overlap_check' on the same type of structure, this code can be written in a way to avoid code duplication, so rework the function to do that. Signed-off-by: Luca Fancellu Reviewed-by: Michal Orzel --- diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c index e00dbb1351..003b0446af 100644 --- a/xen/arch/arm/setup.c +++ b/xen/arch/arm/setup.c @@ -340,25 +340,27 @@ void __init fw_unreserved_regions(paddr_t s, paddr_t e, bool __init check_reserved_regions_overlap(paddr_t region_start, paddr_t region_size) { + const struct membanks *mem_banks[] = { + bootinfo_get_reserved_mem(), +#ifdef CONFIG_ACPI + bootinfo_get_acpi(), +#endif + }; + unsigned int i; + /* - * Check if input region is overlapping with bootinfo_get_reserved_mem() - * banks + * Check if input region is overlapping with reserved memory banks or + * ACPI EfiACPIReclaimMemory (when ACPI feature is enabled) */ - if ( meminfo_overlap_check(bootinfo_get_reserved_mem(), - region_start, region_size) ) - return true; + for ( i = 0; i < ARRAY_SIZE(mem_banks); i++ ) + if ( meminfo_overlap_check(mem_banks[i], region_start, region_size) ) + return true; /* Check if input region is overlapping with bootmodules */ if ( bootmodules_overlap_check(&bootinfo.modules, region_start, region_size) ) return true; -#ifdef CONFIG_ACPI - /* Check if input region is overlapping with ACPI EfiACPIReclaimMemory */ - if ( meminfo_overlap_check(bootinfo_get_acpi(), region_start, region_size) ) - return true; -#endif - return false; }