x86/asm/realmode: Use SYM_DATA_* instead of GLOBAL
authorJiri Slaby <jslaby@suse.cz>
Fri, 11 Oct 2019 11:50:58 +0000 (13:50 +0200)
committerBorislav Petkov <bp@suse.de>
Fri, 18 Oct 2019 09:28:47 +0000 (11:28 +0200)
GLOBAL had several meanings and is going away. Convert all the data
marked using GLOBAL to use SYM_DATA_START or SYM_DATA instead.

Note that SYM_DATA_END_LABEL is used to generate tr_gdt_end too.

Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Signed-off-by: Borislav Petkov <bp@suse.de>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: linux-arch@vger.kernel.org
Cc: Pingfan Liu <kernelfans@gmail.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: x86-ml <x86@kernel.org>
Link: https://lkml.kernel.org/r/20191011115108.12392-19-jslaby@suse.cz
arch/x86/realmode/rm/header.S
arch/x86/realmode/rm/reboot.S
arch/x86/realmode/rm/stack.S
arch/x86/realmode/rm/trampoline_32.S
arch/x86/realmode/rm/trampoline_64.S
arch/x86/realmode/rm/trampoline_common.S
arch/x86/realmode/rm/wakeup_asm.S
arch/x86/realmode/rmpiggy.S

index 6363761..af04512 100644 (file)
@@ -14,7 +14,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(end_signature, .long REALMODE_END_SIGNATURE)
index f91425a..424826a 100644 (file)
@@ -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)
index 8d4cb64..0fca640 100644 (file)
@@ -6,15 +6,13 @@
 #include <linux/linkage.h>
 
        .data
-GLOBAL(HEAP)
-       .long   rm_heap
-GLOBAL(heap_end)
-       .long   rm_stack
+SYM_DATA(HEAP,         .long rm_heap)
+SYM_DATA(heap_end,     .long rm_stack)
 
        .bss
        .balign 16
-GLOBAL(rm_heap)
-       .space  2048
-GLOBAL(rm_stack)
+SYM_DATA(rm_heap,      .space 2048)
+
+SYM_DATA_START(rm_stack)
        .space  2048
-GLOBAL(rm_stack_end)
+SYM_DATA_END_LABEL(rm_stack, SYM_L_GLOBAL, rm_stack_end)
index 1868b15..ff00594 100644 (file)
@@ -62,10 +62,10 @@ ENTRY(startup_32)                   # note: also used from wakeup_asm.S
 
        .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_LOCAL(tr_start,        .space 4)
+       SYM_DATA_LOCAL(tr_gdt_pad,      .space 2)
+       SYM_DATA_LOCAL(tr_gdt,          .space 6)
+SYM_DATA_END(trampoline_header)
        
 #include "trampoline_common.S"
index aee2b45..c1aeab1 100644 (file)
@@ -149,26 +149,25 @@ ENTRY(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_L_LOCAL, tr_gdt_end)
 
        .bss
        .balign PAGE_SIZE
-GLOBAL(trampoline_pgd)         .space  PAGE_SIZE
+SYM_DATA(trampoline_pgd, .space PAGE_SIZE)
 
        .balign 8
-GLOBAL(trampoline_header)
-       tr_start:               .space  8
-       GLOBAL(tr_efer)         .space  8
-       GLOBAL(tr_cr4)          .space  4
-       GLOBAL(tr_flags)        .space  4
-END(trampoline_header)
+SYM_DATA_START(trampoline_header)
+       SYM_DATA_LOCAL(tr_start,        .space 8)
+       SYM_DATA(tr_efer,               .space 8)
+       SYM_DATA(tr_cr4,                .space 4)
+       SYM_DATA(tr_flags,              .space 4)
+SYM_DATA_END(trampoline_header)
 
 #include "trampoline_common.S"
index 8d8208d..5033e64 100644 (file)
@@ -1,4 +1,4 @@
 /* SPDX-License-Identifier: GPL-2.0 */
        .section ".rodata","a"
        .balign 16
-tr_idt: .fill 1, 6, 0
+SYM_DATA_LOCAL(tr_idt, .fill 1, 6, 0)
index 08438ee..01092d6 100644 (file)
@@ -17,7 +17,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
@@ -31,7 +31,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,7 +164,7 @@ 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
index c078dba..c8fef76 100644 (file)
 
        .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_L_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)