[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen staging] x86/boot: Check for E820_RAM earlier when searching the E820
commit aefb07395ff4b320ee245b5995496c8d396fce99 Author: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> AuthorDate: Sat Dec 28 14:41:11 2019 +0000 Commit: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> CommitDate: Wed Jan 8 18:47:51 2020 +0000 x86/boot: Check for E820_RAM earlier when searching the E820 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 <andrew.cooper3@xxxxxxxxxx> Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx> --- 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 && -- generated by git-patchbot for /home/xen/git/xen.git#staging _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |