lkml.org 
[lkml]   [2008]   [Mar]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 67/79] [PATCH] merge native_smp_cpus_done
    Date
    From: Glauber Costa <gcosta@redhat.com>

    They look similar enough, and are merged. Only difference
    (zap_low_mapping for i386) is inside ifdef

    Signed-off-by: Glauber Costa <gcosta@redhat.com>
    ---
    arch/x86/kernel/smpboot.c | 21 ++++++++++++++++++++-
    arch/x86/kernel/smpboot_32.c | 21 ---------------------
    arch/x86/kernel/smpboot_64.c | 18 ------------------
    3 files changed, 20 insertions(+), 40 deletions(-)

    diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c
    index b214d8d..26118b4 100644
    --- a/arch/x86/kernel/smpboot.c
    +++ b/arch/x86/kernel/smpboot.c
    @@ -880,7 +880,6 @@ do_rest:
    apic_write(APIC_ESR, 0);
    apic_read(APIC_ESR);

    -
    /*
    * Starting actual IPI sequence...
    */
    @@ -1017,6 +1016,26 @@ void __init native_smp_prepare_boot_cpu(void)
    per_cpu(cpu_state, me) = CPU_ONLINE;
    }

    +void __init native_smp_cpus_done(unsigned int max_cpus)
    +{
    + /*
    + * Cleanup possible dangling ends...
    + */
    + smpboot_restore_warm_reset_vector();
    +
    + Dprintk("Boot done.\n");
    +
    + impress_friends();
    + smp_checks();
    +#ifdef CONFIG_X86_IO_APIC
    + setup_ioapic_dest();
    +#endif
    + check_nmi_watchdog();
    +#ifdef CONFIG_X86_32
    + zap_low_mappings();
    +#endif
    +}
    +
    #ifdef CONFIG_HOTPLUG_CPU
    void remove_siblinginfo(int cpu)
    {
    diff --git a/arch/x86/kernel/smpboot_32.c b/arch/x86/kernel/smpboot_32.c
    index 5d27b1d..75fb506 100644
    --- a/arch/x86/kernel/smpboot_32.c
    +++ b/arch/x86/kernel/smpboot_32.c
    @@ -215,24 +215,3 @@ void __init native_smp_prepare_cpus(unsigned int max_cpus)
    mb();
    smp_boot_cpus(max_cpus);
    }
    -
    -extern void impress_friends(void);
    -extern void smp_checks(void);
    -
    -void __init native_smp_cpus_done(unsigned int max_cpus)
    -{
    - /*
    - * Cleanup possible dangling ends...
    - */
    - smpboot_restore_warm_reset_vector();
    -
    - Dprintk("Boot done.\n");
    -
    - impress_friends();
    - smp_checks();
    -#ifdef CONFIG_X86_IO_APIC
    - setup_ioapic_dest();
    -#endif
    - check_nmi_watchdog();
    - zap_low_mappings();
    -}
    diff --git a/arch/x86/kernel/smpboot_64.c b/arch/x86/kernel/smpboot_64.c
    index f77299b..f4363a3 100644
    --- a/arch/x86/kernel/smpboot_64.c
    +++ b/arch/x86/kernel/smpboot_64.c
    @@ -212,21 +212,3 @@ void __init native_smp_prepare_cpus(unsigned int max_cpus)
    printk(KERN_INFO "CPU%d: ", 0);
    print_cpu_info(&cpu_data(0));
    }
    -
    -extern void impress_friends(void);
    -extern void smp_checks(void);
    -
    -/*
    - * Finish the SMP boot.
    - */
    -void __init native_smp_cpus_done(unsigned int max_cpus)
    -{
    - smpboot_restore_warm_reset_vector();
    -
    - Dprintk("Boot done.\n");
    -
    - impress_friends();
    - smp_checks();
    - setup_ioapic_dest();
    - check_nmi_watchdog();
    -}
    --
    1.5.0.6


    \
     
     \ /
      Last update: 2008-03-19 21:33    [W:4.116 / U:0.232 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site