aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/kernel/head.S
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/kernel/head.S')
-rw-r--r--arch/arm/kernel/head.S7
1 files changed, 3 insertions, 4 deletions
diff --git a/arch/arm/kernel/head.S b/arch/arm/kernel/head.S
index 1e985f2cd70f..1aca1775b28f 100644
--- a/arch/arm/kernel/head.S
+++ b/arch/arm/kernel/head.S
@@ -251,12 +251,11 @@ __turn_mmu_on:
251 * r10 = procinfo 251 * r10 = procinfo
252 * 252 *
253 * Returns: 253 * Returns:
254 * r0, r3, r5, r6, r7 corrupted 254 * r0, r3, r6, r7 corrupted
255 * r4 = physical page table address 255 * r4 = physical page table address
256 */ 256 */
257 .type __create_page_tables, %function 257 .type __create_page_tables, %function
258__create_page_tables: 258__create_page_tables:
259 ldr r5, [r8, #MACHINFO_PHYSRAM] @ physram
260 pgtbl r4 @ page table address 259 pgtbl r4 @ page table address
261 260
262 /* 261 /*
@@ -303,7 +302,7 @@ __create_page_tables:
303 * Then map first 1MB of ram in case it contains our boot params. 302 * Then map first 1MB of ram in case it contains our boot params.
304 */ 303 */
305 add r0, r4, #PAGE_OFFSET >> 18 304 add r0, r4, #PAGE_OFFSET >> 18
306 orr r6, r5, r7 305 orr r6, r7, #PHYS_OFFSET
307 str r6, [r0] 306 str r6, [r0]
308 307
309#ifdef CONFIG_XIP_KERNEL 308#ifdef CONFIG_XIP_KERNEL
@@ -311,7 +310,7 @@ __create_page_tables:
311 * Map some ram to cover our .data and .bss areas. 310 * Map some ram to cover our .data and .bss areas.
312 * Mapping 3MB should be plenty. 311 * Mapping 3MB should be plenty.
313 */ 312 */
314 sub r3, r4, r5 313 sub r3, r4, #PHYS_OFFSET
315 mov r3, r3, lsr #20 314 mov r3, r3, lsr #20
316 add r0, r0, r3, lsl #2 315 add r0, r0, r3, lsl #2
317 add r6, r6, r3, lsl #20 316 add r6, r6, r3, lsl #20