Re: [PATCH] x86 e820: only void usable memory areas in memmap=exactmap case

Yinghai Lu
2013-01-12T17:07:16Z

On Sat, Jan 12, 2013 at 3:31 AM, Thomas Renninger <trenn@suse.de> wrote:
> memmap=exactmap [KNL,X86] Enable setting of an exact
> - E820 memory map, as specified by the user.
> - Such memmap=exactmap lines can be constructed based on
> - BIOS output or other requirements. See the memmap=nn@ss
> - option description.
> + E820 usable memory map, as specified by the user.
> + All unusable (reserved, ACPI, NVS,...) ranges from the
> + original e820 table are preserved.
> + But the usable memory regions from the original e820
> + table are removed.
> + This parameter is explicitly for kdump usage:
> + The memory the kdump kernel is allowed to use must
> + be passed via below memmap=nn[KMG]@ss[KMG] param.
> + All reserved regions the kernel may use for ioremapping
> + and similar are still considered.
> +
> + memmap=voidmap [KNL,X86] Do not use any e820 ranges from BIOS or
> + bootloader. Instead you have to pass regions via
> + below memmap= options.

I would suggest to keep memmap=exactmap meaning not changed, and add
memmap=exactusablemap
instead.

kexec-tools could be updated to support exactusablemap with
kernelversion checking for kdump.

also we need to double check to make sure:
1. exactmap should override exactusablemap, even the out of order sequence.
2. when exactusablemap is used, not just remove old usable type range,
also need to remove overlapped range
with new usable range.

Thanks

Yinghai