|
@@ -98,8 +98,9 @@ __mmap_switched:
|
|
|
str r9, [r4] @ Save processor ID
|
|
|
str r1, [r5] @ Save machine type
|
|
|
str r2, [r6] @ Save atags pointer
|
|
|
- bic r4, r0, #CR_A @ Clear 'A' bit
|
|
|
- stmia r7, {r0, r4} @ Save control register values
|
|
|
+ cmp r7, #0
|
|
|
+ bicne r4, r0, #CR_A @ Clear 'A' bit
|
|
|
+ stmneia r7, {r0, r4} @ Save control register values
|
|
|
b start_kernel
|
|
|
ENDPROC(__mmap_switched)
|
|
|
|
|
@@ -113,7 +114,11 @@ __mmap_switched_data:
|
|
|
.long processor_id @ r4
|
|
|
.long __machine_arch_type @ r5
|
|
|
.long __atags_pointer @ r6
|
|
|
+#ifdef CONFIG_CPU_CP15
|
|
|
.long cr_alignment @ r7
|
|
|
+#else
|
|
|
+ .long 0 @ r7
|
|
|
+#endif
|
|
|
.long init_thread_union + THREAD_START_SP @ sp
|
|
|
.size __mmap_switched_data, . - __mmap_switched_data
|
|
|
|