9b081e1080
Today powerpc64 uses a set of pgtable_caches while powerpc32 uses standard pages when using 4k pages and a single pgtable_cache if using other size pages. In preparation of implementing huge pages on the 8xx, this patch replaces the specific powerpc32 handling by the 64 bits approach. This is done by: * moving 64 bits pgtable_cache_add() and pgtable_cache_init() in a new file called init-common.c * modifying pgtable_cache_init() to also handle the case without PMD * removing the 32 bits version of pgtable_cache_add() and pgtable_cache_init() * copying related header contents from 64 bits into both the book3s/32 and nohash/32 header files On the 8xx, the following cache sizes will be used: * 4k pages mode: - PGT_CACHE(10) for PGD - PGT_CACHE(3) for 512k hugepage tables * 16k pages mode: - PGT_CACHE(6) for PGD - PGT_CACHE(7) for 512k hugepage tables - PGT_CACHE(3) for 8M hugepage tables Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr> Reviewed-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> Signed-off-by: Scott Wood <oss@buserror.net>
48 lines
1.9 KiB
Makefile
48 lines
1.9 KiB
Makefile
#
|
|
# Makefile for the linux ppc-specific parts of the memory manager.
|
|
#
|
|
|
|
subdir-ccflags-$(CONFIG_PPC_WERROR) := -Werror
|
|
|
|
ccflags-$(CONFIG_PPC64) := $(NO_MINIMAL_TOC)
|
|
|
|
obj-y := fault.o mem.o pgtable.o mmap.o \
|
|
init_$(BITS).o pgtable_$(BITS).o \
|
|
init-common.o
|
|
obj-$(CONFIG_PPC_MMU_NOHASH) += mmu_context_nohash.o tlb_nohash.o \
|
|
tlb_nohash_low.o
|
|
obj-$(CONFIG_PPC_BOOK3E) += tlb_low_$(BITS)e.o
|
|
hash64-$(CONFIG_PPC_NATIVE) := hash_native_64.o
|
|
obj-$(CONFIG_PPC_BOOK3E_64) += pgtable-book3e.o
|
|
obj-$(CONFIG_PPC_STD_MMU_64) += pgtable-hash64.o hash_utils_64.o slb_low.o slb.o $(hash64-y) mmu_context_book3s64.o pgtable-book3s64.o
|
|
obj-$(CONFIG_PPC_RADIX_MMU) += pgtable-radix.o tlb-radix.o
|
|
obj-$(CONFIG_PPC_STD_MMU_32) += ppc_mmu_32.o hash_low_32.o mmu_context_hash32.o
|
|
obj-$(CONFIG_PPC_STD_MMU) += tlb_hash$(BITS).o
|
|
ifeq ($(CONFIG_PPC_STD_MMU_64),y)
|
|
obj-$(CONFIG_PPC_4K_PAGES) += hash64_4k.o
|
|
obj-$(CONFIG_PPC_64K_PAGES) += hash64_64k.o
|
|
endif
|
|
obj-$(CONFIG_PPC_ICSWX) += icswx.o
|
|
obj-$(CONFIG_PPC_ICSWX_PID) += icswx_pid.o
|
|
obj-$(CONFIG_40x) += 40x_mmu.o
|
|
obj-$(CONFIG_44x) += 44x_mmu.o
|
|
obj-$(CONFIG_PPC_8xx) += 8xx_mmu.o
|
|
obj-$(CONFIG_PPC_FSL_BOOK3E) += fsl_booke_mmu.o
|
|
obj-$(CONFIG_NEED_MULTIPLE_NODES) += numa.o
|
|
obj-$(CONFIG_PPC_SPLPAR) += vphn.o
|
|
obj-$(CONFIG_PPC_MM_SLICES) += slice.o
|
|
obj-y += hugetlbpage.o
|
|
ifeq ($(CONFIG_HUGETLB_PAGE),y)
|
|
obj-$(CONFIG_PPC_STD_MMU_64) += hugetlbpage-hash64.o
|
|
obj-$(CONFIG_PPC_RADIX_MMU) += hugetlbpage-radix.o
|
|
obj-$(CONFIG_PPC_BOOK3E_MMU) += hugetlbpage-book3e.o
|
|
endif
|
|
obj-$(CONFIG_TRANSPARENT_HUGEPAGE) += hugepage-hash64.o
|
|
obj-$(CONFIG_PPC_SUBPAGE_PROT) += subpage-prot.o
|
|
obj-$(CONFIG_NOT_COHERENT_CACHE) += dma-noncoherent.o
|
|
obj-$(CONFIG_HIGHMEM) += highmem.o
|
|
obj-$(CONFIG_PPC_COPRO_BASE) += copro_fault.o
|
|
obj-$(CONFIG_SPAPR_TCE_IOMMU) += mmu_context_iommu.o
|
|
obj-$(CONFIG_PPC_PTDUMP) += dump_linuxpagetables.o \
|
|
dump_hashpagetable.o
|