]> Zhao Yanbai Git Server - minix.git/commitdiff
arm: Make sure __k_unpaged_MINIX is first 58/2958/1
authorEmmanuel Blot <emmanuel.blot@free.fr>
Mon, 19 Jan 2015 13:39:44 +0000 (14:39 +0100)
committerLionel Sambuc <lionel@minix3.org>
Wed, 18 Mar 2015 06:50:31 +0000 (07:50 +0100)
Do not rely on build order to set startup symbol (`__k_unpaged_MINIX`)
at kernel binary start

Change-Id: I1ed3f9309fe66ff97e24915938c114d5a159deaf

minix/kernel/arch/earm/head.S
minix/kernel/arch/earm/kernel.lds

index 03f9f97e0b26a5db9ac825757fe3e0baed528f8f..b384283e1709166f7f733d111aaf6b6ded65ea23 100644 (file)
@@ -18,7 +18,7 @@
 
 #include "arch_proto.h" /* K_STACK_SIZE */
 
-.text
+.section .startup
 /*===========================================================================*/
 /*                                     MINIX                                */
 /*===========================================================================*/
@@ -27,6 +27,7 @@ MINIX:
 /* this is the entry point for the MINIX kernel */
        b multiboot_init
 
+.text
 multiboot_init:
        ldr     sp, =load_stack_start   /* make usable stack */
        mov     fp, #0
index b41fcad298ef74c2a6878c8dd423a4eee55f7b07..860e4016788c5f3d11eff075d5545831c0fc00e8 100644 (file)
@@ -14,7 +14,7 @@ SECTIONS
        . = _kern_phys_base;
        __k_unpaged__kern_unpaged_start = .;
 
-       .unpaged_text ALIGN(4096) : { unpaged_*.o(.text) }
+       .unpaged_text ALIGN(4096) : { unpaged_*.o(.startup); unpaged_*.o(.text) }
        .unpaged_data ALIGN(4096) : { unpaged_*.o(.data .rodata*) }
        __k_unpaged__kern_unpaged_edata = .;