aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/kernel/head.S
diff options
context:
space:
mode:
authorWill Deacon <will.deacon@arm.com>2011-11-23 07:03:27 -0500
committerWill Deacon <will.deacon@arm.com>2011-12-06 09:04:15 -0500
commit72662e01088394577be4a3f14da94cf87bea2591 (patch)
tree3626efb94b048cefa3f62aa0174c29949626d783 /arch/arm/kernel/head.S
parent2c8951ab0c337cb198236df07ad55f9dd4892c26 (diff)
ARM: head.S: only include __turn_mmu_on in the initial identity mapping
__create_page_tables identity maps the region of memory from __enable_mmu to the end of __turn_mmu_on. In preparation for including __turn_mmu_on in the .idmap.text section, this patch modifies the identity mapping so that it only includes the __turn_mmu_on code. Reviewed-by: Catalin Marinas <catalin.marinas@arm.com> Signed-off-by: Will Deacon <will.deacon@arm.com>
Diffstat (limited to 'arch/arm/kernel/head.S')
-rw-r--r--arch/arm/kernel/head.S14
1 files changed, 7 insertions, 7 deletions
diff --git a/arch/arm/kernel/head.S b/arch/arm/kernel/head.S
index 566c54c2a1fe..43e3aa3b0573 100644
--- a/arch/arm/kernel/head.S
+++ b/arch/arm/kernel/head.S
@@ -170,11 +170,11 @@ __create_page_tables:
170 * Create identity mapping to cater for __enable_mmu. 170 * Create identity mapping to cater for __enable_mmu.
171 * This identity mapping will be removed by paging_init(). 171 * This identity mapping will be removed by paging_init().
172 */ 172 */
173 adr r0, __enable_mmu_loc 173 adr r0, __turn_mmu_on_loc
174 ldmia r0, {r3, r5, r6} 174 ldmia r0, {r3, r5, r6}
175 sub r0, r0, r3 @ virt->phys offset 175 sub r0, r0, r3 @ virt->phys offset
176 add r5, r5, r0 @ phys __enable_mmu 176 add r5, r5, r0 @ phys __turn_mmu_on
177 add r6, r6, r0 @ phys __enable_mmu_end 177 add r6, r6, r0 @ phys __turn_mmu_on_end
178 mov r5, r5, lsr #SECTION_SHIFT 178 mov r5, r5, lsr #SECTION_SHIFT
179 mov r6, r6, lsr #SECTION_SHIFT 179 mov r6, r6, lsr #SECTION_SHIFT
180 180
@@ -287,10 +287,10 @@ __create_page_tables:
287ENDPROC(__create_page_tables) 287ENDPROC(__create_page_tables)
288 .ltorg 288 .ltorg
289 .align 289 .align
290__enable_mmu_loc: 290__turn_mmu_on_loc:
291 .long . 291 .long .
292 .long __enable_mmu 292 .long __turn_mmu_on
293 .long __enable_mmu_end 293 .long __turn_mmu_on_end
294 294
295#if defined(CONFIG_SMP) 295#if defined(CONFIG_SMP)
296 __CPUINIT 296 __CPUINIT
@@ -405,7 +405,7 @@ __turn_mmu_on:
405 mov r3, r3 405 mov r3, r3
406 mov r3, r13 406 mov r3, r13
407 mov pc, r3 407 mov pc, r3
408__enable_mmu_end: 408__turn_mmu_on_end:
409ENDPROC(__turn_mmu_on) 409ENDPROC(__turn_mmu_on)
410 410
411 411