Merge tag 'timers-urgent-2020-12-27' of git://git.kernel.org/pub/scm/linux/kernel...
[linux-2.6-microblaze.git] / arch / arm / kernel / head-common.S
index 4a39828..29b2eda 100644 (file)
@@ -95,7 +95,7 @@ __mmap_switched:
  THUMB(        ldmia   r4!, {r0, r1, r2, r3} )
  THUMB(        mov     sp, r3 )
        sub     r2, r2, r1
-       bl      memcpy                          @ copy .data to RAM
+       bl      __memcpy                        @ copy .data to RAM
 #endif
 
    ARM(        ldmia   r4!, {r0, r1, sp} )
@@ -103,7 +103,7 @@ __mmap_switched:
  THUMB(        mov     sp, r3 )
        sub     r2, r1, r0
        mov     r1, #0
-       bl      memset                          @ clear .bss
+       bl      __memset                        @ clear .bss
 
        ldmia   r4, {r0, r1, r2, r3}
        str     r9, [r0]                        @ Save processor ID
@@ -111,6 +111,9 @@ __mmap_switched:
        str     r8, [r2]                        @ Save atags pointer
        cmp     r3, #0
        strne   r10, [r3]                       @ Save control register values
+#ifdef CONFIG_KASAN
+       bl      kasan_early_init
+#endif
        mov     lr, #0
        b       start_kernel
 ENDPROC(__mmap_switched)
@@ -170,11 +173,12 @@ ENDPROC(lookup_processor_type)
  *     r9 = cpuid (preserved)
  */
 __lookup_processor_type:
-       adr     r3, __lookup_processor_type_data
-       ldmia   r3, {r4 - r6}
-       sub     r3, r3, r4                      @ get offset between virt&phys
-       add     r5, r5, r3                      @ convert virt addresses to
-       add     r6, r6, r3                      @ physical address space
+       /*
+        * Look in <asm/procinfo.h> for information about the __proc_info
+        * structure.
+        */
+       adr_l   r5, __proc_info_begin
+       adr_l   r6, __proc_info_end
 1:     ldmia   r5, {r3, r4}                    @ value, mask
        and     r4, r4, r9                      @ mask wanted bits
        teq     r3, r4
@@ -186,17 +190,6 @@ __lookup_processor_type:
 2:     ret     lr
 ENDPROC(__lookup_processor_type)
 
-/*
- * Look in <asm/procinfo.h> for information about the __proc_info structure.
- */
-       .align  2
-       .type   __lookup_processor_type_data, %object
-__lookup_processor_type_data:
-       .long   .
-       .long   __proc_info_begin
-       .long   __proc_info_end
-       .size   __lookup_processor_type_data, . - __lookup_processor_type_data
-
 __error_lpae:
 #ifdef CONFIG_DEBUG_LL
        adr     r0, str_lpae