[PATCH] x86: use setup_clear_cpu_cap with disable_apic - Kernel

This is a discussion on [PATCH] x86: use setup_clear_cpu_cap with disable_apic - Kernel ; so don't need to call clear_cpu_cap again in early_identify_cpu, and could use cleared_cpu_caps like other setup clear. Signed-off-by: Yinghai Lu --- arch/x86/kernel/apic_32.c | 5 +---- arch/x86/kernel/apic_64.c | 2 +- arch/x86/kernel/cpu/common_64.c | 4 ---- 3 files changed, 2 insertions(+), 9 deletions(-) ...

+ Reply to Thread
Results 1 to 5 of 5

Thread: [PATCH] x86: use setup_clear_cpu_cap with disable_apic

  1. [PATCH] x86: use setup_clear_cpu_cap with disable_apic


    so don't need to call clear_cpu_cap again in early_identify_cpu,
    and could use cleared_cpu_caps like other setup clear.

    Signed-off-by: Yinghai Lu

    ---
    arch/x86/kernel/apic_32.c | 5 +----
    arch/x86/kernel/apic_64.c | 2 +-
    arch/x86/kernel/cpu/common_64.c | 4 ----
    3 files changed, 2 insertions(+), 9 deletions(-)

    Index: linux-2.6/arch/x86/kernel/apic_32.c
    ================================================== =================
    --- linux-2.6.orig/arch/x86/kernel/apic_32.c
    +++ linux-2.6/arch/x86/kernel/apic_32.c
    @@ -1251,9 +1251,6 @@ int apic_version[MAX_APICS];

    int __init APIC_init_uniprocessor(void)
    {
    - if (disable_apic)
    - clear_cpu_cap(&boot_cpu_data, X86_FEATURE_APIC);
    -
    if (!smp_found_config && !cpu_has_apic)
    return -1;

    @@ -1737,7 +1734,7 @@ early_param("lapic", parse_lapic);
    static int __init parse_nolapic(char *arg)
    {
    disable_apic = 1;
    - clear_cpu_cap(&boot_cpu_data, X86_FEATURE_APIC);
    + setup_clear_cpu_cap(X86_FEATURE_APIC);
    return 0;
    }
    early_param("nolapic", parse_nolapic);
    Index: linux-2.6/arch/x86/kernel/apic_64.c
    ================================================== =================
    --- linux-2.6.orig/arch/x86/kernel/apic_64.c
    +++ linux-2.6/arch/x86/kernel/apic_64.c
    @@ -1556,7 +1556,7 @@ early_param("apic", apic_set_verbosity);
    static __init int setup_disableapic(char *str)
    {
    disable_apic = 1;
    - clear_cpu_cap(&boot_cpu_data, X86_FEATURE_APIC);
    + setup_clear_cpu_cap(X86_FEATURE_APIC);
    return 0;
    }
    early_param("disableapic", setup_disableapic);
    Index: linux-2.6/arch/x86/kernel/cpu/common_64.c
    ================================================== =================
    --- linux-2.6.orig/arch/x86/kernel/cpu/common_64.c
    +++ linux-2.6/arch/x86/kernel/cpu/common_64.c
    @@ -319,10 +319,6 @@ static void __cpuinit early_identify_cpu
    cpu_devs[c->x86_vendor]->c_early_init(c);

    validate_pat_support(c);
    -
    - /* early_param could clear that, but recall get it set again */
    - if (disable_apic)
    - clear_cpu_cap(c, X86_FEATURE_APIC);
    }

    /*
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  2. [PATCH] x86: remove extra calling to get ext cpuid level


    Signed-off-by: Yinghai Lu

    ---
    arch/x86/kernel/cpu/common_64.c | 1 -
    1 file changed, 1 deletion(-)

    Index: linux-2.6/arch/x86/kernel/cpu/common_64.c
    ================================================== =================
    --- linux-2.6.orig/arch/x86/kernel/cpu/common_64.c
    +++ linux-2.6/arch/x86/kernel/cpu/common_64.c
    @@ -303,7 +303,6 @@ static void __cpuinit early_identify_cpu
    c->x86_capability[2] = cpuid_edx(0x80860001);
    }

    - c->extended_cpuid_level = cpuid_eax(0x80000000);
    if (c->extended_cpuid_level >= 0x80000007)
    c->x86_power = cpuid_edx(0x80000007);

    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  3. Re: [PATCH] x86: remove extra calling to get ext cpuid level


    * Yinghai Lu wrote:

    > --- linux-2.6.orig/arch/x86/kernel/cpu/common_64.c
    > +++ linux-2.6/arch/x86/kernel/cpu/common_64.c
    > @@ -303,7 +303,6 @@ static void __cpuinit early_identify_cpu
    > c->x86_capability[2] = cpuid_edx(0x80860001);
    > }
    >
    > - c->extended_cpuid_level = cpuid_eax(0x80000000);
    > if (c->extended_cpuid_level >= 0x80000007)
    > c->x86_power = cpuid_edx(0x80000007);


    applied to tip/x86/core, thanks.

    Ingo
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  4. Re: [PATCH] x86: use setup_clear_cpu_cap with disable_apic


    * Yinghai Lu wrote:

    > so don't need to call clear_cpu_cap again in early_identify_cpu, and
    > could use cleared_cpu_caps like other setup clear.


    applied to tip/x86/core, thanks Yinghai.

    Ingo
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  5. [PATCH] x86: use setup_clear_cpu_cap with disable_apic -fix


    Signed-off-by: Yinghai Lu
    ---
    arch/x86/kernel/setup.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    Index: linux-2.6/arch/x86/kernel/setup.c
    ================================================== =================
    --- linux-2.6.orig/arch/x86/kernel/setup.c
    +++ linux-2.6/arch/x86/kernel/setup.c
    @@ -680,7 +680,7 @@ void __init setup_arch(char **cmdline_p)
    #ifdef CONFIG_X86_LOCAL_APIC
    disable_apic = 1;
    #endif
    - clear_cpu_cap(&boot_cpu_data, X86_FEATURE_APIC);
    + setup_clear_cpu_cap(X86_FEATURE_APIC);
    }

    #ifdef CONFIG_PCI
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

+ Reply to Thread