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

Thomas Renninger
2013-01-15T00:55:08Z

On Monday, January 14, 2013 11:04:36 AM Yinghai Lu wrote:
> On Mon, Jan 14, 2013 at 7:05 AM, Thomas Renninger <trenn@suse.de> wrote:
> > What is this for?:
> > @@ -871,6 +879,11 @@ static int __init parse_memmap_one(char
> >
> > userdef = 1;
> > if (*p == '@') {
> >
> > start_at = memparse(p+1, &p);
> >
> > + if (exactusablemap_parsed) {
> > + /* remove all range with other types */
> > + e820_remove_range(start_at, mem_size,
> > + E820_RAM, 0);
> > + }
> >
> > e820_add_region(start_at, mem_size, E820_RAM);
> >
> > } else if (*p == '#') {
> >
> > start_at = memparse(p+1, &p);
>
> remove all old renges before add E820_RAM, otherwise new add E820
> ranges could be ignored.
But this is intended?
kexec must never request reserved memory to be used as ordinary E820_RAM
by the kdump kernel.
This also reverts what exactusablemap is all about:
Keep all reserved memory ranges of the original BIOS map.

Above would again wrongly remove the mmconf and other reserved regions
if kexec passes memmap=exactuseablemap,x@y

>From what I can see the patch looks fine, but above part should
simply be left out.

Thomas