powerpc/44x: Support 16K/64K base page sizes on 44x
authorIlya Yanok <yanok@emcraft.com>
Thu, 11 Dec 2008 01:55:41 +0000 (04:55 +0300)
committerPaul Mackerras <paulus@samba.org>
Sun, 28 Dec 2008 22:53:25 +0000 (09:53 +1100)
commitca9153a3a2a7556d091dfe080e42b0e67881fff6
tree35b5ce24f190690cf7a726cbb97980da51704855
parent6ca4f7494bde078b2b730e28e4ea1dc36a772f70
powerpc/44x: Support 16K/64K base page sizes on 44x

This adds support for 16k and 64k page sizes on PowerPC 44x processors.

The PGDIR table is much smaller than a page when using 16k or 64k
pages (512 and 32 bytes respectively) so we allocate the PGDIR with
kzalloc() instead of __get_free_pages().

One PTE table covers rather a large memory area when using 16k or 64k
pages (32MB or 512MB respectively), so we can easily put FIXMAP and
PKMAP in the area covered by one PTE table.

Signed-off-by: Yuri Tikhonov <yur@emcraft.com>
Signed-off-by: Vladimir Panfilov <pvr@emcraft.com>
Signed-off-by: Ilya Yanok <yanok@emcraft.com>
Acked-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
arch/powerpc/Kconfig
arch/powerpc/include/asm/highmem.h
arch/powerpc/include/asm/mmu-44x.h
arch/powerpc/include/asm/page.h
arch/powerpc/include/asm/page_32.h
arch/powerpc/kernel/asm-offsets.c
arch/powerpc/kernel/head_44x.S
arch/powerpc/kernel/misc_32.S
arch/powerpc/mm/pgtable_32.c
arch/powerpc/platforms/Kconfig.cputype