x86: Reserve setup_data ranges late after parsing memmap cmdline
authorDave Young <dyoung@redhat.com>
Fri, 20 Dec 2013 10:02:22 +0000 (18:02 +0800)
committerMatt Fleming <matt.fleming@intel.com>
Sun, 29 Dec 2013 13:09:07 +0000 (13:09 +0000)
commit77ea8c948953a90401e436e7c05973b2d5529804
tree5a747347894a26b72283c6bfdd1a5d3d2a5d2466
parent5039e316dde3fb71c79e95e97c5bca8e4724d8f2
x86: Reserve setup_data ranges late after parsing memmap cmdline

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,
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.

Signed-off-by: Dave Young <dyoung@redhat.com>
Acked-by: Borislav Petkov <bp@suse.de>
Tested-by: Toshi Kani <toshi.kani@hp.com>
Signed-off-by: Matt Fleming <matt.fleming@intel.com>
arch/x86/kernel/setup.c