Commit 78f44330 authored by Jiri Slaby's avatar Jiri Slaby Committed by Borislav Petkov
Browse files

x86/asm/realmode: Use SYM_DATA_* instead of GLOBAL



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: default avatarJiri Slaby <jslaby@suse.cz>
Signed-off-by: default avatarBorislav 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
parent 26ba4e57
Loading
Loading
Loading
Loading
+3 −5
Original line number Diff line number Diff line
@@ -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)
+4 −4
Original line number Diff line number Diff line
@@ -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)
+6 −8
Original line number Diff line number Diff line
@@ -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)
+5 −5
Original line number Diff line number Diff line
@@ -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"
+9 −10
Original line number Diff line number Diff line
@@ -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"
Loading