lkml.org 
[lkml]   [2019]   [Sep]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH 4/8] 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 <mike.travis@hpe.com>
    Reviewed-by: Steve Wahl <steve.wahl@hpe.com>
    Reviewed-by: Dimitri Sivanich <dimitri.sivanich@hpe.com>
    To: Thomas Gleixner <tglx@linutronix.de>
    To: Ingo Molnar <mingo@redhat.com>
    To: H. Peter Anvin <hpa@zytor.com>
    To: Andrew Morton <akpm@linux-foundation.org>
    To: Borislav Petkov <bp@alien8.de>
    To: Christoph Hellwig <hch@infradead.org>
    Cc: Dimitri Sivanich <dimitri.sivanich@hpe.com>
    Cc: Russ Anderson <russ.anderson@hpe.com>
    Cc: Hedi Berriche <hedi.berriche@hpe.com>
    Cc: Steve Wahl <steve.wahl@hpe.com>
    Cc: x86@kernel.org
    Cc: linux-kernel@vger.kernel.org
    ---
    arch/x86/kernel/apic/x2apic_uv_x.c | 20 +++++++++++++++++---
    1 file changed, 17 insertions(+), 3 deletions(-)

    --- linux.orig/arch/x86/kernel/apic/x2apic_uv_x.c
    +++ linux/arch/x86/kernel/apic/x2apic_uv_x.c
    @@ -1457,6 +1457,20 @@ static void __init build_socket_tables(v
    }
    }

    +/* Initialize UV hubless systems */
    +static __init int uv_system_init_hubless(void)
    +{
    + int rc;
    +
    + /* Setup PCH NMI handler */
    + uv_nmi_setup_hubless();
    +
    + /* Init kernel/BIOS interface */
    + rc = uv_bios_init();
    +
    + return rc;
    +}
    +
    static void __init uv_system_init_hub(void)
    {
    struct uv_hub_info_s hub_info = {0};
    @@ -1596,8 +1610,8 @@ static void __init uv_system_init_hub(vo
    }

    /*
    - * There is a small amount of UV specific code needed to initialize a
    - * UV system that does not have a "UV HUB" (referred to as "hubless").
    + * There is a different code path needed to initialize a UV system that does
    + * not have a "UV HUB" (referred to as "hubless").
    */
    void __init uv_system_init(void)
    {
    @@ -1607,7 +1621,7 @@ void __init uv_system_init(void)
    if (is_uv_system())
    uv_system_init_hub();
    else
    - uv_nmi_setup_hubless();
    + uv_system_init_hubless();
    }

    apic_driver(apic_x2apic_uv_x);
    --

    \
     
     \ /
      Last update: 2019-09-05 20:49    [W:4.148 / U:0.008 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site