x86/platform/uv: Fix missing OEM_TABLE_ID

Testing shows a problem in that the OEM_TABLE_ID was missing for
hubless systems. This is used to determine the APIC type (legacy or
extended). Add the OEM_TABLE_ID to the early hubless processing.

Fixes: 1e61f5a95f191 ("Add and decode Arch Type in UVsystab")
Signed-off-by: Mike Travis <mike.travis@hpe.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/r/20201105222741.157029-2-mike.travis@hpe.com

authored by Mike Travis and committed by Thomas Gleixner 1aec69ae 1978b3a5

+5 -2
+5 -2
arch/x86/kernel/apic/x2apic_uv_x.c
··· 366 return ret; 367 } 368 369 - static int __init uv_set_system_type(char *_oem_id) 370 { 371 /* Save OEM_ID passed from ACPI MADT */ 372 uv_stringify(sizeof(oem_id), oem_id, _oem_id); ··· 393 /* UV3 Hubless: UV300/MC990X w/o hub */ 394 else 395 uv_hubless_system = 0x9; 396 397 pr_info("UV: OEM IDs %s/%s, SystemType %d, HUBLESS ID %x\n", 398 oem_id, oem_table_id, uv_system_type, uv_hubless_system); ··· 459 uv_cpu_info->p_uv_hub_info = &uv_hub_info_node0; 460 461 /* If not UV, return. */ 462 - if (likely(uv_set_system_type(_oem_id) == 0)) 463 return 0; 464 465 /* Save and Decode OEM Table ID */
··· 366 return ret; 367 } 368 369 + static int __init uv_set_system_type(char *_oem_id, char *_oem_table_id) 370 { 371 /* Save OEM_ID passed from ACPI MADT */ 372 uv_stringify(sizeof(oem_id), oem_id, _oem_id); ··· 393 /* UV3 Hubless: UV300/MC990X w/o hub */ 394 else 395 uv_hubless_system = 0x9; 396 + 397 + /* Copy APIC type */ 398 + uv_stringify(sizeof(oem_table_id), oem_table_id, _oem_table_id); 399 400 pr_info("UV: OEM IDs %s/%s, SystemType %d, HUBLESS ID %x\n", 401 oem_id, oem_table_id, uv_system_type, uv_hubless_system); ··· 456 uv_cpu_info->p_uv_hub_info = &uv_hub_info_node0; 457 458 /* If not UV, return. */ 459 + if (uv_set_system_type(_oem_id, _oem_table_id) == 0) 460 return 0; 461 462 /* Save and Decode OEM Table ID */