Received: by 2002:a05:6a10:17d3:0:0:0:0 with SMTP id hz19csp222462pxb; Fri, 16 Apr 2021 04:08:08 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxIIio8SaMrIVRZIg18vCXjsKbqPhLpZENl77uufIDlBHtyl1ne1BA7RelXnIu3vnfwJj8P X-Received: by 2002:a05:6402:430c:: with SMTP id m12mr9618787edc.138.1618571287844; Fri, 16 Apr 2021 04:08:07 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1618571287; cv=none; d=google.com; s=arc-20160816; b=ALh/ZXxlKNIXdqWMbu4BAdTyDdeMswBA4Zw4bLm4K4eGZg1jVsVHMSpiga9Yetf46p ij2s9AgJLj4gXdT4Aww8xrfSTyQcs9rY++savSq/FUr4D+9b7up7V96SfU930fzjBL+j lE79JspVvQDYyE7fotUi7HPJ9Zz0gWEkeDDKheA+zL026rd63DyZFVGYO6HglrvzZUxM wLz+agw7hxdI7OQ5FQAq0emSVYXMPmkjVK2yclV3/bysYjzXrwLkYOHM3BGfsqNfzXRM 1X/IjAWH8nZJYSOo8R0rHUobRKcLTpTdEn08LvmT2cty0wArKABbn4uGq4zoHUZ5XaP6 xQKg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:robot-unsubscribe :robot-id:message-id:mime-version:references:in-reply-to:cc:subject :to:reply-to:sender:from:dkim-signature:dkim-signature:date; bh=YQ4lprZqt+8n8gDiVEn8FcY2iGhKtVDymOj7pvaCp2I=; b=lNK9uB3YH7wbe2RP9q0RgTGcx9VMU7+9KHn++D1TtsOMvMiTjZ0y3rtp2kQAlOQnm5 HgCTc6xKsAO+zpCWV09Fz8kDDqifOjSrcbMi3tpaqkBugMrBMc6G3cab3YQ8Pdd6+/HP fXPYeeGbN463r+MkuzKy7okWTog+9zOijZxyDxbpkA7qnvNe4OpSEfpq0z1Kraa2FqXF udR1LfsXQMI1++r1D2g0ZQWIzp13sGCbEvVhWNnTOUZbUX90pkuBvxt0tn5L5fM7V62q Vimy6lyuZP6do6RBtcl0AOsz0TmbWzTU42pFLF9yaGtaS/+/CRZQsS5Kqht/5S6Pv/xB +p2A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linutronix.de header.s=2020 header.b=m1fJpzsM; dkim=neutral (no key) header.i=@linutronix.de header.s=2020e header.b=u66uUyFG; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=linutronix.de Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id ay17si4934498ejb.426.2021.04.16.04.07.43; Fri, 16 Apr 2021 04:08:07 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linutronix.de header.s=2020 header.b=m1fJpzsM; dkim=neutral (no key) header.i=@linutronix.de header.s=2020e header.b=u66uUyFG; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=linutronix.de Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S242590AbhDPK5Q (ORCPT + 99 others); Fri, 16 Apr 2021 06:57:16 -0400 Received: from Galois.linutronix.de ([193.142.43.55]:56590 "EHLO galois.linutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S242589AbhDPK5O (ORCPT ); Fri, 16 Apr 2021 06:57:14 -0400 Date: Fri, 16 Apr 2021 10:56:47 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1618570608; h=from:from:sender:sender:reply-to:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=YQ4lprZqt+8n8gDiVEn8FcY2iGhKtVDymOj7pvaCp2I=; b=m1fJpzsMCrFBvP2uVYCeIX60HPvCPi70fvn4QxSAxjsx8ZV6jH+VqgrtSRQjcE16Z0i3es f2F7wdD2cvg7/6l+MKG3ptC1kVWTWGY1Wl/g5/8GiQAUV28MwIu8BOnirPKH+PFiV61BIo OdHrytu0VBY+SiCEqVgufvh6fLtyQxycLrvDMKtYTOMbPT12ngS5PU3qhr566+3fFozmSk /UMQAcJMIYhFnfB6hrmRb2Q6wvbL+7El+EBSl8GOaZxg6HrdoFbyUfmRC10+Tn46UqcsfW J0Se8lrG4HNWFQFWEiUgR4vcagQ0q4gvAjQDuD9SANlLYyCpmD4kIUFhmsp/qw== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1618570608; h=from:from:sender:sender:reply-to:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=YQ4lprZqt+8n8gDiVEn8FcY2iGhKtVDymOj7pvaCp2I=; b=u66uUyFGeOeTiYKI+bqgMce2wlyXXEdjlPWi2TBw7VcBuMYHqv+T5hQRAWReO53KyZFLGm YZ6cUYgOoK9rqMDQ== From: "tip-bot2 for Mike Travis" Sender: tip-bot2@linutronix.de Reply-to: linux-kernel@vger.kernel.org To: linux-tip-commits@vger.kernel.org Subject: [tip: x86/platform] x86/platform/uv: Use x2apic enabled bit as set by BIOS to indicate APIC mode Cc: Mike Travis , Borislav Petkov , x86@kernel.org, linux-kernel@vger.kernel.org In-Reply-To: <20210408160047.1703-1-mike.travis@hpe.com> References: <20210408160047.1703-1-mike.travis@hpe.com> MIME-Version: 1.0 Message-ID: <161857060761.29796.13495516816737315712.tip-bot2@tip-bot2> Robot-ID: Robot-Unsubscribe: Contact to get blacklisted from these emails Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The following commit has been merged into the x86/platform branch of tip: Commit-ID: 26d4be3ea1b77cc00b5b638faed7a357204f9150 Gitweb: https://git.kernel.org/tip/26d4be3ea1b77cc00b5b638faed7a357204f9150 Author: Mike Travis AuthorDate: Thu, 08 Apr 2021 11:00:47 -05:00 Committer: Borislav Petkov CommitterDate: Fri, 16 Apr 2021 12:51:03 +02:00 x86/platform/uv: Use x2apic enabled bit as set by BIOS to indicate APIC mode BIOS now sets the x2apic enabled bit (and the ACPI table) for extended APIC modes. Use that bit to indicate if extended mode is set. [ bp: Fixup subject prefix, merge subsequent fix https://lkml.kernel.org/r/20210415220626.223955-1-mike.travis@hpe.com ] Signed-off-by: Mike Travis Signed-off-by: Borislav Petkov Link: https://lkml.kernel.org/r/20210408160047.1703-1-mike.travis@hpe.com --- arch/x86/kernel/apic/x2apic_uv_x.c | 30 ++++++++++++----------------- 1 file changed, 13 insertions(+), 17 deletions(-) diff --git a/arch/x86/kernel/apic/x2apic_uv_x.c b/arch/x86/kernel/apic/x2apic_uv_x.c index c9ddd23..f5a48e6 100644 --- a/arch/x86/kernel/apic/x2apic_uv_x.c +++ b/arch/x86/kernel/apic/x2apic_uv_x.c @@ -369,6 +369,15 @@ static int __init early_get_arch_type(void) return ret; } +/* UV system found, check which APIC MODE BIOS already selected */ +static void __init early_set_apic_mode(void) +{ + if (x2apic_enabled()) + uv_system_type = UV_X2APIC; + else + uv_system_type = UV_LEGACY_APIC; +} + static int __init uv_set_system_type(char *_oem_id, char *_oem_table_id) { /* Save OEM_ID passed from ACPI MADT */ @@ -404,11 +413,12 @@ static int __init uv_set_system_type(char *_oem_id, char *_oem_table_id) else uv_hubless_system |= 0x8; - /* Copy APIC type */ + /* Copy OEM Table ID */ uv_stringify(sizeof(oem_table_id), oem_table_id, _oem_table_id); pr_info("UV: OEM IDs %s/%s, SystemType %d, HUBLESS ID %x\n", oem_id, oem_table_id, uv_system_type, uv_hubless_system); + return 0; } @@ -453,6 +463,7 @@ static int __init uv_set_system_type(char *_oem_id, char *_oem_table_id) early_set_hub_type(); /* Other UV setup functions */ + early_set_apic_mode(); early_get_pnodeid(); early_get_apic_socketid_shift(); x86_platform.is_untracked_pat_range = uv_is_untracked_pat_range; @@ -472,29 +483,14 @@ static int __init uv_acpi_madt_oem_check(char *_oem_id, char *_oem_table_id) if (uv_set_system_type(_oem_id, _oem_table_id) == 0) return 0; - /* Save and Decode OEM Table ID */ + /* Save for display of the OEM Table ID */ uv_stringify(sizeof(oem_table_id), oem_table_id, _oem_table_id); - /* This is the most common hardware variant, x2apic mode */ - if (!strcmp(oem_table_id, "UVX")) - uv_system_type = UV_X2APIC; - - /* Only used for very small systems, usually 1 chassis, legacy mode */ - else if (!strcmp(oem_table_id, "UVL")) - uv_system_type = UV_LEGACY_APIC; - - else - goto badbios; - pr_info("UV: OEM IDs %s/%s, System/UVType %d/0x%x, HUB RevID %d\n", oem_id, oem_table_id, uv_system_type, is_uv(UV_ANY), uv_min_hub_revision_id); return 0; - -badbios: - pr_err("UV: UVarchtype:%s not supported\n", uv_archtype); - BUG(); } enum uv_system_type get_uv_system_type(void)