Add WB/UC check for early_ioremap
authorLi, Zhen-Hua <zhen-hual@hp.com>
Mon, 18 Mar 2013 02:45:43 +0000 (10:45 +0800)
committerTony Luck <tony.luck@intel.com>
Tue, 19 Mar 2013 23:14:52 +0000 (16:14 -0700)
commita4279e6202bbd08ac6038234571ac639c98879cf
treecd3e2a755a22304e695494115484a15fdb038d05
parentdeb60015096102f9842b631dcad98a05001268e9
Add WB/UC check for early_ioremap

On ia64 system, the function early_ioremap returned an uncached memory
reference without checking whether this was consistent with existing
mappings. This causes efi error and the kernel failed during boot.  Add a
check to test whether memory has EFI_MEMORY_WB set.  Use the function
kern_mem_attribute() in early_iomap() function to provide appropriate
cacheable or uncacheable mapped address.

See the document Documentation/ia64/aliasing.txt for more details.

Signed-off-by: Li, Zhen-Hua <zhen-hual@hp.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
arch/ia64/mm/ioremap.c