From ed3b1d2c086eee33ed8768b331b533ef33402960 Mon Sep 17 00:00:00 2001 From: Cliff Wickman Date: Fri, 16 Jul 2010 10:11:21 -0500 Subject: [PATCH] --- yaml --- r: 209238 b: refs/heads/master c: 93a7ca0c3ebe5d931126f1fb732cb9c4518383d4 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/arch/x86/kernel/tlb_uv.c | 16 ++++++++++------ 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/[refs] b/[refs] index 6ceb7a8ceb11..d9eae4e6465a 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: f6d8a56693426b1f29ff5cafda8be0d65e4e1870 +refs/heads/master: 93a7ca0c3ebe5d931126f1fb732cb9c4518383d4 diff --git a/trunk/arch/x86/kernel/tlb_uv.c b/trunk/arch/x86/kernel/tlb_uv.c index abf3c31f14cf..59efb5390b37 100644 --- a/trunk/arch/x86/kernel/tlb_uv.c +++ b/trunk/arch/x86/kernel/tlb_uv.c @@ -1635,12 +1635,16 @@ static int __init uv_bau_init(void) alloc_intr_gate(vector, uv_bau_message_intr1); for_each_possible_blade(uvhub) { - pnode = uv_blade_to_pnode(uvhub); - /* INIT the bau */ - uv_write_global_mmr64(pnode, UVH_LB_BAU_SB_ACTIVATION_CONTROL, - ((unsigned long)1 << 63)); - mmr = 1; /* should be 1 to broadcast to both sockets */ - uv_write_global_mmr64(pnode, UVH_BAU_DATA_BROADCAST, mmr); + if (uv_blade_nr_possible_cpus(uvhub)) { + pnode = uv_blade_to_pnode(uvhub); + /* INIT the bau */ + uv_write_global_mmr64(pnode, + UVH_LB_BAU_SB_ACTIVATION_CONTROL, + ((unsigned long)1 << 63)); + mmr = 1; /* should be 1 to broadcast to both sockets */ + uv_write_global_mmr64(pnode, UVH_BAU_DATA_BROADCAST, + mmr); + } } return 0;