lkml.org 
[lkml]   [2011]   [Feb]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH] x86: Cleanup generic_processor_info()

    Found version print out pass version instead of cpu index, if the version is
    not valid.

    Move version validation down after We get right cpu index.

    Signed-off-by: Yinghai Lu <yinghai@kernel.org>

    ---
    arch/x86/kernel/apic/apic.c | 36 ++++++++++++++++++------------------
    1 file changed, 18 insertions(+), 18 deletions(-)

    Index: linux-2.6/arch/x86/kernel/apic/apic.c
    ===================================================================
    --- linux-2.6.orig/arch/x86/kernel/apic/apic.c
    +++ linux-2.6/arch/x86/kernel/apic/apic.c
    @@ -1947,17 +1947,6 @@ void __cpuinit generic_processor_info(in
    {
    int cpu;

    - /*
    - * Validate version
    - */
    - if (version == 0x0) {
    - pr_warning("BIOS bug, APIC version is 0 for CPU#%d! "
    - "fixing up to 0x10. (tell your hw vendor)\n",
    - version);
    - version = 0x10;
    - }
    - apic_version[apicid] = version;
    -
    if (num_processors >= nr_cpu_ids) {
    int max = nr_cpu_ids;
    int thiscpu = max + disabled_cpus;
    @@ -1972,13 +1961,6 @@ void __cpuinit generic_processor_info(in

    num_processors++;
    cpu = cpumask_next_zero(-1, cpu_present_mask);
    -
    - if (version != apic_version[boot_cpu_physical_apicid])
    - WARN_ONCE(1,
    - "ACPI: apic version mismatch, bootcpu: %x cpu %d: %x\n",
    - apic_version[boot_cpu_physical_apicid], cpu, version);
    -
    - physid_set(apicid, phys_cpu_present_map);
    if (apicid == boot_cpu_physical_apicid) {
    /*
    * x86_bios_cpu_apicid is required to have processors listed
    @@ -1987,6 +1969,24 @@ void __cpuinit generic_processor_info(in
    */
    cpu = 0;
    }
    +
    + /*
    + * Validate version
    + */
    + if (version == 0x0) {
    + pr_warning("BIOS bug, APIC version is 0 for Processor %d/0x%x "
    + "fixing up to 0x10. (tell your hw vendor)\n",
    + cpu, apicid);
    + version = 0x10;
    + }
    + apic_version[apicid] = version;
    +
    + if (version != apic_version[boot_cpu_physical_apicid])
    + WARN_ONCE(1,
    + "ACPI: apic version mismatch, bootcpu: %x cpu %d: %x\n",
    + apic_version[boot_cpu_physical_apicid], cpu, version);
    +
    + physid_set(apicid, phys_cpu_present_map);
    if (apicid > max_physical_apicid)
    max_physical_apicid = apicid;


    \
     
     \ /
      Last update: 2011-02-03 10:53    [W:0.022 / U:155.332 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site