函数逻辑报告 |
Source Code:arch\x86\kernel\apic\x2apic_uv_x.c |
Create Date:2022-07-27 09:33:55 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| 首页 | 函数Tree |
| 注解内核,赢得工具 | 下载SCCT | English |
函数名称:uv_system_init_hub
函数原型:static void __init uv_system_init_hub(void)
返回类型:void
参数:无
| 1555 | struct uv_hub_info_s hub_info = {0} |
| 1558 | char * hub = is_uv4_hub() ? "UV400" : is_uv3_hub() ? "UV300" : is_uv2_hub() ? "UV2000/3000" : WARNING: UVx_HUB_IS_SUPPORTED defines are deprecated and will be removed ? "UV100/1000" : NULL |
| 1563 | 如果非hub则 |
| 1564 | 打印错误信息("UV: Unknown/unsupported UV hub\n") |
| 1565 | 返回 |
| 1569 | map_low_mmrs() |
| 1572 | uv_bios_init() |
| 1575 | 如果decode_uv_systab()小于0则返回 |
| 1578 | build_socket_tables() |
| 1580 | set_block_size() |
| 1581 | uv_init_hub_info( & hub_info) |
| 1582 | uv_possible_blades等于num_possible_nodes() |
| 1587 | 打印信息("UV: Found %d hubs, %d nodes, %d CPUs\n", uv_num_possible_blades(), num_possible_nodes(), num_possible_cpus()) |
| 1589 | uv_bios_get_sn_info(0, & uv_type, & sn_partition_id, & sn_coherency_id, & sn_region_size, & system_serial_number) |
| 1591 | uv_rtc_init() |
| 1593 | bytes等于*的长度乘uv_num_possible_blades() |
| 1594 | __uv_hub_info_list等于分配内存并置零 |
| 1595 | BUG_ON(!__uv_hub_info_list) |
| 1597 | bytes等于sizeof(structuv_hub_info_s) |
| 1598 | for_each_node(nodeid) |
| 1601 | 如果__uv_hub_info_list[nodeid]则 |
| 1607 | new_hub等于如果nodeid恒等于0则uv_hub_info_node0否则根据内存节点分配内存 |
| 1609 | __uv_hub_info_list[nodeid]等于new_hub |
| 1610 | new_hub等于uv_hub_info_list(nodeid) |
| 1615 | 如果The following values are used for the per node hub info struct 则pnode等于The following values are used for the per node hub info struct [nodeid] |
| 1617 | 否则pnode等于0xffff |
| 1621 | memory_nid等于NUMA_NO_NODE |
| 1622 | nr_possible_cpus等于0 |
| 1623 | nr_online_cpus等于0 |
| 1632 | nodeid等于cpu_to_node(cpu) |
| 1633 | numa_node_id等于numa_cpu_node(cpu) |
| 1636 | ( & ( * ({ |
| 1636 | })))->p_uv_hub_info = uv_hub_info_list(nodeid) |
| 1637 | ( & ( * ({ |
| 1637 | })))->blade_cpu_id = uv_cpu_hub_info(cpu)->nr_possible_cpus++ |
| 1638 | 如果memory_nid恒等于NUMA_NO_NODE则memory_nid等于cpu_to_node(cpu) |
| 1642 | 如果nodeid不等于numa_node_id且pnode恒等于0xffff则pnode等于pnode |
| 1648 | ( & ( & ( * ({ |
| 1648 | })))->scir)->offset = uv_scir_offset(apicid) |
| 1651 | for_each_node(nodeid) |
| 1655 | 如果pnode恒等于0xffff则 |
| 1664 | 打印信息("UV: UVHUB node:%2d pn:%02x nrcpus:%d\n", nodeid, pnode, nr_possible_cpus) |
| 1671 | map_gru_high(max_pnode) |
| 1672 | map_mmr_high(max_pnode) |
| 1673 | map_mmioh_high(min_pnode, max_pnode) |
| 1675 | Per Hub NMI support |
| 1678 | uv_setup_proc_files(0) |
| 名称 | 描述 |
|---|---|
| uv_system_init | There is a different code path needed to initialize a UV system that does* not have a "UV HUB" (referred to as "hubless"). |
| 源代码转换工具 开放的插件接口 | X |
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |