ARC: mm: Introduce explicit super page size support
authorVineet Gupta <vgupta@synopsys.com>
Wed, 10 Feb 2016 01:22:07 +0000 (06:52 +0530)
committerVineet Gupta <vgupta@synopsys.com>
Fri, 12 Feb 2016 06:40:25 +0000 (12:10 +0530)
commit37eda9df5bd8444263418495632ea6ec750f03f9
tree2336e3a18d082fda05e907158b61fa34e2bcde7c
parentdec2b2849cfccf09822d6ce3f9bc84b8c8611152
ARC: mm: Introduce explicit super page size support

MMUv4 supports 2 concurrent page sizes: Normal and Super [4K to 16M]

So far Linux supported a single super page size for a given Normal page,
depending on the software page walking address split.
e.g. we had 11:8:13 address split for 8K page, which meant super page
was 2 ^(8+13) = 2M (given that THP size has to be PMD_SHIFT)

Now we turn this around, by allowing multiple Super Pages in Kconfig
(currently 2M and 16M only) and forcing page walker address split to
PGDIR_SHIFT and PAGE_SHIFT

For configs without Super page, things are same as before and
PGDIR_SHIFT can be hacked to get non default address split

The motivation for this change is a customer who needs 16M super page
and a 8K Normal page combo.

Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
arch/arc/Kconfig
arch/arc/include/asm/pgtable.h