aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/kernel/smp.c
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@arm.linux.org.uk>2011-01-06 17:33:19 -0500
committerRussell King <rmk+kernel@arm.linux.org.uk>2011-01-06 17:33:19 -0500
commit28cdac6690cb113856293bf79b40de33dbd8f974 (patch)
tree64cd8ca8376ccf9a12faee3588c15a5839f9a28b /arch/arm/kernel/smp.c
parent4073723acb9cdcdbe4df9c0e0c376c65d1697e43 (diff)
parent36bb94ba36f332de767cfaa3af6a5136435a3a9c (diff)
Merge branch 'pgt' (early part) into devel
Diffstat (limited to 'arch/arm/kernel/smp.c')
-rw-r--r--arch/arm/kernel/smp.c36
1 files changed, 0 insertions, 36 deletions
diff --git a/arch/arm/kernel/smp.c b/arch/arm/kernel/smp.c
index 5ec79b4ff950..4539ebcb089f 100644
--- a/arch/arm/kernel/smp.c
+++ b/arch/arm/kernel/smp.c
@@ -55,42 +55,6 @@ enum ipi_msg_type {
55 IPI_CPU_STOP, 55 IPI_CPU_STOP,
56}; 56};
57 57
58static inline void identity_mapping_add(pgd_t *pgd, unsigned long start,
59 unsigned long end)
60{
61 unsigned long addr, prot;
62 pmd_t *pmd;
63
64 prot = PMD_TYPE_SECT | PMD_SECT_AP_WRITE;
65 if (cpu_architecture() <= CPU_ARCH_ARMv5TEJ && !cpu_is_xscale())
66 prot |= PMD_BIT4;
67
68 for (addr = start & PGDIR_MASK; addr < end;) {
69 pmd = pmd_offset(pgd + pgd_index(addr), addr);
70 pmd[0] = __pmd(addr | prot);
71 addr += SECTION_SIZE;
72 pmd[1] = __pmd(addr | prot);
73 addr += SECTION_SIZE;
74 flush_pmd_entry(pmd);
75 outer_clean_range(__pa(pmd), __pa(pmd + 1));
76 }
77}
78
79static inline void identity_mapping_del(pgd_t *pgd, unsigned long start,
80 unsigned long end)
81{
82 unsigned long addr;
83 pmd_t *pmd;
84
85 for (addr = start & PGDIR_MASK; addr < end; addr += PGDIR_SIZE) {
86 pmd = pmd_offset(pgd + pgd_index(addr), addr);
87 pmd[0] = __pmd(0);
88 pmd[1] = __pmd(0);
89 clean_pmd_entry(pmd);
90 outer_clean_range(__pa(pmd), __pa(pmd + 1));
91 }
92}
93
94int __cpuinit __cpu_up(unsigned int cpu) 58int __cpuinit __cpu_up(unsigned int cpu)
95{ 59{
96 struct cpuinfo_arm *ci = &per_cpu(cpu_data, cpu); 60 struct cpuinfo_arm *ci = &per_cpu(cpu_data, cpu);