Re: [Xen-devel] [PATCH 1/6] x86/boot: Check for E820_RAM earlier when searching the E820

2020-01-07 Thread Jan Beulich
On 06.01.2020 16:54, Andrew Cooper wrote:
> There is no point performing the masking calculations if we are going to
> throw the result away.

A reasonably optimizing compiler ought to do so. It's slightly less
source code the original way. Nevertheless I don't really mind the
change, so ...

> No functional change.
> 
> Signed-off-by: Andrew Cooper 

Reviewed-by: Jan Beulich 

___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

[Xen-devel] [PATCH 1/6] x86/boot: Check for E820_RAM earlier when searching the E820

2020-01-06 Thread Andrew Cooper
There is no point performing the masking calculations if we are going to
throw the result away.

No functional change.

Signed-off-by: Andrew Cooper 
---
CC: Jan Beulich 
CC: Wei Liu 
CC: Roger Pau Monné 
---
 xen/arch/x86/setup.c | 10 --
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
index 501f3f5e4b..ed54f79fea 100644
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -1033,11 +1033,14 @@ void __init noreturn __start_xen(unsigned long mbi_p)
 uint64_t s, e, mask = (1UL << L2_PAGETABLE_SHIFT) - 1;
 uint64_t end, limit = ARRAY_SIZE(l2_identmap) << L2_PAGETABLE_SHIFT;
 
+if ( boot_e820.map[i].type != E820_RAM )
+continue;
+
 /* Superpage-aligned chunks from BOOTSTRAP_MAP_BASE. */
 s = (boot_e820.map[i].addr + mask) & ~mask;
 e = (boot_e820.map[i].addr + boot_e820.map[i].size) & ~mask;
 s = max_t(uint64_t, s, BOOTSTRAP_MAP_BASE);
-if ( (boot_e820.map[i].type != E820_RAM) || (s >= e) )
+if ( s >= e )
 continue;
 
 if ( s < limit )
@@ -1286,11 +1289,14 @@ void __init noreturn __start_xen(unsigned long mbi_p)
 uint64_t s, e, mask = PAGE_SIZE - 1;
 uint64_t map_s, map_e;
 
+if ( boot_e820.map[i].type != E820_RAM )
+continue;
+
 /* Only page alignment required now. */
 s = (boot_e820.map[i].addr + mask) & ~mask;
 e = (boot_e820.map[i].addr + boot_e820.map[i].size) & ~mask;
 s = max_t(uint64_t, s, 1<<20);
-if ( (boot_e820.map[i].type != E820_RAM) || (s >= e) )
+if ( s >= e )
 continue;
 
 if ( !acpi_boot_table_init_done &&
-- 
2.11.0


___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel