diff options
| author | Thomas Gleixner <tglx@linutronix.de> | 2010-05-10 11:59:37 +0200 | 
|---|---|---|
| committer | Thomas Gleixner <tglx@linutronix.de> | 2010-05-10 14:20:42 +0200 | 
| commit | dbb6be6d5e974c42bbecd183effaa0df69e1dd8b (patch) | |
| tree | 5735cb47e70853d057a9881dd0ce44b83e88fa63 /arch/powerpc/mm | |
| parent | 6a867a395558a7f882d041783e4cdea6744ca2bf (diff) | |
| parent | b57f95a38233a2e73b679bea4a5453a1cc2a1cc9 (diff) | |
| download | olio-linux-3.10-dbb6be6d5e974c42bbecd183effaa0df69e1dd8b.tar.xz olio-linux-3.10-dbb6be6d5e974c42bbecd183effaa0df69e1dd8b.zip  | |
Merge branch 'linus' into timers/core
Reason: Further posix_cpu_timer patches depend on mainline changes
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'arch/powerpc/mm')
| -rw-r--r-- | arch/powerpc/mm/dma-noncoherent.c | 1 | ||||
| -rw-r--r-- | arch/powerpc/mm/fsl_booke_mmu.c | 9 | ||||
| -rw-r--r-- | arch/powerpc/mm/hugetlbpage.c | 1 | ||||
| -rw-r--r-- | arch/powerpc/mm/init_32.c | 1 | ||||
| -rw-r--r-- | arch/powerpc/mm/init_64.c | 1 | ||||
| -rw-r--r-- | arch/powerpc/mm/mem.c | 7 | ||||
| -rw-r--r-- | arch/powerpc/mm/mmu_context_hash64.c | 1 | ||||
| -rw-r--r-- | arch/powerpc/mm/mmu_context_nohash.c | 1 | ||||
| -rw-r--r-- | arch/powerpc/mm/numa.c | 17 | ||||
| -rw-r--r-- | arch/powerpc/mm/pgtable.c | 1 | ||||
| -rw-r--r-- | arch/powerpc/mm/pgtable_32.c | 1 | ||||
| -rw-r--r-- | arch/powerpc/mm/pgtable_64.c | 1 | ||||
| -rw-r--r-- | arch/powerpc/mm/subpage-prot.c | 1 | 
13 files changed, 33 insertions, 10 deletions
diff --git a/arch/powerpc/mm/dma-noncoherent.c b/arch/powerpc/mm/dma-noncoherent.c index 36692f5c9a7..757c0bed9a9 100644 --- a/arch/powerpc/mm/dma-noncoherent.c +++ b/arch/powerpc/mm/dma-noncoherent.c @@ -23,6 +23,7 @@   */  #include <linux/sched.h> +#include <linux/slab.h>  #include <linux/kernel.h>  #include <linux/errno.h>  #include <linux/string.h> diff --git a/arch/powerpc/mm/fsl_booke_mmu.c b/arch/powerpc/mm/fsl_booke_mmu.c index c5394728bf2..1ed6b52f303 100644 --- a/arch/powerpc/mm/fsl_booke_mmu.c +++ b/arch/powerpc/mm/fsl_booke_mmu.c @@ -116,7 +116,7 @@ void loadcam_entry(int idx)  	mtspr(SPRN_MAS2, TLBCAM[idx].MAS2);  	mtspr(SPRN_MAS3, TLBCAM[idx].MAS3); -	if (cur_cpu_spec->cpu_features & MMU_FTR_BIG_PHYS) +	if (mmu_has_feature(MMU_FTR_BIG_PHYS))  		mtspr(SPRN_MAS7, TLBCAM[idx].MAS7);  	asm volatile("isync;tlbwe;isync" : : : "memory"); @@ -152,18 +152,13 @@ static void settlbcam(int index, unsigned long virt, phys_addr_t phys,  	TLBCAM[index].MAS3 = (phys & MAS3_RPN) | MAS3_SX | MAS3_SR;  	TLBCAM[index].MAS3 |= ((flags & _PAGE_RW) ? MAS3_SW : 0); -	if (cur_cpu_spec->cpu_features & MMU_FTR_BIG_PHYS) +	if (mmu_has_feature(MMU_FTR_BIG_PHYS))  		TLBCAM[index].MAS7 = (u64)phys >> 32; -#ifndef CONFIG_KGDB /* want user access for breakpoints */  	if (flags & _PAGE_USER) {  	   TLBCAM[index].MAS3 |= MAS3_UX | MAS3_UR;  	   TLBCAM[index].MAS3 |= ((flags & _PAGE_RW) ? MAS3_UW : 0);  	} -#else -	TLBCAM[index].MAS3 |= MAS3_UX | MAS3_UR; -	TLBCAM[index].MAS3 |= ((flags & _PAGE_RW) ? MAS3_UW : 0); -#endif  	tlbcam_addrs[index].start = virt;  	tlbcam_addrs[index].limit = virt + size - 1; diff --git a/arch/powerpc/mm/hugetlbpage.c b/arch/powerpc/mm/hugetlbpage.c index 123f7070238..9bb249c3046 100644 --- a/arch/powerpc/mm/hugetlbpage.c +++ b/arch/powerpc/mm/hugetlbpage.c @@ -9,6 +9,7 @@  #include <linux/mm.h>  #include <linux/io.h> +#include <linux/slab.h>  #include <linux/hugetlb.h>  #include <asm/pgtable.h>  #include <asm/pgalloc.h> diff --git a/arch/powerpc/mm/init_32.c b/arch/powerpc/mm/init_32.c index b1dbd9ee87c..767333005eb 100644 --- a/arch/powerpc/mm/init_32.c +++ b/arch/powerpc/mm/init_32.c @@ -31,6 +31,7 @@  #include <linux/initrd.h>  #include <linux/pagemap.h>  #include <linux/lmb.h> +#include <linux/gfp.h>  #include <asm/pgalloc.h>  #include <asm/prom.h> diff --git a/arch/powerpc/mm/init_64.c b/arch/powerpc/mm/init_64.c index 776f28d02b6..d7fa50b09b4 100644 --- a/arch/powerpc/mm/init_64.c +++ b/arch/powerpc/mm/init_64.c @@ -42,6 +42,7 @@  #include <linux/poison.h>  #include <linux/lmb.h>  #include <linux/hugetlb.h> +#include <linux/slab.h>  #include <asm/pgalloc.h>  #include <asm/page.h> diff --git a/arch/powerpc/mm/mem.c b/arch/powerpc/mm/mem.c index 311224cdb7a..0f594d774bf 100644 --- a/arch/powerpc/mm/mem.c +++ b/arch/powerpc/mm/mem.c @@ -22,6 +22,7 @@  #include <linux/kernel.h>  #include <linux/errno.h>  #include <linux/string.h> +#include <linux/gfp.h>  #include <linux/types.h>  #include <linux/mm.h>  #include <linux/stddef.h> @@ -48,6 +49,7 @@  #include <asm/sparsemem.h>  #include <asm/vdso.h>  #include <asm/fixmap.h> +#include <asm/swiotlb.h>  #include "mmu_decl.h" @@ -320,6 +322,11 @@ void __init mem_init(void)  	struct page *page;  	unsigned long reservedpages = 0, codesize, initsize, datasize, bsssize; +#ifdef CONFIG_SWIOTLB +	if (ppc_swiotlb_enable) +		swiotlb_init(1); +#endif +  	num_physpages = lmb.memory.size >> PAGE_SHIFT;  	high_memory = (void *) __va(max_low_pfn * PAGE_SIZE); diff --git a/arch/powerpc/mm/mmu_context_hash64.c b/arch/powerpc/mm/mmu_context_hash64.c index 51622daae09..2535828aa84 100644 --- a/arch/powerpc/mm/mmu_context_hash64.c +++ b/arch/powerpc/mm/mmu_context_hash64.c @@ -19,6 +19,7 @@  #include <linux/spinlock.h>  #include <linux/idr.h>  #include <linux/module.h> +#include <linux/gfp.h>  #include <asm/mmu_context.h> diff --git a/arch/powerpc/mm/mmu_context_nohash.c b/arch/powerpc/mm/mmu_context_nohash.c index dbc692145ec..1f2d9ff0989 100644 --- a/arch/powerpc/mm/mmu_context_nohash.c +++ b/arch/powerpc/mm/mmu_context_nohash.c @@ -47,6 +47,7 @@  #include <linux/bootmem.h>  #include <linux/notifier.h>  #include <linux/cpu.h> +#include <linux/slab.h>  #include <asm/mmu_context.h>  #include <asm/tlbflush.h> diff --git a/arch/powerpc/mm/numa.c b/arch/powerpc/mm/numa.c index 64c00227b99..eaa7633515b 100644 --- a/arch/powerpc/mm/numa.c +++ b/arch/powerpc/mm/numa.c @@ -242,10 +242,11 @@ EXPORT_SYMBOL_GPL(of_node_to_nid);   */  static int __init find_min_common_depth(void)  { -	int depth; +	int depth, index;  	const unsigned int *ref_points;  	struct device_node *rtas_root;  	unsigned int len; +	struct device_node *options;  	rtas_root = of_find_node_by_path("/rtas"); @@ -258,11 +259,23 @@ static int __init find_min_common_depth(void)  	 * configuration (should be all 0's) and the second is for a normal  	 * NUMA configuration.  	 */ +	index = 1;  	ref_points = of_get_property(rtas_root,  			"ibm,associativity-reference-points", &len); +	/* +	 * For type 1 affinity information we want the first field +	 */ +	options = of_find_node_by_path("/options"); +	if (options) { +		const char *str; +		str = of_get_property(options, "ibm,associativity-form", NULL); +		if (str && !strcmp(str, "1")) +                        index = 0; +	} +  	if ((len >= 2 * sizeof(unsigned int)) && ref_points) { -		depth = ref_points[1]; +		depth = ref_points[index];  	} else {  		dbg("NUMA: ibm,associativity-reference-points not found.\n");  		depth = -1; diff --git a/arch/powerpc/mm/pgtable.c b/arch/powerpc/mm/pgtable.c index 99df697c601..ebc2f38eb38 100644 --- a/arch/powerpc/mm/pgtable.c +++ b/arch/powerpc/mm/pgtable.c @@ -22,6 +22,7 @@   */  #include <linux/kernel.h> +#include <linux/gfp.h>  #include <linux/mm.h>  #include <linux/init.h>  #include <linux/percpu.h> diff --git a/arch/powerpc/mm/pgtable_32.c b/arch/powerpc/mm/pgtable_32.c index 573b3bd1c45..b9243e7557a 100644 --- a/arch/powerpc/mm/pgtable_32.c +++ b/arch/powerpc/mm/pgtable_32.c @@ -27,6 +27,7 @@  #include <linux/init.h>  #include <linux/highmem.h>  #include <linux/lmb.h> +#include <linux/slab.h>  #include <asm/pgtable.h>  #include <asm/pgalloc.h> diff --git a/arch/powerpc/mm/pgtable_64.c b/arch/powerpc/mm/pgtable_64.c index 853d5565eed..d95679a5fb2 100644 --- a/arch/powerpc/mm/pgtable_64.c +++ b/arch/powerpc/mm/pgtable_64.c @@ -35,6 +35,7 @@  #include <linux/init.h>  #include <linux/bootmem.h>  #include <linux/lmb.h> +#include <linux/slab.h>  #include <asm/pgalloc.h>  #include <asm/page.h> diff --git a/arch/powerpc/mm/subpage-prot.c b/arch/powerpc/mm/subpage-prot.c index a040b81e93b..e4f8f1fc81a 100644 --- a/arch/powerpc/mm/subpage-prot.c +++ b/arch/powerpc/mm/subpage-prot.c @@ -10,7 +10,6 @@  #include <linux/errno.h>  #include <linux/kernel.h>  #include <linux/gfp.h> -#include <linux/slab.h>  #include <linux/types.h>  #include <linux/mm.h>  #include <linux/hugetlb.h>  |