Skip to content

Commit 1aec69a

Browse files
mike-travisKAGA-KOKO
authored andcommitted
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: 1e61f5a ("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
1 parent 1978b3a commit 1aec69a

1 file changed

Lines changed: 5 additions & 2 deletions

File tree

arch/x86/kernel/apic/x2apic_uv_x.c

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -366,7 +366,7 @@ static int __init early_get_arch_type(void)
366366
return ret;
367367
}
368368

369-
static int __init uv_set_system_type(char *_oem_id)
369+
static int __init uv_set_system_type(char *_oem_id, char *_oem_table_id)
370370
{
371371
/* Save OEM_ID passed from ACPI MADT */
372372
uv_stringify(sizeof(oem_id), oem_id, _oem_id);
@@ -394,6 +394,9 @@ static int __init uv_set_system_type(char *_oem_id)
394394
else
395395
uv_hubless_system = 0x9;
396396

397+
/* Copy APIC type */
398+
uv_stringify(sizeof(oem_table_id), oem_table_id, _oem_table_id);
399+
397400
pr_info("UV: OEM IDs %s/%s, SystemType %d, HUBLESS ID %x\n",
398401
oem_id, oem_table_id, uv_system_type, uv_hubless_system);
399402
return 0;
@@ -456,7 +459,7 @@ static int __init uv_acpi_madt_oem_check(char *_oem_id, char *_oem_table_id)
456459
uv_cpu_info->p_uv_hub_info = &uv_hub_info_node0;
457460

458461
/* If not UV, return. */
459-
if (likely(uv_set_system_type(_oem_id) == 0))
462+
if (uv_set_system_type(_oem_id, _oem_table_id) == 0)
460463
return 0;
461464

462465
/* Save and Decode OEM Table ID */

0 commit comments

Comments
 (0)