From patchwork Fri Nov 29 20:01:17 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Igor Druzhinin X-Patchwork-Id: 11267587 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 8FE0B6C1 for ; Fri, 29 Nov 2019 20:02:13 +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 692752158A for ; Fri, 29 Nov 2019 20:02:13 +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="YCt+eJCL" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 692752158A 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 1iamSB-0002Vb-86; Fri, 29 Nov 2019 20:01:23 +0000 Received: from us1-rack-iad1.inumbo.com ([172.99.69.81]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1iamSA-0002VW-Hz for xen-devel@lists.xenproject.org; Fri, 29 Nov 2019 20:01:22 +0000 X-Inumbo-ID: 03880c86-12e3-11ea-a55d-bc764e2007e4 Received: from esa2.hc3370-68.iphmx.com (unknown [216.71.145.153]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS id 03880c86-12e3-11ea-a55d-bc764e2007e4; Fri, 29 Nov 2019 20:01:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=citrix.com; s=securemail; t=1575057682; h=from:to:cc:subject:date:message-id:mime-version; bh=HgyJk9By60I2lh833fhbGT9skP9PuWf811Ol7OJTQrE=; b=YCt+eJCL7dG1tVZi23dqPZb2FIPy7UPHgqKcIoFH4RUJzD+wk+wjwKgE iIlAgm+PzT4s+TOe5R+wWeUWIZZv+A92leivCnd0y+udhjkmcQvg2VO/L Z1v2daD/gXljASW2gMvpd7syRyVaja7PdjkiL8XYfw30j2mmxPw4va8hd E=; Authentication-Results: esa2.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 (esa2.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=esa2.hc3370-68.iphmx.com; envelope-from="igor.druzhinin@citrix.com"; x-sender="igor.druzhinin@citrix.com"; x-conformance=sidf_compatible Received-SPF: Pass (esa2.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=esa2.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 (esa2.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=esa2.hc3370-68.iphmx.com; envelope-from="igor.druzhinin@citrix.com"; x-sender="postmaster@mail.citrix.com"; x-conformance=sidf_compatible IronPort-SDR: vqgyLTwq8/8xw6GwI4CXnjyldr4kODJ3RoB/jdyaM2O7Vl+xoKwwLMlwPtQ2BPmDOFnPlsRivF 23oAg5D63uaUcUonBOow481urlojM4jblGC50VRAk6uNVYyeuLdU0/T7duQI32sz8tnS14RMnO 2yu6bKzxu/q9KRn1QRmYLMefEGaCIiDi4hhgL2rFNJo6IMzYdG93W4owWQCWon5TUg12WP+SBZ oroC9Gn/k+3MuDowQF2qgmo2NAY2ka9KNxRLmBCWcF8mK1HY8y2EW+pkS+Z6Geb4JPQTwqul6O 7Q4= X-SBRS: 2.7 X-MesageID: 9001948 X-Ironport-Server: esa2.hc3370-68.iphmx.com X-Remote-IP: 162.221.158.21 X-Policy: $RELAYED X-IronPort-AV: E=Sophos;i="5.69,258,1571716800"; d="scan'208";a="9001948" From: Igor Druzhinin To: Date: Fri, 29 Nov 2019 20:01:17 +0000 Message-ID: <1575057677-13839-1-git-send-email-igor.druzhinin@citrix.com> X-Mailer: git-send-email 2.7.4 MIME-Version: 1.0 Subject: [Xen-devel] [PATCH for-4.13] 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: andrew.cooper3@citrix.com, Igor Druzhinin , wl@xen.org, 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 latter accounting for potential microcode asymmetry between the boot and secondary CPUs. Signed-off-by: Igor Druzhinin Reviewed-by: Roger Pau Monné --- Justification for 4.13 - PV-shim is effectively broken on such a system. --- xen/arch/x86/cpu/common.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/xen/arch/x86/cpu/common.c b/xen/arch/x86/cpu/common.c index e5ad17d..4293075 100644 --- a/xen/arch/x86/cpu/common.c +++ b/xen/arch/x86/cpu/common.c @@ -54,7 +54,7 @@ static unsigned int forced_caps[NCAPINTS]; DEFINE_PER_CPU(bool, full_gdt_loaded); -void __init setup_clear_cpu_cap(unsigned int cap) +void setup_clear_cpu_cap(unsigned int cap) { const uint32_t *dfs; unsigned int i; @@ -83,7 +83,7 @@ void __init setup_clear_cpu_cap(unsigned int cap) } } -void __init setup_force_cpu_cap(unsigned int cap) +void setup_force_cpu_cap(unsigned int cap) { if (__test_and_set_bit(cap, forced_caps)) return;