diff options
author | Russell King <rmk+kernel@arm.linux.org.uk> | 2011-01-06 17:33:19 -0500 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2011-01-06 17:33:19 -0500 |
commit | 28cdac6690cb113856293bf79b40de33dbd8f974 (patch) | |
tree | 64cd8ca8376ccf9a12faee3588c15a5839f9a28b /arch/arm/kernel/smp.c | |
parent | 4073723acb9cdcdbe4df9c0e0c376c65d1697e43 (diff) | |
parent | 36bb94ba36f332de767cfaa3af6a5136435a3a9c (diff) |
Merge branch 'pgt' (early part) into devel
Diffstat (limited to 'arch/arm/kernel/smp.c')
-rw-r--r-- | arch/arm/kernel/smp.c | 36 |
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 | ||
58 | static 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 | |||
79 | static 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 | |||
94 | int __cpuinit __cpu_up(unsigned int cpu) | 58 | int __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); |