f048aace29
This commit moves the whole no-hash TLB handling out of line into a new tlb_nohash.c file, and implements some basic SMP support using IPIs and/or broadcast tlbivax instructions. Note that I'm using local invalidations for D->I cache coherency. At worst, if another processor is trying to execute the same and has the old entry in its TLB, it will just take a fault and re-do the TLB flush locally (it won't re-do the cache flush in any case). 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>
27 lines
939 B
Makefile
27 lines
939 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
|
|
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
|