GLOBAL had several meanings and is going away. In this patch, convert
all the data marked using GLOBAL to use SYM_DATA_START or
SYM_DATA_SIMPLE instead.

Notes:
* SYM_DATA_END_LABEL is used to generate tr_gdt_end too.
* wakeup_idt is marked as LOCAL now as it is used only locally.

Since we removed the last user of END on X86, make sure, END is not
defined there.

Signed-off-by: Jiri Slaby <jsl...@suse.cz>
Cc: Thomas Gleixner <t...@linutronix.de>
Cc: Ingo Molnar <mi...@redhat.com>
Cc: "H. Peter Anvin" <h...@zytor.com>
Cc: x...@kernel.org
---
 arch/x86/realmode/rm/header.S            |  8 +++-----
 arch/x86/realmode/rm/reboot.S            |  8 ++++----
 arch/x86/realmode/rm/stack.S             | 14 ++++++--------
 arch/x86/realmode/rm/trampoline_32.S     | 10 +++++-----
 arch/x86/realmode/rm/trampoline_64.S     | 17 ++++++++---------
 arch/x86/realmode/rm/trampoline_common.S |  4 ++--
 arch/x86/realmode/rm/wakeup_asm.S        | 12 ++++++------
 arch/x86/realmode/rmpiggy.S              | 10 ++++------
 include/linux/linkage.h                  |  2 ++
 9 files changed, 40 insertions(+), 45 deletions(-)

diff --git a/arch/x86/realmode/rm/header.S b/arch/x86/realmode/rm/header.S
index a28221d94e69..1cbe08c9409e 100644
--- a/arch/x86/realmode/rm/header.S
+++ b/arch/x86/realmode/rm/header.S
@@ -13,7 +13,7 @@
        .section ".header", "a"
 
        .balign 16
-GLOBAL(real_mode_header)
+SYM_DATA_START(real_mode_header)
        .long   pa_text_start
        .long   pa_ro_end
        /* SMP trampoline */
@@ -33,11 +33,9 @@ GLOBAL(real_mode_header)
 #ifdef CONFIG_X86_64
        .long   __KERNEL32_CS
 #endif
-END(real_mode_header)
+SYM_DATA_END(real_mode_header)
 
        /* End signature, used to verify integrity */
        .section ".signature","a"
        .balign 4
-GLOBAL(end_signature)
-       .long   REALMODE_END_SIGNATURE
-END(end_signature)
+SYM_DATA_SIMPLE(end_signature, .long REALMODE_END_SIGNATURE)
diff --git a/arch/x86/realmode/rm/reboot.S b/arch/x86/realmode/rm/reboot.S
index cebac961aa42..370ed1fe34e4 100644
--- a/arch/x86/realmode/rm/reboot.S
+++ b/arch/x86/realmode/rm/reboot.S
@@ -127,13 +127,13 @@ bios:
        .section ".rodata", "a"
 
        .balign 16
-GLOBAL(machine_real_restart_idt)
+SYM_DATA_START(machine_real_restart_idt)
        .word   0xffff          /* Length - real mode default value */
        .long   0               /* Base - real mode default value */
-END(machine_real_restart_idt)
+SYM_DATA_END(machine_real_restart_idt)
 
        .balign 16
-GLOBAL(machine_real_restart_gdt)
+SYM_DATA_START(machine_real_restart_gdt)
        /* Self-pointer */
        .word   0xffff          /* Length - real mode default value */
        .long   pa_machine_real_restart_gdt
@@ -153,4 +153,4 @@ GLOBAL(machine_real_restart_gdt)
         * semantics we don't have to reload the segments once CR0.PE = 0.
         */
        .quad   GDT_ENTRY(0x0093, 0x100, 0xffff)
-END(machine_real_restart_gdt)
+SYM_DATA_END(machine_real_restart_gdt)
diff --git a/arch/x86/realmode/rm/stack.S b/arch/x86/realmode/rm/stack.S
index 867ae87adfae..7c286e43019b 100644
--- a/arch/x86/realmode/rm/stack.S
+++ b/arch/x86/realmode/rm/stack.S
@@ -5,15 +5,13 @@
 #include <linux/linkage.h>
 
        .data
