| Function report | 
| Source Code: arch\x86\kernel\apic\x2apic_uv_x.c | Create Date:2022-07-28 08:33:52 | 
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick | 
| home page | Tree | 
| Annotation kernel can get tool activity | Download SCCT | Chinese | 
Name:Build GAM range lookup table:
Proto:static __init void build_uv_gr_table(void)
Type:void
Parameter:Nothing
| 474 | gre = uv_gre_table | 
| 476 | last_limit = 0 , ram_limit = 0 | 
| 479 | If Not gre Then Return | 
| 482 | bytes = _gr_table_len * sizeof(structuv_gam_range_s) | 
| 483 | grt = kzalloc - allocate memory. The memory is set to zero.*@size: how many bytes of memory are required.*@flags: the type of memory to allocate (see kmalloc). | 
| 487 | When Entry type: GAM_RANGE_TYPE_UNUSED, etc. != End of table cycle | 
| 488 | If Entry type: GAM_RANGE_TYPE_UNUSED, etc. == Unused address range Then | 
| 489 | If Not ram_limit Then | 
| 497 | pr_info("UV: extra hole in GAM RE table @%d\n", (int)(gre - uv_gre_table)) | 
| 498 | Continue | 
| 500 | If _max_socket < Socket ID, high bits of APIC ID Then | 
| 501 | pr_err("UV: GAM table sockid(%d) too large(>%d) @%d\n", Socket ID, high bits of APIC ID , _max_socket, (int)(gre - uv_gre_table)) | 
| 502 | Continue | 
| 513 | Continue | 
| 518 | If PA bits 56:26 (GAM_RANGE_SHFT) == last_limit Then | 
| 520 | Continue | 
| 524 | If Not ram_limit Then | 
| 525 | grt++ | 
| 529 | Continue | 
| 532 | grt++ | 
| 534 | ry index of node's base addr = grt - _gr_table | 
| 537 | lsid++ | 
| 541 | grt++ | 
| 543 | If i < _gr_table_len Then | 
| 546 | bytes = i * sizeof(structuv_gam_range_s) | 
| 547 | ret = krealloc(_gr_table, bytes, GFP_KERNEL) | 
| 548 | If ret Then | 
| 550 | _gr_table_len = i | 
| 555 | When i < _gr_table_len cycle | 
| 559 | start = If gb < 0 Then 0 Else PA bits 56:26 (GAM_RANGE_SHFT) << 64MB | 
| 560 | end = PA bits 56:26 (GAM_RANGE_SHFT) << 64MB | 
| Name | Describe | 
|---|---|
| uv_system_init_hub | 
| Source code conversion tool public plug-in interface | X | 
|---|---|
| Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |