Skip to content

Commit 2bcf265

Browse files
mike-travisIngo Molnar
authored andcommitted
x86/platform/uv: Setup UV functions for Hubless UV Systems
Add more support for UV systems that do not contain a UV Hub (AKA "hubless"). This update adds support for additional functions required: Use PCH NMI handler instead of a UV Hub NMI handler. Initialize the UV BIOS callback interface used to support specific UV functions. Signed-off-by: Mike Travis <[email protected]> Reviewed-by: Steve Wahl <[email protected]> Reviewed-by: Dimitri Sivanich <[email protected]> Cc: Andrew Morton <[email protected]> Cc: Borislav Petkov <[email protected]> Cc: Christoph Hellwig <[email protected]> Cc: H. Peter Anvin <[email protected]> Cc: Hedi Berriche <[email protected]> Cc: Justin Ernst <[email protected]> Cc: Linus Torvalds <[email protected]> Cc: Peter Zijlstra <[email protected]> Cc: Russ Anderson <[email protected]> Cc: Thomas Gleixner <[email protected]> Link: https://lkml.kernel.org/r/[email protected] Signed-off-by: Ingo Molnar <[email protected]>
1 parent 9743cb6 commit 2bcf265

File tree

1 file changed

+17
-3
lines changed

1 file changed

+17
-3
lines changed

arch/x86/kernel/apic/x2apic_uv_x.c

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1457,6 +1457,20 @@ static void __init build_socket_tables(void)
14571457
}
14581458
}
14591459

1460+
/* Initialize UV hubless systems */
1461+
static __init int uv_system_init_hubless(void)
1462+
{
1463+
int rc;
1464+
1465+
/* Setup PCH NMI handler */
1466+
uv_nmi_setup_hubless();
1467+
1468+
/* Init kernel/BIOS interface */
1469+
rc = uv_bios_init();
1470+
1471+
return rc;
1472+
}
1473+
14601474
static void __init uv_system_init_hub(void)
14611475
{
14621476
struct uv_hub_info_s hub_info = {0};
@@ -1596,8 +1610,8 @@ static void __init uv_system_init_hub(void)
15961610
}
15971611

15981612
/*
1599-
* There is a small amount of UV specific code needed to initialize a
1600-
* UV system that does not have a "UV HUB" (referred to as "hubless").
1613+
* There is a different code path needed to initialize a UV system that does
1614+
* not have a "UV HUB" (referred to as "hubless").
16011615
*/
16021616
void __init uv_system_init(void)
16031617
{
@@ -1607,7 +1621,7 @@ void __init uv_system_init(void)
16071621
if (is_uv_system())
16081622
uv_system_init_hub();
16091623
else
1610-
uv_nmi_setup_hubless();
1624+
uv_system_init_hubless();
16111625
}
16121626

16131627
apic_driver(apic_x2apic_uv_x);

0 commit comments

Comments
 (0)