x86, asmlinkage: Make _*_start_kernel visible
authorAndi Kleen <ak@linux.intel.com>
Mon, 5 Aug 2013 22:02:38 +0000 (15:02 -0700)
committerH. Peter Anvin <hpa@linux.intel.com>
Tue, 6 Aug 2013 21:18:26 +0000 (14:18 -0700)
Obviously these functions have to be visible, otherwise
the whole kernel could be optimized away.

Signed-off-by: Andi Kleen <ak@linux.intel.com>
Link: http://lkml.kernel.org/r/1375740170-7446-5-git-send-email-andi@firstfloor.org
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
arch/x86/include/asm/setup.h
arch/x86/kernel/head32.c
arch/x86/kernel/head64.c

index b7bf3505e1ec0ba4d1c42c51aeae60babf150a55..347555492dad198b9f643812222aa5a218b54d6c 100644 (file)
@@ -6,6 +6,8 @@
 
 #define COMMAND_LINE_SIZE 2048
 
+#include <linux/linkage.h>
+
 #ifdef __i386__
 
 #include <linux/pfn.h>
@@ -108,11 +110,11 @@ void *extend_brk(size_t size, size_t align);
 extern void probe_roms(void);
 #ifdef __i386__
 
-void __init i386_start_kernel(void);
+asmlinkage void __init i386_start_kernel(void);
 
 #else
-void __init x86_64_start_kernel(char *real_mode);
-void __init x86_64_start_reservations(char *real_mode_data);
+asmlinkage void __init x86_64_start_kernel(char *real_mode);
+asmlinkage void __init x86_64_start_reservations(char *real_mode_data);
 
 #endif /* __i386__ */
 #endif /* _SETUP */
index 138463a24877df63e1fae62ca2870a4819481889..06f87bece92a72c0b205f8fa0ba02c63a3ffb86a 100644 (file)
@@ -29,7 +29,7 @@ static void __init i386_default_early_setup(void)
        reserve_ebda_region();
 }
 
-void __init i386_start_kernel(void)
+asmlinkage void __init i386_start_kernel(void)
 {
        sanitize_boot_params(&boot_params);
 
index 55b67614ed942fad37e13fe5a48e4fab19f4feea..1be8e43b669ee4ef405cafe65ececdbb611fce6c 100644 (file)
@@ -137,7 +137,7 @@ static void __init copy_bootdata(char *real_mode_data)
        }
 }
 
-void __init x86_64_start_kernel(char * real_mode_data)
+asmlinkage void __init x86_64_start_kernel(char * real_mode_data)
 {
        int i;