|
@@ -362,12 +362,6 @@ static __init void get_lowmem_redirect(unsigned long *base, unsigned long *size)
|
|
|
BUG();
|
|
|
}
|
|
|
|
|
|
-static __init void map_low_mmrs(void)
|
|
|
-{
|
|
|
- init_extra_mapping_uc(UV_GLOBAL_MMR32_BASE, UV_GLOBAL_MMR32_SIZE);
|
|
|
- init_extra_mapping_uc(UV_LOCAL_MMR_BASE, UV_LOCAL_MMR_SIZE);
|
|
|
-}
|
|
|
-
|
|
|
enum map_type {map_wb, map_uc};
|
|
|
|
|
|
static __init void map_high(char *id, unsigned long base, int shift,
|
|
@@ -395,26 +389,6 @@ static __init void map_gru_high(int max_pnode)
|
|
|
map_high("GRU", gru.s.base, shift, max_pnode, map_wb);
|
|
|
}
|
|
|
|
|
|
-static __init void map_config_high(int max_pnode)
|
|
|
-{
|
|
|
- union uvh_rh_gam_cfg_overlay_config_mmr_u cfg;
|
|
|
- int shift = UVH_RH_GAM_CFG_OVERLAY_CONFIG_MMR_BASE_SHFT;
|
|
|
-
|
|
|
- cfg.v = uv_read_local_mmr(UVH_RH_GAM_CFG_OVERLAY_CONFIG_MMR);
|
|
|
- if (cfg.s.enable)
|
|
|
- map_high("CONFIG", cfg.s.base, shift, max_pnode, map_uc);
|
|
|
-}
|
|
|
-
|
|
|
-static __init void map_mmr_high(int max_pnode)
|
|
|
-{
|
|
|
- union uvh_rh_gam_mmr_overlay_config_mmr_u mmr;
|
|
|
- int shift = UVH_RH_GAM_MMR_OVERLAY_CONFIG_MMR_BASE_SHFT;
|
|
|
-
|
|
|
- mmr.v = uv_read_local_mmr(UVH_RH_GAM_MMR_OVERLAY_CONFIG_MMR);
|
|
|
- if (mmr.s.enable)
|
|
|
- map_high("MMR", mmr.s.base, shift, max_pnode, map_uc);
|
|
|
-}
|
|
|
-
|
|
|
static __init void map_mmioh_high(int max_pnode)
|
|
|
{
|
|
|
union uvh_rh_gam_mmioh_overlay_config_mmr_u mmioh;
|
|
@@ -566,8 +540,6 @@ void __init uv_system_init(void)
|
|
|
unsigned long mmr_base, present, paddr;
|
|
|
unsigned short pnode_mask;
|
|
|
|
|
|
- map_low_mmrs();
|
|
|
-
|
|
|
m_n_config.v = uv_read_local_mmr(UVH_SI_ADDR_MAP_CONFIG);
|
|
|
m_val = m_n_config.s.m_skt;
|
|
|
n_val = m_n_config.s.n_skt;
|
|
@@ -667,11 +639,10 @@ void __init uv_system_init(void)
|
|
|
pnode = (paddr >> m_val) & pnode_mask;
|
|
|
blade = boot_pnode_to_blade(pnode);
|
|
|
uv_node_to_blade[nid] = blade;
|
|
|
+ max_pnode = max(pnode, max_pnode);
|
|
|
}
|
|
|
|
|
|
map_gru_high(max_pnode);
|
|
|
- map_mmr_high(max_pnode);
|
|
|
- map_config_high(max_pnode);
|
|
|
map_mmioh_high(max_pnode);
|
|
|
|
|
|
uv_cpu_init();
|