ARC: Fix PAE40 boot failures due to PTE truncation
authorVineet Gupta <vgupta@synopsys.com>
Thu, 5 May 2016 09:23:48 +0000 (14:53 +0530)
committerVineet Gupta <vgupta@synopsys.com>
Thu, 5 May 2016 11:05:45 +0000 (16:35 +0530)
commit2519d753676bdf2460fbbcde276d5b6ba8d6b695
tree4db307eac2f8efbfe9699b6c0bb449d346d6ad10
parente5bc0478ab6cf565619224536d75ecb2aedca43b
ARC: Fix PAE40 boot failures due to PTE truncation

So a benign looking cleanup which macro'ized PAGE_SHIFT shifts turned
out to be bad (since it was done non-sensically across the board).

It caused boot failures with PAE40 as forced cast to (unsigned long)
from newly introduced virt_to_pfn() was causing truncatiion of the
(long long) pte/paddr values.

It is OK to use this in accessors dealing with kernel virtual address,
pointers etc, but not for PTE values themelves.

Fixes: cJ2ff5cf2735c ("ARC: mm: Use virt_to_pfn() for addr >> PAGE_SHIFT pattern)
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
arch/arc/include/asm/page.h
arch/arc/include/asm/pgtable.h