]> git.baikalelectronics.ru Git - kernel.git/commit
x86: sanitize user specified e820 memmap values
authorVladimir Berezniker <vmpn@hitechman.com>
Wed, 30 Jan 2008 12:30:46 +0000 (13:30 +0100)
committerIngo Molnar <mingo@elte.hu>
Wed, 30 Jan 2008 12:30:46 +0000 (13:30 +0100)
commitff462abb31aeb9b972e6b50d587b6c1522ebe309
treea2e6e99b7c650e7275958992d5fecabbc2243afa
parent301ff1ec9c52f012e238af86b61b614845755ca0
x86: sanitize user specified e820 memmap values

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: Vladimir Berezniker <vmpn@hitechman.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
arch/x86/kernel/e820_64.c