On Mon, Jan 14, 2013 at 4:54 PM, Thomas Renninger <trenn@xxxxxxx> wrote: > On Monday, January 14, 2013 11:04:36 AM Yinghai Lu wrote: >> On Mon, Jan 14, 2013 at 7:05 AM, Thomas Renninger <trenn@xxxxxxx> 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. then, I would like to rename it to resetusablemap instead. like attached. Thanks Yinghai
Attachment:
e820_resetusablemap.patch
Description: Binary data