Function report |
Source Code:arch\x86\kernel\apic\x2apic_uv_x.c |
Create Date:2022-07-28 08:33:45 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
home page | Tree |
Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:uv_acpi_madt_oem_check
Proto:static int __init uv_acpi_madt_oem_check(char *_oem_id, char *_oem_table_id)
Type:int
Parameter:
Type | Parameter | Name |
---|---|---|
char * | _oem_id | |
char * | _oem_table_id |
269 | uv_stringify( size of Unpack OEM/TABLE ID's to be NULL terminated strings , Unpack OEM/TABLE ID's to be NULL terminated strings , _oem_id) |
270 | uv_stringify( size of oem_table_id , oem_table_id, _oem_table_id) |
272 | If strncmp(Unpack OEM/TABLE ID's to be NULL terminated strings , "SGI", 3) != 0 Then |
273 | If strncmp(Unpack OEM/TABLE ID's to be NULL terminated strings , "NSGI", 4) != 0 Then Return 0 |
277 | If strncmp(Unpack OEM/TABLE ID's to be NULL terminated strings , "NSGI4", 5) == 0 Then uv_hubless_system = 0x11 |
281 | Else uv_hubless_system = 0x9 |
284 | pr_info("UV: OEM IDs %s/%s, HUBLESS(0x%x)\n", Unpack OEM/TABLE ID's to be NULL terminated strings , oem_table_id, uv_hubless_system) |
287 | Return 0 |
290 | If numa_off Then |
291 | pr_err("UV: NUMA is off, disabling UV support\n") |
292 | Return 0 |
296 | ({ |
296 | })->p_uv_hub_info = & uv_hub_info_node0 |
305 | hub_revision = If If If If Not strncmp(Unpack OEM/TABLE ID's to be NULL terminated strings , "SGI4", 4) Then UV4_HUB_REVISION_BASE Else Not strncmp(Unpack OEM/TABLE ID's to be NULL terminated strings , "SGI3", 4) Then UV3_HUB_REVISION_BASE Else Not strcmp(Unpack OEM/TABLE ID's to be NULL terminated strings , "SGI2") Then UV2_HUB_REVISION_BASE Else Not strcmp(Unpack OEM/TABLE ID's to be NULL terminated strings , "SGI") Then HUB revision ranges for each UV HUB architecture.* This is a software convention - NOT the hardware revision numbers in* the hub chip. Else 0 |
311 | If hub_revision == 0 Then Go to badbios |
315 | Case hub_revision == UV4_HUB_REVISION_BASE |
316 | uv_hubbed_system = 0x11 |
317 | Break |
319 | Case hub_revision == UV3_HUB_REVISION_BASE |
320 | uv_hubbed_system = 0x9 |
321 | Break |
323 | Case hub_revision == UV2_HUB_REVISION_BASE |
324 | uv_hubbed_system = 0x5 |
325 | Break |
328 | uv_hubbed_system = 0x3 |
329 | Break |
332 | pnodeid = early_get_pnodeid() |
336 | nmi_init = uv_nmi_init |
338 | If Not strcmp(oem_table_id, "UVX") Then |
340 | uv_system_type = UV_X2APIC |
341 | uv_apic = 0 |
343 | Else if Not strcmp(oem_table_id, "UVH") Then |
346 | warm_reset = 0 |
349 | uv_apic = 1 |
351 | Else if Not strcmp(oem_table_id, "UVL") Then |
353 | uv_system_type = UV_LEGACY_APIC |
354 | uv_apic = 0 |
356 | Else |
357 | Go to badbios |
360 | pr_info("UV: OEM IDs %s/%s, System/HUB Types %d/%d, uv_apic %d\n", Unpack OEM/TABLE ID's to be NULL terminated strings , oem_table_id, uv_system_type, uv_min_hub_revision_id, uv_apic) |
361 | uv_tsc_check_sync() |
363 | Return uv_apic |
365 | badbios : |
366 | pr_err("UV: OEM_ID:%s OEM_TABLE_ID:%s\n", Unpack OEM/TABLE ID's to be NULL terminated strings , oem_table_id) |
367 | pr_err("Current BIOS not supported, update kernel and/or BIOS\n") |
368 | BUG() |
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 |