[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v2 2/4] x86/e820: do not fixup memmap in copy_e820_map
And instead use the newly introduced e820_remove_range helper to remove any RAM region from the low 1MB VGA/ROM region afterwards. No functional change intended. Signed-off-by: Roger Pau Monné <roger.pau@xxxxxxxxxx> --- Cc: Jan Beulich <jbeulich@xxxxxxxx> Cc: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> Cc: Wei Liu <wei.liu2@xxxxxxxxxx> --- xen/arch/x86/e820.c | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/xen/arch/x86/e820.c b/xen/arch/x86/e820.c index ba81b2f2dd..5b63667087 100644 --- a/xen/arch/x86/e820.c +++ b/xen/arch/x86/e820.c @@ -320,20 +320,6 @@ static int __init copy_e820_map(struct e820entry * biosmap, int nr_map) if (start > end) return -1; - /* - * Some BIOSes claim RAM in the 640k - 1M region. - * Not right. Fix it up. - */ - if (type == E820_RAM) { - if (start < 0x100000ULL && end > 0xA0000ULL) { - if (start < 0xA0000ULL) - add_memory_region(start, 0xA0000ULL-start, type); - if (end <= 0x100000ULL) - continue; - start = 0x100000ULL; - size = end - start; - } - } add_memory_region(start, size, type); } while (biosmap++,--nr_map); return 0; @@ -510,6 +496,12 @@ static void __init reserve_dmi_region(void) } } +static void __init reserve_vga_region(void) +{ + /* Remove any RAM regions from the VGA hole. */ + e820_remove_range(&e820, KB(640), MB(1) - 1, E820_RAM, true); +} + static void __init machine_specific_memory_setup(struct e820map *raw) { unsigned long mpt_limit, ro_mpt_limit; @@ -545,6 +537,12 @@ static void __init machine_specific_memory_setup(struct e820map *raw) reserve_dmi_region(); + /* + * Some BIOSes claim RAM in the 640k - 1M region. + * Not right. Fix it up. + */ + reserve_vga_region(); + top_of_ram = mtrr_top_of_ram(); if ( top_of_ram ) clip_to_limit(top_of_ram, "MTRRs do not cover all of memory."); -- 2.17.2 (Apple Git-113) _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |