x86: convert to use __HEAD and HEAD_TEXT macros.
authorTim Abbott <tabbott@ksplice.com>
Wed, 16 Sep 2009 20:44:28 +0000 (16:44 -0400)
committerH. Peter Anvin <hpa@zytor.com>
Fri, 18 Sep 2009 17:21:50 +0000 (10:21 -0700)
This has the consequence of changing the section name use for head
code from ".text.head" to ".head.text".  It also eliminates the
".text.head" output section (instead placing head code at the start of
the .text output section), which should be harmless.

This patch only changes the sections in the actual kernel, not those
in the compressed boot loader.

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

index 7ffec6b3b3316e168f6a15564f2fab7a1bd00bac..64ad7696786f1f34f10cc2785393fba93f25e105 100644 (file)
@@ -79,7 +79,7 @@ RESERVE_BRK(pagetables, INIT_MAP_SIZE)
  * any particular GDT layout, because we load our own as soon as we
  * can.
  */
-.section .text.head,"ax",@progbits
+__HEAD
 ENTRY(startup_32)
        /* test KEEP_SEGMENTS flag to see if the bootloader is asking
                us to not reload segments */
index fa54f78e2a05c94862c56df144160e31474f481c..26406601031c9a3a3b6ee54cbf112f2599a42633 100644 (file)
@@ -40,7 +40,7 @@ L4_START_KERNEL = pgd_index(__START_KERNEL_map)
 L3_START_KERNEL = pud_index(__START_KERNEL_map)
 
        .text
-       .section .text.head
+       __HEAD
        .code64
        .globl startup_64
 startup_64:
index b96ca472fa261539fb66a4ce66d3813fbf8513dd..5c7826dd804b0eb03782ccc0efc9db8a48f90ed1 100644 (file)
@@ -65,17 +65,11 @@ SECTIONS
 #endif
 
        /* Text and read-only data */
-
-       /* bootstrapping code */
-       .text.head : AT(ADDR(.text.head) - LOAD_OFFSET) {
-               _text = .;
-               *(.text.head)
-       } :text = 0x9090
-
-       /* The rest of the text */
        .text :  AT(ADDR(.text) - LOAD_OFFSET) {
+               _text = .;
+               /* bootstrapping code */
+               HEAD_TEXT
 #ifdef CONFIG_X86_32
-               /* not really needed, already page aligned */
                . = ALIGN(PAGE_SIZE);
                *(.text.page_aligned)
 #endif