![Nathan Fontenot](/assets/img/avatar_default.png)
We currently have code to parse the dynamic reconfiguration LMB information from the ibm,dynamic-meory device tree property in multiple locations; numa.c, prom.c, and pseries/hotplug-memory.c. In anticipation of adding support for a version 2 of the ibm,dynamic-memory property this patch aims to separate the device tree information from the device tree format. Doing this requires a two step process to avoid a possibly very large bootmem allocation early in boot. During initial boot, new routines are provided to walk the device tree property and make a call-back for each LMB. The second step (introduced in later patches) will allocate an array of LMB information that can be used directly without needing to know the DT format. This approach provides the benefit of consolidating the device tree property parsing to a single location and (eventually) providing a common data structure for retrieving LMB information. This patch introduces a routine to walk the ibm,dynamic-memory property in the flattened device tree and updates the prom.c code to use this to initialize memory. Signed-off-by: Nathan Fontenot <nfont@linux.vnet.ibm.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
47 lines
1.8 KiB
Makefile
47 lines
1.8 KiB
Makefile
# SPDX-License-Identifier: GPL-2.0
|
|
#
|
|
# 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 mmu_context.o drmem.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_BOOK3S_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_BOOK3S_64),y)
|
|
obj-$(CONFIG_PPC_4K_PAGES) += hash64_4k.o
|
|
obj-$(CONFIG_PPC_64K_PAGES) += hash64_64k.o
|
|
endif
|
|
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_BOOK3S_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
|
|
obj-$(CONFIG_PPC_HTDUMP) += dump_hashpagetable.o
|