![Benjamin Herrenschmidt](/assets/img/avatar_default.png)
Currently, the various forms of low level TLB invalidations are all implemented in misc_32.S for 32-bit processors, in a fairly scary mess of #ifdef's and with interesting duplication such as a whole bunch of code for FSL _tlbie and _tlbia which are no longer used. This moves things around such that _tlbie is now defined in hash_low_32.S and is only used by the 32-bit hash code, and all nohash CPUs use the various _tlbil_* forms that are now moved to a new file, tlb_nohash_low.S. I moved all the definitions for that stuff out of include/asm/tlbflush.h as they are really internal mm stuff, into mm/mmu_decl.h The code should have no functional changes. I kept some variants inline for trivial forms on things like 40x and 8xx. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Acked-by: Kumar Gala <galak@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
29 lines
965 B
Makefile
29 lines
965 B
Makefile
#
|
|
# Makefile for the linux ppc-specific parts of the memory manager.
|
|
#
|
|
|
|
ifeq ($(CONFIG_PPC64),y)
|
|
EXTRA_CFLAGS += -mno-minimal-toc
|
|
endif
|
|
|
|
obj-y := fault.o mem.o pgtable.o \
|
|
init_$(CONFIG_WORD_SIZE).o \
|
|
pgtable_$(CONFIG_WORD_SIZE).o
|
|
obj-$(CONFIG_PPC_MMU_NOHASH) += mmu_context_nohash.o tlb_nohash.o \
|
|
tlb_nohash_low.o
|
|
hash-$(CONFIG_PPC_NATIVE) := hash_native_64.o
|
|
obj-$(CONFIG_PPC64) += hash_utils_64.o \
|
|
slb_low.o slb.o stab.o \
|
|
gup.o mmap.o $(hash-y)
|
|
obj-$(CONFIG_PPC_STD_MMU_32) += ppc_mmu_32.o
|
|
obj-$(CONFIG_PPC_STD_MMU) += hash_low_$(CONFIG_WORD_SIZE).o \
|
|
tlb_hash$(CONFIG_WORD_SIZE).o \
|
|
mmu_context_hash$(CONFIG_WORD_SIZE).o
|
|
obj-$(CONFIG_40x) += 40x_mmu.o
|
|
obj-$(CONFIG_44x) += 44x_mmu.o
|
|
obj-$(CONFIG_FSL_BOOKE) += fsl_booke_mmu.o
|
|
obj-$(CONFIG_NEED_MULTIPLE_NODES) += numa.o
|
|
obj-$(CONFIG_PPC_MM_SLICES) += slice.o
|
|
obj-$(CONFIG_HUGETLB_PAGE) += hugetlbpage.o
|
|
obj-$(CONFIG_PPC_SUBPAGE_PROT) += subpage-prot.o
|