powerpc/mm: Fix pgtable cache cleanup with CONFIG_PPC_SUBPAGE_PROT
authorDavid Gibson <dwg@au1.ibm.com>
Thu, 26 Nov 2009 18:56:04 +0000 (18:56 +0000)
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>
Tue, 8 Dec 2009 04:59:33 +0000 (15:59 +1100)
commitd28513bc7f675d28b479db666d572e078ecf182d
tree0d9ba33a8e0ae40f7d2e34f8fd0607ab1a63a7e9
parent5a7b4193e564d1611ecf1cd859aed60d5612d78f
powerpc/mm: Fix pgtable cache cleanup with CONFIG_PPC_SUBPAGE_PROT

Commit a0668cdc154e54bf0c85182e0535eea237d53146 cleans up the handling
of kmem_caches for allocating various levels of pagetables.
Unfortunately, it conflicts badly with CONFIG_PPC_SUBPAGE_PROT, due to
the latter's cleverly hidden technique of adding some extra allocation
space to the top level page directory to store the extra information
it needs.

Since that extra allocation really doesn't fit into the cleaned up
page directory allocating scheme, this patch alters
CONFIG_PPC_SUBPAGE_PROT to instead allocate its struct
subpage_prot_table as part of the mm_context_t.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
arch/powerpc/include/asm/mmu-hash64.h
arch/powerpc/include/asm/pgalloc-64.h
arch/powerpc/include/asm/pte-hash64-64k.h
arch/powerpc/mm/hash_utils_64.c
arch/powerpc/mm/mmu_context_hash64.c
arch/powerpc/mm/subpage-prot.c