-GLOBAL(HEAP)
-       .long   rm_heap
-GLOBAL(heap_end)
-       .long   rm_stack
+SYM_DATA_SIMPLE(HEAP, .long rm_heap)
+SYM_DATA_SIMPLE(heap_end, .long rm_stack)
 
        .bss
        .balign 16
-GLOBAL(rm_heap)
-       .space  2048
-GLOBAL(rm_stack)
+SYM_DATA_SIMPLE(rm_heap, .space 2048)
+
+SYM_DATA_START(rm_stack)
        .space  2048
-GLOBAL(rm_stack_end)
+SYM_DATA_END_LABEL(rm_stack, SYM_V_GLOBAL, rm_stack_end)
diff --git a/arch/x86/realmode/rm/trampoline_32.S 
b/arch/x86/realmode/rm/trampoline_32.S
index aa14fea65aac..956b1c451661 100644
--- a/arch/x86/realmode/rm/trampoline_32.S
+++ b/arch/x86/realmode/rm/trampoline_32.S
@@ -66,10 +66,10 @@ ENDPROC(startup_32)
 
        .bss
        .balign 8
-GLOBAL(trampoline_header)
-       tr_start:               .space  4
-       tr_gdt_pad:             .space  2
-       tr_gdt:                 .space  6
-END(trampoline_header)
+SYM_DATA_START(trampoline_header)
+SYM_DATA_SIMPLE_LOCAL(tr_start,                .space 4)
+SYM_DATA_SIMPLE_LOCAL(tr_gdt_pad,      .space 2)
+SYM_DATA_SIMPLE_LOCAL(tr_gdt,          .space 6)
+SYM_DATA_END(trampoline_header)
        
 #include "trampoline_common.S"
diff --git a/arch/x86/realmode/rm/trampoline_64.S 
b/arch/x86/realmode/rm/trampoline_64.S
index fe21a26a09fe..f1f2f18fff85 100644
--- a/arch/x86/realmode/rm/trampoline_64.S
+++ b/arch/x86/realmode/rm/trampoline_64.S
@@ -132,25 +132,24 @@ ENDPROC(startup_64)
        # Duplicate the global descriptor table
        # so the kernel can live anywhere
        .balign 16
-       .globl tr_gdt
-tr_gdt:
+SYM_DATA_START(tr_gdt)
        .short  tr_gdt_end - tr_gdt - 1 # gdt limit
        .long   pa_tr_gdt
        .short  0
        .quad   0x00cf9b000000ffff      # __KERNEL32_CS
        .quad   0x00af9b000000ffff      # __KERNEL_CS
        .quad   0x00cf93000000ffff      # __KERNEL_DS
-tr_gdt_end:
+SYM_DATA_END_LABEL(tr_gdt, SYM_V_LOCAL, tr_gdt_end)
 
        .bss
        .balign PAGE_SIZE
-GLOBAL(trampoline_pgd)         .space  PAGE_SIZE
+SYM_DATA_SIMPLE(trampoline_pgd, .space PAGE_SIZE)
 
        .balign 8
-GLOBAL(trampoline_header)
-       tr_start:               .space  8
-       GLOBAL(tr_efer)         .space  8
-       GLOBAL(tr_cr4)          .space  4
-END(trampoline_header)
+SYM_DATA_START(trampoline_header)
+SYM_DATA_SIMPLE_LOCAL(tr_start,        .space 8)
+SYM_DATA_SIMPLE(tr_efer,       .space 8)
+SYM_DATA_SIMPLE(tr_cr4,                .space 4)
+SYM_DATA_END(trampoline_header)
 
 #include "trampoline_common.S"
diff --git a/arch/x86/realmode/rm/trampoline_common.S 
b/arch/x86/realmode/rm/trampoline_common.S
index b1ecdb9692ad..3cd403a94245 100644
--- a/arch/x86/realmode/rm/trampoline_common.S
+++ b/arch/x86/realmode/rm/trampoline_common.S
@@ -1,7 +1,7 @@
        .section ".rodata","a"
        .balign 16
