• Vladimir Berezniker's avatar
    x86: sanitize user specified e820 memmap values · b3ca74a2
    Vladimir Berezniker authored
    Sanitize user specified e820 memory ranges, using the same logic that is
    applied to the values returned by the BIOS.  This ensures consistent
    handling regardless of the source of the memory mappings.
    
    Allows overriding portions of the memory map without specifying one in
    it's entirety (memmap=exactmap).
    
    E.g. marking a range of bad RAM as reserved with memmap=48M$528M
    
    BIOS supplied range
    
    BIOS-e820: 0000000000100000 - 000000007fe80000 (usable)
    
    becomes
    
    user: 0000000000100000 - 0000000021000000 (usable)
    user: 0000000021000000 - 0000000024000000 (reserved)
    user: 0000000024000000 - 000000007fe80000 (usable)
    
    Previously this did not work, as the original BIOS range was left
    untouched while the user defined range was appended to the end of the
    memory map.
    
    [ tglx: arch/x86 adaptation ]
    Signed-off-by: default avatarVladimir Berezniker <vmpn@hitechman.com>
    Signed-off-by: default avatarAndi Kleen <ak@suse.de>
    Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
    Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
    b3ca74a2
e820_64.c 20.5 KB