x86/realmode: Remove trampoline_status
There is no reader of trampoline_status, it's only written.
It turns out that after commit ce4b1b1650 ("x86/smpboot: Initialize
secondary CPU only if master CPU will wait for it"), trampoline_status is
not needed any more.
Signed-off-by: Pingfan Liu <kernelfans@gmail.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lkml.kernel.org/r/1563266424-3472-1-git-send-email-kernelfans@gmail.com
			
			
This commit is contained in:
		
							parent
							
								
									5f9e832c13
								
							
						
					
					
						commit
						6973210242
					
				| @ -20,7 +20,6 @@ struct real_mode_header { | ||||
| 	u32	ro_end; | ||||
| 	/* SMP trampoline */ | ||||
| 	u32	trampoline_start; | ||||
| 	u32	trampoline_status; | ||||
| 	u32	trampoline_header; | ||||
| #ifdef CONFIG_X86_64 | ||||
| 	u32	trampoline_pgd; | ||||
|  | ||||
| @ -1023,8 +1023,6 @@ int common_cpu_up(unsigned int cpu, struct task_struct *idle) | ||||
| static int do_boot_cpu(int apicid, int cpu, struct task_struct *idle, | ||||
| 		       int *cpu0_nmi_registered) | ||||
| { | ||||
| 	volatile u32 *trampoline_status = | ||||
| 		(volatile u32 *) __va(real_mode_header->trampoline_status); | ||||
| 	/* start_ip had better be page-aligned! */ | ||||
| 	unsigned long start_ip = real_mode_header->trampoline_start; | ||||
| 
 | ||||
| @ -1116,9 +1114,6 @@ static int do_boot_cpu(int apicid, int cpu, struct task_struct *idle, | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| 	/* mark "stuck" area as not stuck */ | ||||
| 	*trampoline_status = 0; | ||||
| 
 | ||||
| 	if (x86_platform.legacy.warm_reset) { | ||||
| 		/*
 | ||||
| 		 * Cleanup possible dangling ends... | ||||
|  | ||||
| @ -19,7 +19,6 @@ GLOBAL(real_mode_header) | ||||
| 	.long	pa_ro_end
 | ||||
| 	/* SMP trampoline */ | ||||
| 	.long	pa_trampoline_start
 | ||||
| 	.long	pa_trampoline_status
 | ||||
| 	.long	pa_trampoline_header
 | ||||
| #ifdef CONFIG_X86_64 | ||||
| 	.long	pa_trampoline_pgd;
 | ||||
|  | ||||
| @ -41,9 +41,6 @@ ENTRY(trampoline_start) | ||||
| 
 | ||||
| 	movl	tr_start, %eax	# where we need to go | ||||
| 
 | ||||
| 	movl	$0xA5A5A5A5, trampoline_status | ||||
| 				# write marker for master knows we're running | ||||
| 
 | ||||
| 	/* | ||||
| 	 * GDT tables in non default location kernel can be beyond 16MB and | ||||
| 	 * lgdt will not be able to load the address as in real mode default | ||||
|  | ||||
| @ -49,9 +49,6 @@ ENTRY(trampoline_start) | ||||
| 	mov	%ax, %es | ||||
| 	mov	%ax, %ss | ||||
| 
 | ||||
| 	movl	$0xA5A5A5A5, trampoline_status | ||||
| 	# write marker for master knows we're running | ||||
| 
 | ||||
| 	# Setup stack | ||||
| 	movl	$rm_stack_end, %esp | ||||
| 
 | ||||
|  | ||||
| @ -2,7 +2,3 @@ | ||||
| 	.section ".rodata","a" | ||||
| 	.balign	16
 | ||||
| tr_idt: .fill 1, 6, 0 | ||||
| 
 | ||||
| 	.bss | ||||
| 	.balign	4
 | ||||
| GLOBAL(trampoline_status)	.space	4 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user