Skip to content

Commit 0703ed7

Browse files
mike-travisSomasundaram Krishnasamy
authored andcommitted
x86/platform/uv: Setup UV functions for Hubless UV Systems
Upstream commit 2bcf265 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]> Orabug: 30518602 Signed-off-by: Somasundaram Krishnasamy <[email protected]> Reviewed-by: John Donnelly <[email protected]>
1 parent f10b02c commit 0703ed7

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
@@ -1484,6 +1484,20 @@ static void __init build_socket_tables(void)
14841484
}
14851485
}
14861486

1487+
/* Initialize UV hubless systems */
1488+
static __init int uv_system_init_hubless(void)
1489+
{
1490+
int rc;
1491+
1492+
/* Setup PCH NMI handler */
1493+
uv_nmi_setup_hubless();
1494+
1495+
/* Init kernel/BIOS interface */
1496+
rc = uv_bios_init();
1497+
1498+
return rc;
1499+
}
1500+
14871501
static void __init uv_system_init_hub(void)
14881502
{
14891503
struct uv_hub_info_s hub_info = {0};
@@ -1623,8 +1637,8 @@ static void __init uv_system_init_hub(void)
16231637
}
16241638

16251639
/*
1626-
* There is a small amount of UV specific code needed to initialize a
1627-
* UV system that does not have a "UV HUB" (referred to as "hubless").
1640+
* There is a different code path needed to initialize a UV system that does
1641+
* not have a "UV HUB" (referred to as "hubless").
16281642
*/
16291643
void __init uv_system_init(void)
16301644
{
@@ -1634,7 +1648,7 @@ void __init uv_system_init(void)
16341648
if (is_uv_system())
16351649
uv_system_init_hub();
16361650
else
1637-
uv_nmi_setup_hubless();
1651+
uv_system_init_hubless();
16381652
}
16391653

16401654
apic_driver(apic_x2apic_uv_x);

0 commit comments

Comments
 (0)