x86, pat: fix warn_on_once() while mapping 0-1MB range with /dev/mem
authorSuresh Siddha <suresh.b.siddha@intel.com>
Wed, 11 Feb 2009 19:20:23 +0000 (11:20 -0800)
committerIngo Molnar <mingo@elte.hu>
Thu, 12 Feb 2009 07:27:27 +0000 (08:27 +0100)
commitbe03d9e8022030c16abf534e33e185bfc3d40eef
tree30e197e7eb3631daa882219d882443e58b30ab1a
parent4f06b0436b2ddbd3b67b10e77098a6862787b3eb
x86, pat: fix warn_on_once() while mapping 0-1MB range with /dev/mem

Jeff Mahoney reported:

> With Suse's hwinfo tool, on -tip:
> WARNING: at arch/x86/mm/pat.c:637 reserve_pfn_range+0x5b/0x26d()

reserve_pfn_range() is not tracking the memory range below 1MB
as non-RAM and as such is inconsistent with similar checks in
reserve_memtype() and free_memtype()

Rename the pagerange_is_ram() to pat_pagerange_is_ram() and add the
"track legacy 1MB region as non RAM" condition.

And also, fix reserve_pfn_range() to return -EINVAL, when the pfn
range is RAM. This is to be consistent with this API design.

Reported-and-tested-by: Jeff Mahoney <jeffm@suse.com>
Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com>
Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86/include/asm/page.h
arch/x86/mm/ioremap.c
arch/x86/mm/pat.c