diff options
-rw-r--r-- | arch/x86/kernel/apic/x2apic_uv_x.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/x86/kernel/apic/x2apic_uv_x.c b/arch/x86/kernel/apic/x2apic_uv_x.c index f5f5886a6b53..6d425490fb1f 100644 --- a/arch/x86/kernel/apic/x2apic_uv_x.c +++ b/arch/x86/kernel/apic/x2apic_uv_x.c | |||
@@ -409,6 +409,12 @@ static __init void map_mmioh_high(int max_pnode) | |||
409 | map_high("MMIOH", mmioh.s.base, shift, max_pnode, map_uc); | 409 | map_high("MMIOH", mmioh.s.base, shift, max_pnode, map_uc); |
410 | } | 410 | } |
411 | 411 | ||
412 | static __init void map_low_mmrs(void) | ||
413 | { | ||
414 | init_extra_mapping_uc(UV_GLOBAL_MMR32_BASE, UV_GLOBAL_MMR32_SIZE); | ||
415 | init_extra_mapping_uc(UV_LOCAL_MMR_BASE, UV_LOCAL_MMR_SIZE); | ||
416 | } | ||
417 | |||
412 | static __init void uv_rtc_init(void) | 418 | static __init void uv_rtc_init(void) |
413 | { | 419 | { |
414 | long status; | 420 | long status; |
@@ -550,6 +556,8 @@ void __init uv_system_init(void) | |||
550 | unsigned long mmr_base, present, paddr; | 556 | unsigned long mmr_base, present, paddr; |
551 | unsigned short pnode_mask; | 557 | unsigned short pnode_mask; |
552 | 558 | ||
559 | map_low_mmrs(); | ||
560 | |||
553 | m_n_config.v = uv_read_local_mmr(UVH_SI_ADDR_MAP_CONFIG); | 561 | m_n_config.v = uv_read_local_mmr(UVH_SI_ADDR_MAP_CONFIG); |
554 | m_val = m_n_config.s.m_skt; | 562 | m_val = m_n_config.s.m_skt; |
555 | n_val = m_n_config.s.n_skt; | 563 | n_val = m_n_config.s.n_skt; |