diff options
| -rw-r--r-- | arch/x86/kernel/apic/x2apic_uv_x.c | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/arch/x86/kernel/apic/x2apic_uv_x.c b/arch/x86/kernel/apic/x2apic_uv_x.c index 5f92494dab61..b8bb869a6618 100644 --- a/arch/x86/kernel/apic/x2apic_uv_x.c +++ b/arch/x86/kernel/apic/x2apic_uv_x.c | |||
| @@ -374,13 +374,13 @@ static __init void get_lowmem_redirect(unsigned long *base, unsigned long *size) | |||
| 374 | 374 | ||
| 375 | enum map_type {map_wb, map_uc}; | 375 | enum map_type {map_wb, map_uc}; |
| 376 | 376 | ||
| 377 | static __init void map_high(char *id, unsigned long base, int shift, | 377 | static __init void map_high(char *id, unsigned long base, int pshift, |
| 378 | int max_pnode, enum map_type map_type) | 378 | int bshift, int max_pnode, enum map_type map_type) |
| 379 | { | 379 | { |
| 380 | unsigned long bytes, paddr; | 380 | unsigned long bytes, paddr; |
| 381 | 381 | ||
| 382 | paddr = base << shift; | 382 | paddr = base << pshift; |
| 383 | bytes = (1UL << shift) * (max_pnode + 1); | 383 | bytes = (1UL << bshift) * (max_pnode + 1); |
| 384 | printk(KERN_INFO "UV: Map %s_HI 0x%lx - 0x%lx\n", id, paddr, | 384 | printk(KERN_INFO "UV: Map %s_HI 0x%lx - 0x%lx\n", id, paddr, |
| 385 | paddr + bytes); | 385 | paddr + bytes); |
| 386 | if (map_type == map_uc) | 386 | if (map_type == map_uc) |
| @@ -396,7 +396,7 @@ static __init void map_gru_high(int max_pnode) | |||
| 396 | 396 | ||
| 397 | gru.v = uv_read_local_mmr(UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR); | 397 | gru.v = uv_read_local_mmr(UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR); |
| 398 | if (gru.s.enable) { | 398 | if (gru.s.enable) { |
| 399 | map_high("GRU", gru.s.base, shift, max_pnode, map_wb); | 399 | map_high("GRU", gru.s.base, shift, shift, max_pnode, map_wb); |
| 400 | gru_start_paddr = ((u64)gru.s.base << shift); | 400 | gru_start_paddr = ((u64)gru.s.base << shift); |
| 401 | gru_end_paddr = gru_start_paddr + (1UL << shift) * (max_pnode + 1); | 401 | gru_end_paddr = gru_start_paddr + (1UL << shift) * (max_pnode + 1); |
| 402 | 402 | ||
| @@ -410,7 +410,7 @@ static __init void map_mmr_high(int max_pnode) | |||
| 410 | 410 | ||
| 411 | mmr.v = uv_read_local_mmr(UVH_RH_GAM_MMR_OVERLAY_CONFIG_MMR); | 411 | mmr.v = uv_read_local_mmr(UVH_RH_GAM_MMR_OVERLAY_CONFIG_MMR); |
| 412 | if (mmr.s.enable) | 412 | if (mmr.s.enable) |
| 413 | map_high("MMR", mmr.s.base, shift, max_pnode, map_uc); | 413 | map_high("MMR", mmr.s.base, shift, shift, max_pnode, map_uc); |
| 414 | } | 414 | } |
| 415 | 415 | ||
| 416 | static __init void map_mmioh_high(int max_pnode) | 416 | static __init void map_mmioh_high(int max_pnode) |
| @@ -420,7 +420,8 @@ static __init void map_mmioh_high(int max_pnode) | |||
| 420 | 420 | ||
| 421 | mmioh.v = uv_read_local_mmr(UVH_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR); | 421 | mmioh.v = uv_read_local_mmr(UVH_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR); |
| 422 | if (mmioh.s.enable) | 422 | if (mmioh.s.enable) |
| 423 | map_high("MMIOH", mmioh.s.base, shift, max_pnode, map_uc); | 423 | map_high("MMIOH", mmioh.s.base, shift, mmioh.s.m_io, |
| 424 | max_pnode, map_uc); | ||
| 424 | } | 425 | } |
| 425 | 426 | ||
| 426 | static __init void map_low_mmrs(void) | 427 | static __init void map_low_mmrs(void) |
