In current code, there is no reader of trampoline_status. It turns out that
after commit ce4b1b16502b ("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 <kernelf...@gmail.com>
Cc: Thomas Gleixner <t...@linutronix.de>
Cc: Ingo Molnar <mi...@redhat.com>
Cc: Borislav Petkov <b...@alien8.de>
Cc: "H. Peter Anvin" <h...@zytor.com>
Cc: Mukesh Ojha <mo...@codeaurora.org>
Cc: Matteo Croce <mcr...@redhat.com>
Cc: Len Brown <len.br...@intel.com>
Cc: Pu Wen <pu...@hygon.cn>
Cc: Nicolai Stange <nsta...@suse.de>
Cc: Hui Wang <john.wang...@huawei.com>
Cc: linux-kernel@vger.kernel.org
---
 arch/x86/include/asm/realmode.h          | 1 -
 arch/x86/kernel/smpboot.c                | 5 -----
 arch/x86/realmode/rm/header.S            | 1 -
 arch/x86/realmode/rm/trampoline_32.S     | 3 ---
 arch/x86/realmode/rm/trampoline_64.S     | 3 ---
 arch/x86/realmode/rm/trampoline_common.S | 4 ----
 6 files changed, 17 deletions(-)

diff --git a/arch/x86/include/asm/realmode.h b/arch/x86/include/asm/realmode.h
index c536823..09ecc32 100644
--- a/arch/x86/include/asm/realmode.h
+++ b/arch/x86/include/asm/realmode.h
@@ -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;
diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c
index 362dd89..2ef10d9 100644
--- a/arch/x86/kernel/smpboot.c
+++ b/arch/x86/kernel/smpboot.c
@@ -965,8 +965,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;
 
@@ -1058,9 +1056,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...
diff --git a/arch/x86/realmode/rm/header.S b/arch/x86/realmode/rm/header.S
index 30b0d30..6363761 100644
--- a/arch/x86/realmode/rm/header.S
+++ b/arch/x86/realmode/rm/header.S
@@ -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;
diff --git a/arch/x86/realmode/rm/trampoline_32.S 
b/arch/x86/realmode/rm/trampoline_32.S
index 2dd866c..1868b15 100644
--- a/arch/x86/realmode/rm/trampoline_32.S
+++ b/arch/x86/realmode/rm/trampoline_32.S
@@ -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
diff --git a/arch/x86/realmode/rm/trampoline_64.S 
b/arch/x86/realmode/rm/trampoline_64.S
index 24bb759..aee2b45 100644
--- a/arch/x86/realmode/rm/trampoline_64.S
+++ b/arch/x86/realmode/rm/trampoline_64.S
@@ -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
 
diff --git a/arch/x86/realmode/rm/trampoline_common.S 
b/arch/x86/realmode/rm/trampoline_common.S
index 7c70677..8d8208d 100644
--- a/arch/x86/realmode/rm/trampoline_common.S
+++ b/arch/x86/realmode/rm/trampoline_common.S
@@ -2,7 +2,3 @@
        .section ".rodata","a"
        .balign 16
 tr_idt: .fill 1, 6, 0
-
-       .bss
-       .balign 4
-GLOBAL(trampoline_status)      .space  4
-- 
2.7.5

Reply via email to