On Thu, Sep 05, 2019 at 08:02:58AM -0500, Mike Travis wrote: > Decode the hubless UVsystab passed from BIOS to the kernel saving > pertinent info in a similar manner that hubbed UVsystabs are decoded. > > Signed-off-by: Mike Travis <mike.travis@xxxxxxx> > Reviewed-by: Steve Wahl <steve.wahl@xxxxxxx> > Reviewed-by: Dimitri Sivanich <dimitri.sivanich@xxxxxxx> > To: Thomas Gleixner <tglx@xxxxxxxxxxxxx> > To: Ingo Molnar <mingo@xxxxxxxxxx> > To: H. Peter Anvin <hpa@xxxxxxxxx> > To: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> > To: Borislav Petkov <bp@xxxxxxxxx> > To: Christoph Hellwig <hch@xxxxxxxxxxxxx> > Cc: Dimitri Sivanich <dimitri.sivanich@xxxxxxx> > Cc: Russ Anderson <russ.anderson@xxxxxxx> > Cc: Hedi Berriche <hedi.berriche@xxxxxxx> > Cc: Steve Wahl <steve.wahl@xxxxxxx> > Cc: x86@xxxxxxxxxx > Cc: linux-kernel@xxxxxxxxxxxxxxx > Cc: stable@xxxxxxxxxxxxxxx > --- > arch/x86/kernel/apic/x2apic_uv_x.c | 16 ++++++++++++++-- > 1 file changed, 14 insertions(+), 2 deletions(-) If you are trying to get one of my automated "WTF: patch XXXX was seriously submitted to be applied to the stable tree?" emails, you are on track for it... Please go read the documentation link I sent you last time and figure out how you can justify any of this patch series for a stable kernel tree. Also, nit: > --- linux.orig/arch/x86/kernel/apic/x2apic_uv_x.c > +++ linux/arch/x86/kernel/apic/x2apic_uv_x.c > @@ -1303,7 +1303,8 @@ static int __init decode_uv_systab(void) > struct uv_systab *st; > int i; > > - if (uv_hub_info->hub_revision < UV4_HUB_REVISION_BASE) > + /* Select only UV4 (hubbed or hubless) and higher */ > + if (is_uv_hubbed(-2) < uv(4) && is_uv_hubless(-2) < uv(4)) > return 0; /* No extended UVsystab required */ > > st = uv_systab; > @@ -1554,8 +1555,19 @@ static __init int uv_system_init_hubless > > /* Init kernel/BIOS interface */ > rc = uv_bios_init(); > + if (rc < 0) { > + pr_err("UV: BIOS init error:%d\n", rc); Why isn't that function printing an error? > + return rc; > + } > + > + /* Process UVsystab */ > + rc = decode_uv_systab(); > + if (rc < 0) { > + pr_err("UV: UVsystab decode error:%d\n", rc); Same here, have the function itself print the error, makes this type of stuff much cleaner. greg k-h