[PATCH v4 11/12] x86: reserve setup_data ranges late after parsing memmap cmdline

Dave Young dyoung at redhat.com
Fri Nov 29 03:35:52 EST 2013

On 11/27/13 at 04:07pm, Borislav Petkov wrote:
> On Tue, Nov 26, 2013 at 01:57:56PM +0800, Dave Young wrote:
> > Kdump kernel using memmap=exactmap, move e820_reserve_setup_data after
> > parsing early params so they can be set reserved finally. Or kdump kernel
> > will warn about ioremap a normal ram range.
> I had to stare for a while at this commit message, rereading it a couple
> of times and looking at the code in order to understand why you're
> moving the call further down.
> Please rewrite it into something more readable.
> The usual structure which you could use is:
> 1. Currently we have A
> 2. We need B
> 3. In order to achieve it, we do C
> or something to that effect.

Is below changes ok to you?

Currently e820_reserve_setup_data is called before parsing early params,
it works in normal case. But for memmap=exactmap, the final memory ranges
are created after parsing memmap= cmdline params, so the previous
e820_reserve_setup_data has no effect. For example for setup_data ranges
will still be marked as normal system ram, thus when later sysfs driver
ioremap them kernel will warn about mapping normal ram.

This patch fix it by moving the e820_reserve_setup_data callback after
parsing early params so they can be set as reserved ranges and later
ioremap will be fine with it.


More information about the kexec mailing list