lkml.org 
[lkml]   [2009]   [Aug]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH] x86: fix vsmp booting with phys_pkg_id changing

    2.6.31-rc7 does not boot on vSMPowered systems.

    [ 8.501108] CPU31: Thermal monitoring enabled (TM1)
    [ 8.501127] CPU 31 MCA banks SHD:2 SHD:3 SHD:5 SHD:6 SHD:8
    [ 8.650254] CPU31: Intel(R) Xeon(R) CPU E5540 @ 2.53GHz stepping 04
    [ 8.710324] Brought up 32 CPUs
    [ 8.713916] Total of 32 processors activated (162314.96 BogoMIPS).
    [ 8.721489] ERROR: parent span is not a superset of domain->span
    [ 8.727686] ERROR: domain->groups does not contain CPU0
    [ 8.733091] ERROR: groups don't span domain->span
    [ 8.737975] ERROR: domain->cpu_power not set
    [ 8.742416]

    bisected to
    |
    | commit 2759c3287de27266e06f1f4e82cbd2d65f6a044c
    | x86: don't call read_apic_id if !cpu_has_apic
    |

    need to use apic id in phys_pkg_id for vsmp...

    Reported-and-Tested-by: Ravikiran Thirumalai <kiran@scalex86.org>
    Signed-off-by: Yinghai Lu <yinghai@kernel.org>

    ---
    arch/x86/kernel/apic/probe_64.c | 10 ++++++++++
    1 file changed, 10 insertions(+)

    Index: linux-2.6/arch/x86/kernel/apic/probe_64.c
    ===================================================================
    --- linux-2.6.orig/arch/x86/kernel/apic/probe_64.c
    +++ linux-2.6/arch/x86/kernel/apic/probe_64.c
    @@ -44,6 +44,11 @@ static struct apic *apic_probe[] __initd
    NULL,
    };

    +static int apicid_phys_pkg_id(int initial_apic_id, int index_msb)
    +{
    + return hard_smp_processor_id() >> index_msb;
    +}
    +
    /*
    * Check the APIC IDs in bios_cpu_apicid and choose the APIC mode.
    */
    @@ -69,6 +74,11 @@ void __init default_setup_apic_routing(v
    printk(KERN_INFO "Setting APIC routing to %s\n", apic->name);
    }

    + if (is_vsmp_box()) {
    + /* need to update phys_pkg_id */
    + apic->phys_pkg_id = apicid_phys_pkg_id;
    + }
    +
    /*
    * Now that apic routing model is selected, configure the
    * fault handling for intr remapping.

    \
     
     \ /
      Last update: 2009-08-25 22:49    [W:0.023 / U:54.740 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site