Lines Matching +full:hi +full:- +full:fi

9  * Copyright (C) 2007-2014 Silicon Graphics, Inc. All rights reserved.
132 uv_cpuid.pnode_mask = (1 << uv_cpuid.n_skt) - 1; in early_get_pnodeid()
166 + UV4_HUB_REVISION_BASE - 1; in early_set_hub_type()
182 + UV2_HUB_REVISION_BASE - 1; in early_set_hub_type()
253 uv_cpuid.apicid_mask = (~(-1 << sid_shift)); in early_get_apic_socketid_shift()
276 for (i = 0; st->entry[i].type != UV_SYSTAB_TYPE_UNUSED; i++) { in early_find_archtype()
277 unsigned long ptr = st->entry[i].offset; in early_find_archtype()
282 if (st->entry[i].type == UV_SYSTAB_TYPE_ARCH_TYPE) in early_find_archtype()
292 int n = strlen(uv_ate->archtype); in decode_arch_type()
294 if (n > 0 && n < sizeof(uv_ate->archtype)) { in decode_arch_type()
296 uv_stringify(sizeof(uv_archtype), uv_archtype, uv_ate->archtype); in decode_arch_type()
320 rev = st->revision; in early_get_arch_type()
326 uvst_size = st->size; in early_get_arch_type()
404 uv_hub_info->hub_revision = in uv_set_system_type()
410 switch (uv_hub_info->hub_revision) { in uv_set_system_type()
453 uv_cpu_info->p_uv_hub_info = &uv_hub_info_node0; in uv_acpi_madt_oem_check()
565 set_memory_block_size_order(order - 1); in set_block_size()
580 int bytes, i, sid, lsid = -1, indx = 0, lindx = -1; in build_uv_gr_table()
591 for (; gre->type != UV_GAM_RANGE_TYPE_UNUSED; gre++) { in build_uv_gr_table()
592 if (gre->type == UV_GAM_RANGE_TYPE_HOLE) { in build_uv_gr_table()
594 /* Mark hole between RAM/non-RAM: */ in build_uv_gr_table()
596 last_limit = gre->limit; in build_uv_gr_table()
600 last_limit = gre->limit; in build_uv_gr_table()
601 pr_info("UV: extra hole in GAM RE table @%d\n", (int)(gre - uv_gre_table)); in build_uv_gr_table()
604 if (_max_socket < gre->sockid) { in build_uv_gr_table()
605 …pr_err("UV: GAM table sockid(%d) too large(>%d) @%d\n", gre->sockid, _max_socket, (int)(gre - uv_g… in build_uv_gr_table()
608 sid = gre->sockid - _min_socket; in build_uv_gr_table()
612 grt->base = lindx; in build_uv_gr_table()
613 grt->nasid = gre->nasid; in build_uv_gr_table()
614 grt->limit = last_limit = gre->limit; in build_uv_gr_table()
622 if (grt->limit == last_limit) { in build_uv_gr_table()
623 grt->limit = last_limit = gre->limit; in build_uv_gr_table()
627 /* Non-contiguous RAM range: */ in build_uv_gr_table()
630 grt->base = lindx; in build_uv_gr_table()
631 grt->nasid = gre->nasid; in build_uv_gr_table()
632 grt->limit = last_limit = gre->limit; in build_uv_gr_table()
635 /* Non-contiguous/non-RAM: */ in build_uv_gr_table()
638 grt->base = grt - _gr_table; in build_uv_gr_table()
639 grt->nasid = gre->nasid; in build_uv_gr_table()
640 grt->limit = last_limit = gre->limit; in build_uv_gr_table()
646 i = grt - _gr_table; in build_uv_gr_table()
661 int gb = grt->base; in build_uv_gr_table()
664 end = (unsigned long)grt->limit << UV_GAM_RANGE_SHFT; in build_uv_gr_table()
666 pr_info("UV: GAM Range %2d %04x 0x%013lx-0x%013lx (%d)\n", i, grt->nasid, start, end, gb); in build_uv_gr_table()
841 pr_info("UV: Map %s_HI 0x%lx - 0x%lx %s (%d segments)\n", in map_high()
909 UV2_MMIOH = -1,
921 int i, fi, li, n, max_io; in calc_mmioh_map() local
974 max_io = lnasid = fi = li = -1; in calc_mmioh_map()
989 nasid = -1; in calc_mmioh_map()
995 if (i != n-1) in calc_mmioh_map()
1000 if (lnasid != -1 || (i == n-1 && nasid != -1)) { in calc_mmioh_map()
1004 if (lnasid == -1) { in calc_mmioh_map()
1008 f = fi; in calc_mmioh_map()
1013 pr_info("UV: %s[%03d..%03d] NASID 0x%04x ADDR 0x%016lx - 0x%016lx\n", in calc_mmioh_map()
1014 id, fi, li, lnasid, addr1, addr2); in calc_mmioh_map()
1018 fi = li = i; in calc_mmioh_map()
1139 domain = pci_domain_nr(pdev->bus); in uv_set_vga_state()
1140 bus = pdev->bus->number; in uv_set_vga_state()
1157 uv_hub_info->nr_online_cpus++; in uv_cpu_init()
1171 mnp->n_val = uv_cpuid.n_skt; in get_mn()
1173 mnp->m_val = 0; in get_mn()
1174 mnp->n_lshift = 0; in get_mn()
1178 mnp->m_val = uv_cpuid.m_skt; in get_mn()
1180 mnp->n_lshift = m_gr_config.s3.m_skt; in get_mn()
1182 mnp->m_val = uv_cpuid.m_skt; in get_mn()
1183 mnp->n_lshift = mnp->m_val == 40 ? 40 : 39; in get_mn()
1185 mnp->m_shift = mnp->m_val ? 64 - mnp->m_val : 0; in get_mn()
1188 static void __init uv_init_hub_info(struct uv_hub_info_s *hi) in uv_init_hub_info() argument
1193 hi->gpa_mask = mn.m_val ? in uv_init_hub_info()
1194 (1UL << (mn.m_val + mn.n_val)) - 1 : in uv_init_hub_info()
1195 (1UL << uv_cpuid.gpa_shift) - 1; in uv_init_hub_info()
1197 hi->m_val = mn.m_val; in uv_init_hub_info()
1198 hi->n_val = mn.n_val; in uv_init_hub_info()
1199 hi->m_shift = mn.m_shift; in uv_init_hub_info()
1200 hi->n_lshift = mn.n_lshift ? mn.n_lshift : 0; in uv_init_hub_info()
1201 hi->hub_revision = uv_hub_info->hub_revision; in uv_init_hub_info()
1202 hi->hub_type = uv_hub_info->hub_type; in uv_init_hub_info()
1203 hi->pnode_mask = uv_cpuid.pnode_mask; in uv_init_hub_info()
1204 hi->nasid_shift = uv_cpuid.nasid_shift; in uv_init_hub_info()
1205 hi->min_pnode = _min_pnode; in uv_init_hub_info()
1206 hi->min_socket = _min_socket; in uv_init_hub_info()
1207 hi->node_to_socket = _node_to_socket; in uv_init_hub_info()
1208 hi->pnode_to_socket = _pnode_to_socket; in uv_init_hub_info()
1209 hi->socket_to_node = _socket_to_node; in uv_init_hub_info()
1210 hi->socket_to_pnode = _socket_to_pnode; in uv_init_hub_info()
1211 hi->gr_table_len = _gr_table_len; in uv_init_hub_info()
1212 hi->gr_table = _gr_table; in uv_init_hub_info()
1215 hi->gnode_extra = (uv_node_id & ~((1 << uv_cpuid.gnode_shift) - 1)) >> 1; in uv_init_hub_info()
1217 hi->gnode_upper = (u64)hi->gnode_extra << mn.m_val; in uv_init_hub_info()
1220 hi->global_mmr_base = uv_gp_table->mmr_base; in uv_init_hub_info()
1221 hi->global_mmr_shift = uv_gp_table->mmr_shift; in uv_init_hub_info()
1222 hi->global_gru_base = uv_gp_table->gru_base; in uv_init_hub_info()
1223 hi->global_gru_shift = uv_gp_table->gru_shift; in uv_init_hub_info()
1224 hi->gpa_shift = uv_gp_table->gpa_shift; in uv_init_hub_info()
1225 hi->gpa_mask = (1UL << hi->gpa_shift) - 1; in uv_init_hub_info()
1227 hi->global_mmr_base = in uv_init_hub_info()
1230 hi->global_mmr_shift = _UV_GLOBAL_MMR64_PNODE_SHIFT; in uv_init_hub_info()
1233 get_lowmem_redirect(&hi->lowmem_remap_base, &hi->lowmem_remap_top); in uv_init_hub_info()
1235 hi->apic_pnode_shift = uv_cpuid.socketid_shift; in uv_init_hub_info()
1238 pr_info("UV: N:%d M:%d m_shift:%d n_lshift:%d\n", hi->n_val, hi->m_val, hi->m_shift, hi->n_lshift); in uv_init_hub_info()
1239 …mask/shift:0x%lx/%d pnode_mask:0x%x apic_pns:%d\n", hi->gpa_mask, hi->gpa_shift, hi->pnode_mask, h… in uv_init_hub_info()
1240 pr_info("UV: mmr_base/shift:0x%lx/%ld\n", hi->global_mmr_base, hi->global_mmr_shift); in uv_init_hub_info()
1241 if (hi->global_gru_base) in uv_init_hub_info()
1243 hi->global_gru_base, hi->global_gru_shift); in uv_init_hub_info()
1245 pr_info("UV: gnode_upper:0x%lx gnode_extra:0x%x\n", hi->gnode_upper, hi->gnode_extra); in uv_init_hub_info()
1254 uv_gp_table->mmr_base, uv_gp_table->mmr_shift, in decode_gam_params()
1255 uv_gp_table->gru_base, uv_gp_table->gru_shift, in decode_gam_params()
1256 uv_gp_table->gpa_shift); in decode_gam_params()
1265 int sock_max = -1, pnode_max = -1; in decode_gam_rng_tbl()
1268 for (; gre->type != UV_GAM_RANGE_TYPE_UNUSED; gre++) { in decode_gam_rng_tbl()
1269 unsigned long size = ((unsigned long)(gre->limit - lgre) in decode_gam_rng_tbl()
1281 if (gre->type == 1 || gre->type == 2) in decode_gam_rng_tbl()
1289 pr_info("UV: %2d: 0x%014lx-0x%014lx%c %5lu%c %3d %04x %02x %02x\n", in decode_gam_rng_tbl()
1292 (unsigned long)gre->limit << UV_GAM_RANGE_SHFT, in decode_gam_rng_tbl()
1294 gre->type, gre->nasid, gre->sockid, gre->pnode); in decode_gam_rng_tbl()
1296 if (gre->type == UV_GAM_RANGE_TYPE_HOLE) in decode_gam_rng_tbl()
1297 gend = (unsigned long)gre->limit << UV_GAM_RANGE_SHFT; in decode_gam_rng_tbl()
1300 lgre = gre->limit; in decode_gam_rng_tbl()
1301 if (sock_min > gre->sockid) in decode_gam_rng_tbl()
1302 sock_min = gre->sockid; in decode_gam_rng_tbl()
1303 if (sock_max < gre->sockid) in decode_gam_rng_tbl()
1304 sock_max = gre->sockid; in decode_gam_rng_tbl()
1305 if (pnode_min > gre->pnode) in decode_gam_rng_tbl()
1306 pnode_min = gre->pnode; in decode_gam_rng_tbl()
1307 if (pnode_max < gre->pnode) in decode_gam_rng_tbl()
1308 pnode_max = gre->pnode; in decode_gam_rng_tbl()
1330 if (st && st->revision == UV_SYSTAB_VERSION_1) in decode_uv_systab()
1333 if ((!st) || (st->revision < UV_SYSTAB_VERSION_UV4_LATEST)) { in decode_uv_systab()
1334 int rev = st ? st->revision : 0; in decode_uv_systab()
1338 pr_err("UV: Does not support UV, switch to non-UV x86_64\n"); in decode_uv_systab()
1341 return -EINVAL; in decode_uv_systab()
1344 for (i = 0; st->entry[i].type != UV_SYSTAB_TYPE_UNUSED; i++) { in decode_uv_systab()
1345 unsigned long ptr = st->entry[i].offset; in decode_uv_systab()
1353 switch (st->entry[i].type) { in decode_uv_systab()
1368 __func__, st->entry[i].type); in decode_uv_systab()
1403 int sock_min = INT_MAX, sock_max = -1, s_mask; in boot_init_possible_blades()
1405 s_mask = (1 << uv_cpuid.n_skt) - 1; in boot_init_possible_blades()
1431 uv_pb = sock_max - sock_min + 1; in boot_init_possible_blades()
1436 pr_info("UV: number nodes/possible blades %d (%d - %d)\n", in boot_init_possible_blades()
1448 return -ENOMEM; in alloc_conv_table()
1501 nump = maxpnode - minpnode + 1; in build_socket_tables()
1502 nums = maxsock - minsock + 1; in build_socket_tables()
1516 for (; gre->type != UV_GAM_RANGE_TYPE_UNUSED; gre++) { in build_socket_tables()
1517 if (gre->type == UV_GAM_RANGE_TYPE_HOLE) in build_socket_tables()
1519 i = gre->sockid - minsock; in build_socket_tables()
1521 _socket_to_pnode[i] = gre->pnode; in build_socket_tables()
1523 i = gre->pnode - minpnode; in build_socket_tables()
1525 _pnode_to_socket[i] = gre->sockid; in build_socket_tables()
1528 gre->sockid, gre->type, gre->nasid, in build_socket_tables()
1529 _socket_to_pnode[gre->sockid - minsock], in build_socket_tables()
1530 _pnode_to_socket[gre->pnode - minpnode]); in build_socket_tables()
1533 /* Set socket -> node values: */ in build_socket_tables()
1545 if (_socket_to_node[sockid - minsock] == SOCK_EMPTY) in build_socket_tables()
1546 _socket_to_node[sockid - minsock] = nid; in build_socket_tables()
1556 _socket_to_node[sockid - minsock]); in build_socket_tables()
1584 current->comm); in proc_hubbed_show()
1592 current->comm); in proc_hubless_show()
1600 current->comm); in proc_archtype_show()
1684 uv_possible_blades = (_max_socket - _min_socket) + 1; in uv_system_init_hub()
1696 * structure per blade. Further down we create a per-node in uv_system_init_hub()
1715 while (--bid > 0) in uv_system_init_hub()
1726 new_hub->pnode = uv_blade_to_pnode(bid); in uv_system_init_hub()
1728 new_hub->pnode = 0xffff; in uv_system_init_hub()
1730 new_hub->numa_blade_id = bid; in uv_system_init_hub()
1731 new_hub->memory_nid = NUMA_NO_NODE; in uv_system_init_hub()
1732 new_hub->nr_possible_cpus = 0; in uv_system_init_hub()
1733 new_hub->nr_online_cpus = 0; in uv_system_init_hub()
1762 bid = uv_pnode_to_socket(pnode) - _min_socket; in uv_system_init_hub()
1764 uv_cpu_info_per(cpu)->p_uv_hub_info = uv_hub_info_list_blade[bid]; in uv_system_init_hub()
1765 uv_cpu_info_per(cpu)->blade_cpu_id = uv_cpu_hub_info(cpu)->nr_possible_cpus++; in uv_system_init_hub()
1766 if (uv_cpu_hub_info(cpu)->memory_nid == NUMA_NO_NODE) in uv_system_init_hub()
1767 uv_cpu_hub_info(cpu)->memory_nid = cpu_to_node(cpu); in uv_system_init_hub()
1769 if (uv_cpu_hub_info(cpu)->pnode == 0xffff) in uv_system_init_hub()
1770 uv_cpu_hub_info(cpu)->pnode = pnode; in uv_system_init_hub()
1774 unsigned short pnode = uv_hub_info_list_blade[bid]->pnode; in uv_system_init_hub()
1783 uv_hub_info_list_blade[bid]->pnode, in uv_system_init_hub()
1784 uv_hub_info_list_blade[bid]->nr_possible_cpus); in uv_system_init_hub()