x86, UV: UV2 fix for hub part number
Subsystems (2)
PATCH 1/1 x86, UV: UV2 fix for hub part number
There was a mixup when the SGI UV2 hub chip was sent to be fabricated, and it ended up with the wrong part number in the HRP_NODE_ID mmr. Future versions of the chip will (may) have the correct part number. Change the UV infrastructure to recognize both part numbers as valid IDs of a UV2 hub chip.
Signed-off-by Jack Steiner <[email protected]>
--- arch/x86/include/asm/uv/uv_mmrs.h | 1 + arch/x86/kernel/apic/x2apic_uv_x.c | 2 ++ 2 files changed, 3 insertions(+)
arch/x86/include/asm/uv/uv_mmrs.h +1 -0
@@ -57,6 +57,7 @@#define UV1_HUB_PART_NUMBER 0x88a5#define UV2_HUB_PART_NUMBER 0x8eb8 +#define UV2_HUB_PART_NUMBER_X 0x1111/* Compat: if this #define is present, UV headers support UV2 */ #define UV2_HUB_IS_SUPPORTED 1
arch/x86/kernel/apic/x2apic_uv_x.c +2 -0
@@ -93,6 +93,8 @@ static int __init early_get_pnodeid(voidif (node_id.s.part_number ==UV2_HUB_PART_NUMBER ) uv_min_hub_revision_id +=UV2_HUB_REVISION_BASE -1 ; +if (node_id.s.part_number ==UV2_HUB_PART_NUMBER_X ) + uv_min_hub_revision_id +=UV2_HUB_REVISION_BASE -1 ; uv_hub_info->hub_revision = uv_min_hub_revision_id; pnode = (node_id.s.node_id >>1 ) & ((1 << m_n_config.s.n_skt) -1 );