x86: convert compressed loader to use __HEAD and HEAD_TEXT macros.
authorTim Abbott <tabbott@ksplice.com>
Wed, 16 Sep 2009 20:44:27 +0000 (16:44 -0400)
committerH. Peter Anvin <hpa@zytor.com>
Fri, 18 Sep 2009 17:21:49 +0000 (10:21 -0700)
This has the consequence of changing the section name use for head
code from ".text.head" to ".head.text".

Linus suggested that we merge the ".text.head" section with ".text"
(presumably while preserving the fact that the head code starts at 0).
When I tried this it caused the kernel to not boot.

Signed-off-by: Tim Abbott <tabbott@ksplice.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Sam Ravnborg <sam@ravnborg.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
arch/x86/boot/compressed/head_32.S
arch/x86/boot/compressed/head_64.S
arch/x86/boot/compressed/vmlinux.lds.S

index 75e4f00..f543b70 100644 (file)
  */
        .text
 
+#include <linux/init.h>
 #include <linux/linkage.h>
 #include <asm/segment.h>
 #include <asm/page_types.h>
 #include <asm/boot.h>
 #include <asm/asm-offsets.h>
 
-       .section ".text.head","ax",@progbits
+       __HEAD
 ENTRY(startup_32)
        cld
        /*
index f62c284..077e1b6 100644 (file)
@@ -24,6 +24,7 @@
        .code32
        .text
 
+#include <linux/init.h>
 #include <linux/linkage.h>
 #include <asm/segment.h>
 #include <asm/pgtable_types.h>
@@ -33,7 +34,7 @@
 #include <asm/processor-flags.h>
 #include <asm/asm-offsets.h>
 
-       .section ".text.head"
+       __HEAD
        .code32
 ENTRY(startup_32)
        cld
index cc353e1..f4193bb 100644 (file)
@@ -1,3 +1,5 @@
+#include <asm-generic/vmlinux.lds.h>
+
 OUTPUT_FORMAT(CONFIG_OUTPUT_FORMAT, CONFIG_OUTPUT_FORMAT, CONFIG_OUTPUT_FORMAT)
 
 #undef i386
@@ -18,9 +20,9 @@ SECTIONS
         * address 0.
         */
        . = 0;
-       .text.head : {
+       .head.text : {
                _head = . ;
-               *(.text.head)
+               HEAD_TEXT
                _ehead = . ;
        }
        .rodata.compressed : {