Commit 1aec69ae authored by Mike Travis's avatar Mike Travis Committed by Thomas Gleixner

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: 1e61f5a9 ("Add and decode Arch Type in UVsystab")
Signed-off-by: default avatarMike Travis <mike.travis@hpe.com>
Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/r/20201105222741.157029-2-mike.travis@hpe.com
parent 1978b3a5
...@@ -366,7 +366,7 @@ static int __init early_get_arch_type(void) ...@@ -366,7 +366,7 @@ static int __init early_get_arch_type(void)
return ret; return ret;
} }
static int __init uv_set_system_type(char *_oem_id) static int __init uv_set_system_type(char *_oem_id, char *_oem_table_id)
{ {
/* Save OEM_ID passed from ACPI MADT */ /* Save OEM_ID passed from ACPI MADT */
uv_stringify(sizeof(oem_id), oem_id, _oem_id); uv_stringify(sizeof(oem_id), oem_id, _oem_id);
...@@ -394,6 +394,9 @@ static int __init uv_set_system_type(char *_oem_id) ...@@ -394,6 +394,9 @@ static int __init uv_set_system_type(char *_oem_id)
else else
uv_hubless_system = 0x9; uv_hubless_system = 0x9;
/* Copy APIC type */
uv_stringify(sizeof(oem_table_id), oem_table_id, _oem_table_id);
pr_info("UV: OEM IDs %s/%s, SystemType %d, HUBLESS ID %x\n", pr_info("UV: OEM IDs %s/%s, SystemType %d, HUBLESS ID %x\n",
oem_id, oem_table_id, uv_system_type, uv_hubless_system); oem_id, oem_table_id, uv_system_type, uv_hubless_system);
return 0; return 0;
...@@ -456,7 +459,7 @@ static int __init uv_acpi_madt_oem_check(char *_oem_id, char *_oem_table_id) ...@@ -456,7 +459,7 @@ static int __init uv_acpi_madt_oem_check(char *_oem_id, char *_oem_table_id)
uv_cpu_info->p_uv_hub_info = &uv_hub_info_node0; uv_cpu_info->p_uv_hub_info = &uv_hub_info_node0;
/* If not UV, return. */ /* If not UV, return. */
if (likely(uv_set_system_type(_oem_id) == 0)) if (uv_set_system_type(_oem_id, _oem_table_id) == 0)
return 0; return 0;
/* Save and Decode OEM Table ID */ /* Save and Decode OEM Table ID */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment