From patchwork Tue Dec 3 23:56:07 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Igor Druzhinin X-Patchwork-Id: 11271985 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 55786159A for ; Tue, 3 Dec 2019 23:57:20 +0000 (UTC) Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 2BB98206F0 for ; Tue, 3 Dec 2019 23:57:20 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=citrix.com header.i=@citrix.com header.b="HRkimQEs" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 2BB98206F0 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=citrix.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1icI1e-0006Gz-6L; Tue, 03 Dec 2019 23:56:14 +0000 Received: from us1-rack-iad1.inumbo.com ([172.99.69.81]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1icI1d-0006Gu-H6 for xen-devel@lists.xenproject.org; Tue, 03 Dec 2019 23:56:13 +0000 X-Inumbo-ID: 7be1e434-1628-11ea-a0d2-bc764e2007e4 Received: from esa4.hc3370-68.iphmx.com (unknown [216.71.155.144]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS id 7be1e434-1628-11ea-a0d2-bc764e2007e4; Tue, 03 Dec 2019 23:56:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=citrix.com; s=securemail; t=1575417372; h=from:to:cc:subject:date:message-id:mime-version; bh=TFD3VzeeXzI0ahwELebBgPMvYu71biEqCJE3NLat9dQ=; b=HRkimQEsW64FdWGHfzQtc08SsiYU/bsSyFoTZHPpaXOdymvr9Q86N5BE SZMHFYEitpMD/qbqDPrgO56r5loJJ35vbGVJ4FdPgoBY96dZnvvfL7qO7 Umc0uAOqWzFQqbwS7S+Is1gARbcz5PLMAAR5cr7szldIrdtfm9N9y7lgd U=; Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none; spf=None smtp.pra=igor.druzhinin@citrix.com; spf=Pass smtp.mailfrom=igor.druzhinin@citrix.com; spf=None smtp.helo=postmaster@mail.citrix.com Received-SPF: None (esa4.hc3370-68.iphmx.com: no sender authenticity information available from domain of igor.druzhinin@citrix.com) identity=pra; client-ip=162.221.158.21; receiver=esa4.hc3370-68.iphmx.com; envelope-from="igor.druzhinin@citrix.com"; x-sender="igor.druzhinin@citrix.com"; x-conformance=sidf_compatible Received-SPF: Pass (esa4.hc3370-68.iphmx.com: domain of igor.druzhinin@citrix.com designates 162.221.158.21 as permitted sender) identity=mailfrom; client-ip=162.221.158.21; receiver=esa4.hc3370-68.iphmx.com; envelope-from="igor.druzhinin@citrix.com"; x-sender="igor.druzhinin@citrix.com"; x-conformance=sidf_compatible; x-record-type="v=spf1"; x-record-text="v=spf1 ip4:209.167.231.154 ip4:178.63.86.133 ip4:195.66.111.40/30 ip4:85.115.9.32/28 ip4:199.102.83.4 ip4:192.28.146.160 ip4:192.28.146.107 ip4:216.52.6.88 ip4:216.52.6.188 ip4:162.221.158.21 ip4:162.221.156.83 ip4:168.245.78.127 ~all" Received-SPF: None (esa4.hc3370-68.iphmx.com: no sender authenticity information available from domain of postmaster@mail.citrix.com) identity=helo; client-ip=162.221.158.21; receiver=esa4.hc3370-68.iphmx.com; envelope-from="igor.druzhinin@citrix.com"; x-sender="postmaster@mail.citrix.com"; x-conformance=sidf_compatible IronPort-SDR: g+3YzLlxnjg2O7v2zDKDUe2lwBpt9WRb7g9f/Kv1Nz+hSn7bRRCUp7SLb4243TZxBLz0WdkC9y 4zQN1emD4tqlVU5YXtleO4Dia9sUGM3sf1EXOUuHqJAF6nBRdt3T8W2JoHQgGg9kWvN6CyxV2t 35+tBIYb0ylpybc+SAHuZuY2QZ3yj0r+jw6AjlAjtNerwayRBMY99L+BcEjB7rmM2fO4GpUSZ1 TvvF4xIQogI/RJFm4MJenMKPRxaruixZV94iTM/euqh1dvPAtrck6bMGfeEVtCanZng70Wa2sr 5iU= X-SBRS: 2.7 X-MesageID: 9706778 X-Ironport-Server: esa4.hc3370-68.iphmx.com X-Remote-IP: 162.221.158.21 X-Policy: $RELAYED X-IronPort-AV: E=Sophos;i="5.69,275,1571716800"; d="scan'208";a="9706778" From: Igor Druzhinin To: Date: Tue, 3 Dec 2019 23:56:07 +0000 Message-ID: <1575417367-12822-1-git-send-email-igor.druzhinin@citrix.com> X-Mailer: git-send-email 2.7.4 MIME-Version: 1.0 Subject: [Xen-devel] [PATCH v2] x86/AMD: unbreak CPU hotplug on AMD systems without RstrFpErrPtrs X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: jgross@suse.com, Igor Druzhinin , wl@xen.org, andrew.cooper3@citrix.com, jbeulich@suse.com, roger.pau@citrix.com Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" If the feature is not present Xen will try to force X86_BUG_FPU_PTRS feature at CPU identification time. This is especially noticeable in PV-shim that usually hotplugs its vCPUs. We either need to restrict this action for boot CPU only or allow secondary CPUs to modify forced CPU capabilities at runtime. Choose the former since modifying forced capabilities out of boot path leaves the system in potentially inconsistent state. Signed-off-by: Igor Druzhinin Reviewed-by: Jan Beulich --- Changes in v2: - pick the former approach instead of the latter --- xen/arch/x86/cpu/amd.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xen/arch/x86/cpu/amd.c b/xen/arch/x86/cpu/amd.c index fec2830..8b5f0f2 100644 --- a/xen/arch/x86/cpu/amd.c +++ b/xen/arch/x86/cpu/amd.c @@ -583,7 +583,7 @@ static void init_amd(struct cpuinfo_x86 *c) * Older AMD CPUs don't save/load FOP/FIP/FDP unless an FPU exception * is pending. Xen works around this at (F)XRSTOR time. */ - if (!cpu_has(c, X86_FEATURE_RSTR_FP_ERR_PTRS)) + if (c == &boot_cpu_data && !cpu_has(c, X86_FEATURE_RSTR_FP_ERR_PTRS)) setup_force_cpu_cap(X86_BUG_FPU_PTRS); /*