]> git.karo-electronics.de Git - mv-sheeva.git/commitdiff
ARM: cleanup lookup_machine_type data and ensure these are placed in __HEAD
authorRussell King <rmk+kernel@arm.linux.org.uk>
Mon, 4 Oct 2010 16:45:25 +0000 (17:45 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Fri, 8 Oct 2010 09:07:34 +0000 (10:07 +0100)
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/kernel/head-common.S

index 7c6f9ab47b956d15295ef53c3d4eebe268955390..c4effcfba1ebbe2c617c6e29189479d6ce3909b6 100644 (file)
@@ -24,6 +24,7 @@
  * and hope for the best (useful if bootloader fails to pass a proper
  * machine ID for example).
  */
+       __HEAD
 __error_a:
 #ifdef CONFIG_DEBUG_LL
        mov     r4, r1                          @ preserve machine ID
@@ -33,7 +34,7 @@ __error_a:
        bl      printhex8
        adr     r0, str_a2
        bl      printascii
-       adr     r3, 4f
+       adr     r3, __lookup_machine_type_data
        ldmia   r3, {r4, r5, r6}                @ get machine desc list
        sub     r4, r3, r4                      @ get offset between virt&phys
        add     r5, r5, r4                      @ convert virt addresses to
@@ -61,15 +62,6 @@ str_a3:      .asciz  "\nPlease check your kernel config and/or bootloader.\n"
        .align
 #endif
 
-/*
- * Look in <asm/procinfo.h> and arch/arm/kernel/arch.[ch] for
- * more information about the __proc_info and __arch_info structures.
- */
-       .align  2
-4:     .long   .
-       .long   __arch_info_begin
-       .long   __arch_info_end
-
 /*
  * Lookup machine architecture in the linker-build list of architectures.
  * Note that we can't use the absolute addresses for the __arch_info
@@ -82,7 +74,7 @@ str_a3:       .asciz  "\nPlease check your kernel config and/or bootloader.\n"
  *  r5 = mach_info pointer in physical address space
  */
 __lookup_machine_type:
-       adr     r3, 4b
+       adr     r3, __lookup_machine_type_data
        ldmia   r3, {r4, r5, r6}
        sub     r3, r3, r4                      @ get offset between virt&phys
        add     r5, r5, r3                      @ convert virt addresses to
@@ -97,6 +89,18 @@ __lookup_machine_type:
 2:     mov     pc, lr
 ENDPROC(__lookup_machine_type)
 
+/*
+ * Look in arch/arm/kernel/arch.[ch] for information about the
+ * __arch_info structures.
+ */
+       .align  2
+       .type   __lookup_machine_type_data, %object
+__lookup_machine_type_data:
+       .long   .
+       .long   __arch_info_begin
+       .long   __arch_info_end
+       .size   __lookup_machine_type_data, . - __lookup_machine_type_data
+
 /* Determine validity of the r2 atags pointer.  The heuristic requires
  * that the pointer be aligned, in the first 16k of physical RAM and
  * that the ATAG_CORE marker is first and present.  Future revisions