-tr_idt: .fill 1, 6, 0
+SYM_DATA_SIMPLE_LOCAL(tr_idt, .fill 1, 6, 0)
 
        .bss
        .balign 4
-GLOBAL(trampoline_status)      .space  4
+SYM_DATA_SIMPLE(trampoline_status, .space 4)
diff --git a/arch/x86/realmode/rm/wakeup_asm.S 
b/arch/x86/realmode/rm/wakeup_asm.S
index 08203a187446..41483fd2d247 100644
--- a/arch/x86/realmode/rm/wakeup_asm.S
+++ b/arch/x86/realmode/rm/wakeup_asm.S
@@ -16,7 +16,7 @@
        .section ".data", "aw"
 
        .balign 16
-GLOBAL(wakeup_header)
+SYM_DATA_START(wakeup_header)
        video_mode:     .short  0       /* Video mode number */
        pmode_entry:    .long   0
        pmode_cs:       .short  __KERNEL_CS
@@ -30,7 +30,7 @@ GLOBAL(wakeup_header)
        realmode_flags: .long   0
        real_magic:     .long   0
        signature:      .long   WAKEUP_HEADER_SIGNATURE
-END(wakeup_header)
+SYM_DATA_END(wakeup_header)
 
        .text
        .code16
@@ -152,7 +152,7 @@ bogus_real_magic:
         */
 
        .balign 16
-GLOBAL(wakeup_gdt)
+SYM_DATA_START(wakeup_gdt)
        .word   3*8-1           /* Self-descriptor */
        .long   pa_wakeup_gdt
        .word   0
@@ -164,15 +164,15 @@ GLOBAL(wakeup_gdt)
        .word   0xffff          /* 16-bit data segment @ real_mode_base */
        .long   0x93000000 + pa_real_mode_base
        .word   0x008f          /* big real mode */
-END(wakeup_gdt)
+SYM_DATA_END(wakeup_gdt)
 
        .section ".rodata","a"
        .balign 8
 
        /* This is the standard real-mode IDT */
        .balign 16
-GLOBAL(wakeup_idt)
+SYM_DATA_START_LOCAL(wakeup_idt)
        .word   0xffff          /* limit */
        .long   0               /* address */
        .word   0
-END(wakeup_idt)
+SYM_DATA_END(wakeup_idt)
diff --git a/arch/x86/realmode/rmpiggy.S b/arch/x86/realmode/rmpiggy.S
index 204c6ece0e97..644cc3dc9f23 100644
--- a/arch/x86/realmode/rmpiggy.S
+++ b/arch/x86/realmode/rmpiggy.S
@@ -9,12 +9,10 @@
 
        .balign PAGE_SIZE
 
-GLOBAL(real_mode_blob)
+SYM_DATA_START(real_mode_blob)
        .incbin "arch/x86/realmode/rm/realmode.bin"
-END(real_mode_blob)
+SYM_DATA_END_LABEL(real_mode_blob, SYM_V_GLOBAL, real_mode_blob_end)
 
-GLOBAL(real_mode_blob_end);
-
-GLOBAL(real_mode_relocs)
+SYM_DATA_START(real_mode_relocs)
        .incbin "arch/x86/realmode/rm/realmode.relocs"
-END(real_mode_relocs)
+SYM_DATA_END(real_mode_relocs)
diff --git a/include/linux/linkage.h b/include/linux/linkage.h
index 31237e9db93f..27af3543fbc9 100644
--- a/include/linux/linkage.h
+++ b/include/linux/linkage.h
@@ -112,11 +112,13 @@
        SYM_FUNC_START_WEAK(name)
 #endif
 
+#ifndef CONFIG_X86
 #ifndef END
 /* deprecated, use SYM_FUNC_END, SYM_DATA_END, or SYM_END */
 #define END(name) \
        .size name, .-name
 #endif
+#endif /* CONFIG_X86 */
 
 /* If symbol 'name' is treated as a subroutine (gets called, and returns)
  * then please use ENDPROC to mark 'name' as STT_FUNC for the benefit of
-- 
2.12.2

Reply via email to