From nobody Thu Mar 28 19:03:32 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=citrix.com); dmarc=pass(p=reject dis=none) header.from=citrix.com ARC-Seal: i=2; a=rsa-sha256; t=1668518883; cv=pass; d=zohomail.com; s=zohoarc; b=eW3Zj5/vK8ZfgnAKBvFeLTB+IsIyO5HFrKwBo/96//yfJs/l+26dxiy8su04G9/8ZY7v2LJWXB9HLG+Er5rtSJWm6JZ0RaBdJfMsApHnPx4yvIQJBx2ENPKjH+MJo2vbOLqoRNsYjc4XIufGz7hfxzSobYZI4gs8lSrnsdvvU4s= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1668518883; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=llNWAbVbQKPHFmbKIFdwCSdHk/qh12AMcSXIl4F0egY=; b=d4pnoAVQsDSh1wlInvwu9UgFsLDRC5RqWciUPiIfogBvMJUPSOeCV3mfuPGLPfaZgpjnfQS+acr6ozs5nL/xVSTzPbYQsgTDsr9o0hzZNO0W8V/V3T5tONZcuOJ9t9jJPmZnPMR62f1PE9Pi7nh/nC1bsJt3LT9MB34U231Qa6U= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=citrix.com); dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1668518883289381.37498058870244; Tue, 15 Nov 2022 05:28:03 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.443947.698697 (Exim 4.92) (envelope-from ) id 1ouvyW-0008JP-BO; Tue, 15 Nov 2022 13:27:40 +0000 Received: by outflank-mailman (output) from mailman id 443947.698697; Tue, 15 Nov 2022 13:27:40 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1ouvyW-0008JI-8F; Tue, 15 Nov 2022 13:27:40 +0000 Received: by outflank-mailman (input) for mailman id 443947; Tue, 15 Nov 2022 13:27:38 +0000 Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50] helo=se1-gles-flk1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1ouvyU-00083Z-E2 for xen-devel@lists.xenproject.org; Tue, 15 Nov 2022 13:27:38 +0000 Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com [216.71.155.144]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 44c05f2f-64e9-11ed-8fd2-01056ac49cbb; Tue, 15 Nov 2022 14:27:36 +0100 (CET) Received: from mail-bn8nam12lp2170.outbound.protection.outlook.com (HELO NAM12-BN8-obe.outbound.protection.outlook.com) ([104.47.55.170]) by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256; 15 Nov 2022 08:27:31 -0500 Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11) by SJ0PR03MB6713.namprd03.prod.outlook.com (2603:10b6:a03:404::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5813.17; Tue, 15 Nov 2022 13:27:30 +0000 Received: from SJ0PR03MB6360.namprd03.prod.outlook.com ([fe80::2393:22c1:7766:5caa]) by SJ0PR03MB6360.namprd03.prod.outlook.com ([fe80::2393:22c1:7766:5caa%5]) with mapi id 15.20.5813.016; Tue, 15 Nov 2022 13:27:30 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 44c05f2f-64e9-11ed-8fd2-01056ac49cbb DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=citrix.com; s=securemail; t=1668518856; h=from:to:cc:subject:date:message-id:in-reply-to: references:content-transfer-encoding:mime-version; bh=S8vX3VCUDfWem5EKpM+BWQyIehCHdz/guxow4oRJrXI=; b=HBVXef6piPA0wW8Z850A9PqY8Pos2zxLYOJ66AAe0GTyXuI+xCwGVJri KWYebBqV/5Eu6bIjFK9KvKOImx4SKJ028kXIz1dVqnZ3U7LnKuoFDX9C7 CJlB9uFNcvvYYrw9lkfFP/tNhNFZ4OElWzoJWyr+5vGzcyr80jNP60+ds 0=; X-IronPort-RemoteIP: 104.47.55.170 X-IronPort-MID: 87387759 X-IronPort-Reputation: None X-IronPort-Listener: OutboundMail X-IronPort-SenderGroup: RELAY_O365 X-IronPort-MailFlowPolicy: $RELAYED IronPort-Data: A9a23:N9CVyqy49C4ex4wtv1V6t+fsxyrEfRIJ4+MujC+fZmUNrF6WrkVUz jNOWzuAP/2JY2Wnc48lYI+390JS78KHzN9kGQI4qSAxQypGp/SeCIXCJC8cHc8wwu7rFxs7s ppEOrEsCOhuExcwcz/0auCJQUFUjP3OHfykTbaeYUidfCc8IA85kxVvhuUltYBhhNm9Emult Mj75sbSIzdJ4RYtWo4vw//F+U0HUMja4mtC5AVnPK0T5jcyqlFOZH4hDfDpR5fHatE88t6SH 47r0Ly/92XFyBYhYvvNfmHTKxBirhb6ZGBiu1IOM0SQqkEqSh8ai87XAME0e0ZP4whlqvgqo Dl7WT5cfi9yVkHEsLx1vxC1iEiSN4UekFPMCSDXXcB+UyQq2pYjqhljJBheAGEWxgp4KVp23 KMKIwAUVUmK2fmnyrbqcrM02st2eaEHPKtH0p1h5RfwKK98BLrlE+DN79Ie2yosjMdTG/qYf 9AedTdkcBXHZVtIJ0sTD5U92uyvgxETcRUB8A7T+fVxvjWVlVMpuFTuGIO9ltiiX8Jak1zev mvb12/4HgsbJJqUzj/tHneE1rCUzXykBdN6+LuQzP1hulGRm1EpMSIvDXanpsWwgBTgVIcKQ 6AT0m90xUQoz2S7Q9+4UxCmrXqsuh8HR8EWA+A88BuKyKff/0CeHGdsZh5MbsY38vA/QzMC3 0WM2djuAFRHsreYVHac/be8ti6pNG4eKmpqTS0ZSQoI5fHzrYd1iQjAJv54C7K8hNDxHTD2w hiJoTI4irFVitQEv42k+XjXjjTqoYLGJjPZ/S3SV2Ohqwl/NIisYtXy7UCBtKkYaoGEUlOGo X4I3dCE6/wDBo2MkyrLR/gRGLau5LCONzi0bUNTIqTNPg+FoxaLFb28KhkkTKu1Gq7ooQPUX XI= IronPort-HdrOrdr: A9a23:kka65az7cJ4Uo5TnwszBKrPxTOgkLtp133Aq2lEZdPULSKGlfp GV9sjziyWetN9wYh4dcB67Scu9qBTnhORICOgqTMyftWzd1FdAQ7sSibcKrweBJ8S6zJ8l6U 4CSdkANDSPNykcsS+S2mDRfbcdKZu8gdiVbI/lvgtQpGpRGsRdBmlCe2Wm+hocfng6OXN1Lu vr2uN34x6bPVgHZMWyAXcIG8DFut3wjZrjJTIWGhI97wGKrDWwrJr3CQKR0BsyWy5Ghe5Kyx mOryXJooGY992rwB7V0GHeq7xQhdva09NGQOCcl8QPLT3oqwCwIKBsQaeLsjwZqPymrHwqjN 7PiRE9ONkb0QKbQkiF5T/WnyXw2jcn7HHvjXeenHvYuMT8ABY3EdBIi451egbQrxNIhqA17I t7m0ai87ZHBxLJmyrwo/DOShFRj0Kx5V4vi/QagXBzWZYXLJVRsYsc1kVIF4poJlOy1KkXVM 1VSO3M7vdfdl2XK1jfo2lU2dSpGk8+Gx+XK3Jyz/C94nxzpjRU3kEYzMsQkjMr75QmUaRJ4O zCL+BBiKxOZtV+V9MyOM4xBe+MTkDdSxPFN2yfZX79ErscBn7Lo5nrpJ0o+eCRfoASxpdaou WPbLphjx9zR6vSM7zM4HUSmSq9AllVHA6dhv223qIJ+4EVH9HQQGi+oFNHqbrTnxxQOLyeZx +JAuMnPxbSFxqRJW935XyOZ3ArEwh5bCQ0gKdOZ7vcmLO9FqTa8srmTd30GJ3BVR4ZZ0KXOA pxYNG0HrQM0nyW X-IronPort-AV: E=Sophos;i="5.96,166,1665460800"; d="scan'208";a="87387759" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fUBvsY8hI8yhc3glMmkhueuHC09cv+2q1kCVJ/bmnvLQ8W/g/Jtc6MgNh1wURARLoJxMLjGE+hypEsIz6BwxygpazxCYRyDSKa+k3O+dYMRUKOcpjss4zZDgo3lqjMwj5e/wvqjlvbaQ1DghV3b24A7hVGf3UtdxFB47cloH6HXzL/vJWHSkXeYiaMDYqyucY1W6yyYksNk5QY67/4d5LilL3v2C3fm4hT0RHE5LDvhAeKtbj/HiZOeWYSVhBWP0rHyvFAtU7p4NASkUH8wM6MRpmtoF5YGEWFxRraSodefKrL5ms0kodcDyScdsjOEy6Qafp0BpCO169YoqMxFjRA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=llNWAbVbQKPHFmbKIFdwCSdHk/qh12AMcSXIl4F0egY=; b=mKKqZGfOML2N6UWR2Pq6outp39LHRc7WD3upsxZB6fextTwUkNBPMDFArmvF3S6d/XaDHyO2Yqh6RnvUcCclCET6ZTdlzNPG4sRlSYhy0W+j8Ww7Pwu4xSdJJZL+7cAxeR98FO1fxg72LnME+GVcLUbVzizSj/yBOSLJ69j47J0A003jEAAf4iFha65TzUvO5Ctf8I/lecoC1oaG+qEOSbWUS0qhFsjAR9YUbGt2Q31XPrH/uRS+eRZLJ2LoshaUKx4nzxXX4WyX3/kBIRXeKLlQQvgWE7//fkcwZvkQcAe2LpfcRp3pwO/UyVVmx4r+M0Q8y/TSTGIuPLys/7v1Pw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com; dkim=pass header.d=citrix.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=llNWAbVbQKPHFmbKIFdwCSdHk/qh12AMcSXIl4F0egY=; b=BxvdMRCtCQEnnmX7J8H0UI5KO48C0/Jm2qX9/xeKCGGgWKzFlvnFTpPWr8DN9wwR4iDv4wg0SeWjltOypBf849ebmsL+n9MVHBhTPh3pW+kQCFvVwWoJKp7kD8g8GOkWQEBpmEC+fYHXftob8nYpR3DfL/JntlHRJOJVRU5WwHE= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=citrix.com; From: Roger Pau Monne To: xen-devel@lists.xenproject.org Cc: Henry.Wang@arm.com, Roger Pau Monne , Andrew Cooper , George Dunlap , Jan Beulich , Julien Grall , Stefano Stabellini , Wei Liu Subject: [PATCH for-4.17 v4 1/2] amd/virt_ssbd: set SSBD at vCPU context switch Date: Tue, 15 Nov 2022 14:26:55 +0100 Message-Id: <20221115132657.97864-2-roger.pau@citrix.com> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20221115132657.97864-1-roger.pau@citrix.com> References: <20221115132657.97864-1-roger.pau@citrix.com> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: LO4P265CA0020.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:2ae::16) To SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|SJ0PR03MB6713:EE_ X-MS-Office365-Filtering-Correlation-Id: 3521d0b6-1024-4075-e836-08dac70d2524 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: yfuvDrP6VRYofAzjTqHSu51VBxskf0VogzFATNamuEXoxsueNPVRqZ2lPy3Ht3OSZpXgQhBxU/aQVBk1VGmFoHeZlRXDqtwoERhQhvttp3XPCnuRoxDqxyH9sS/z3wPWusEpJF8UL8SzGzpLU/04qnMIzyziM3JhtKpEQNu+BalTLERroplMvfEOnXKmZtEYRB7lRcBsOAl0/p5pTy09/MPB3XhMYKX6G4gZMI0/L0fQe7OrM7xFRW1ImramtMxcikizm+EhukRyJ3pMKpcTg/kELW74kSe8FM5NeCsrC/zSwYjLMCuA2b2JnD46wUzGPRBu6mgLlM3RqKfVXbLQyErgl7ktIW9pFXGMEeVfe8lgmvdyDmlInGidfF8HugzdhqGRDmtCvmnYoT7uTKNsDwQ21/e9ihS5153Wpc5lsdhveUndX2zXZ8Fl+uFERNThHFcRGSOzvW8Ck4OJFfuufHRk8+vkRDbA7Pk4hC3Y16wTJqcYriG0QKnM2k0ULwxXbpfWYwnjAPOfFVqOcQqdhAzCOG/mUURHutmd5f0iqtd20fYsfNOJspHYX0FORrmFm+PyWu2i+P3YcYlXf5NRGRNnxA0dceE9WWRLJu6NDkroSDM0+qwZcjv5RhLMdIWKU2q5TZxbi12whPLlWNwVmIp27QqfrDovOYGh8aFGIRiYbAOPSRgsYjwCkIeuLa6vRivrkd7r4oIQ+PcRscRIrA== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(376002)(346002)(396003)(136003)(39860400002)(366004)(451199015)(82960400001)(2906002)(66946007)(66556008)(66476007)(38100700002)(5660300002)(36756003)(83380400001)(8936002)(30864003)(41300700001)(8676002)(4326008)(6666004)(478600001)(6506007)(6512007)(54906003)(26005)(2616005)(1076003)(6916009)(186003)(316002)(86362001)(6486002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?RFl0VGhveDhoS3ZUanZpZFVNMUhaSHRmbHpRWDZ2aDdRRlVpeVJ2WGFlbUpM?= =?utf-8?B?M0pJZURZa2F6bzZKWEJyMFYrM0JpTEJOcVhvOGFIUmtQaEk4V3pQQk9taW1r?= =?utf-8?B?bVlYbDh4LzIxM2JQQjBBKzBlQzYySzNKVCtIRGFLdDgveCs4M1BBdTRHTktR?= =?utf-8?B?a25LVTdFcU1VQUUzTmFRd3AzcTB4Ynh3YlBWWXpkZmlwNUN1QjRuLzlMaEZj?= =?utf-8?B?QlBNYk9sUDEvTitOTzQvRXpOTHR6U29uMDVoeG4rSFZDZlk0U3U1TFo2VW56?= =?utf-8?B?T2pYR0dReTdUc0hMRFVnTFRsaDFIT0xCVDdmN09SRURLOTh2Q3NsUHpQd1RY?= =?utf-8?B?TTlDaVMxVnNhdVdnR3FYdE1NQjNPOWlZM3NhSTdXKzgvNmZQaFNWTDk2bkdw?= =?utf-8?B?TitreGdNVVg0SXNTZlJVWlpOZXZIVlVJNUZraTc0Yk5SaEFxNndobjlBRzh1?= =?utf-8?B?bXdEMjN4TUJ4cFI1SU4rNVlyMXU5K2k3bmp2bEFuTWpGaEhZZThIRFI5Ym0y?= =?utf-8?B?NTdKTmlNaFI4dk41OGhFKzdFQm5hSytxK3haQjN4dEVRNW9PQUF1UmY5V0dE?= =?utf-8?B?QW9rcXVIaTFaeGEyeWFtZllkLzMwK2hPRUE4eFFGOGM1dXZzQUUvQUlSNmhG?= =?utf-8?B?SnNwbWZKcmFsQVBnaFhFNWE3MWQrYXJOdmpaMm5pTTJoNFlDN0tKeUozbUJ3?= =?utf-8?B?Nmk5b2RvNG9vb2pqcDBRZTFZdUM0b2YxeHFmdmlCRVovVE94RnJ4L3JvWmpQ?= =?utf-8?B?eDlxWVk3Z21NWXpzMEV5Q0UvdVNXeTNmblE3ZXdhTUdMYVZuU1RUZ1Fpcytr?= =?utf-8?B?U1BndTlLcXR6MXRIaDRLcTFWeXVockc1U3NLWENnNnVFelNmaDFsVmhNd1VX?= =?utf-8?B?d0hsOXA0R2Z4eVdSWWVVdVk4NkZQRzYyT1ZCOUpDbHlQOFhvdEJNZDZUaEk4?= =?utf-8?B?YU9PRW9VK0tZSitNMFo3anN1cUxlR3N3ZGY0clY0aGJ5NTBQUnM3SFRzNE1J?= =?utf-8?B?TTEvQXJzeTRQb2NNL1lHekR6SldCQzFBVm1NSGhWbENnenNiOVpWVjFDZVBy?= =?utf-8?B?N0RHUzdMV1VrQStjblAvR3NqOG9BdGR3S0hhM0t5Tjh6WUQwRFJMcm9xM3lR?= =?utf-8?B?c25ONTVaVGRnZWd4empsZUthNEs3VHJmM2dCcXdYOUhrRW1vYlJnblBCRi9L?= =?utf-8?B?WEVpVWYxcVlvanJmMjd6SXk4a3ZJbEZJMWszWjlDN3RoWk1xTU9Zd3NabFUv?= =?utf-8?B?K2k5WlBna0RvWWJrNHhEWmZ6OTMrUmgwTWpGWjM4bkhPUm5aLzdSVkV2TjYx?= =?utf-8?B?TVpxTGFBL2p4K3gzYm9oZFNLaVFZRDhQUS9rYW9JdTlFc1B1a3FtRE0yNW1O?= =?utf-8?B?WXR1K0xxYkN3c3ByZ2lyb1R5eVY5S3lESFMvbmRoTk9NczcxNTJwVitkMnZR?= =?utf-8?B?MnUvSExRbUpwUFhSU2F5N3htc2lIQXRjbUR5Z2hjWGwrVHZWbXBmbGhQZDhp?= =?utf-8?B?V0pDbitqanJKV2JyYUZqVzhzYlpLS2VSMUd2cjBBaXk5MEZ0dFJKeXorWFY2?= =?utf-8?B?WTNYVmEvQjI3R0ZQbmFqdndzYTgvU2xzcWsrNUEzVG9ZcnU0eDNWQnNXYzBN?= =?utf-8?B?Mmo5ZjBDRkYyRVNBNjljLzFZRWlsRjN4dXJmcTR3NS9KVFQzTTBSSmMrMWxL?= =?utf-8?B?ZHZYWlRRS1hydW5odm5HRnhDZmNNRk4rbTFkZnczR05wY2JrSyt1ekEyYWIr?= =?utf-8?B?ZjlhSUNUZDVLZjdnK2NleTRUTXhMV1l2RlFXM0grcHhVLythcFE5OTA5bytw?= =?utf-8?B?UWpVbTZsWjBuSXdxTUYzdTgvb2psSWxSWUxhelh4K0VXTHByTmpCTGRjbmZp?= =?utf-8?B?V2d3cVlQRnNnRzJMdEgyeEFONXlvbHhBa0N1bG02S1VxYnZHYllMUjRDN0Fx?= =?utf-8?B?MXd1V3ozK2Y3a1hJMm9tSDBVQ1pxUS9CUW56akpDN2hmQlN2MTJmdVBuSXJk?= =?utf-8?B?TDJNRnNqRXorSjdqWjZiRktJaWdDNjhHb2VmdDJvdzV6ZnZ1UDlJcUp6bmtw?= =?utf-8?B?aGdqNVF2QjdYaTUrdkhJTkZoUE4vMXoyUEwxR3NydSs0M285YzduenpQWlhF?= =?utf-8?Q?pggldquZUJ6E3rpkYk5SA0nvd?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: f+Z+B5EMF0ePOQPp8NukjjBoADpHPiGBtgbnhP+wAz61bl5e0QasXgwC7HjARzTmE9BuGdloDZ5M/BiQQeubjbiRSvlZslBcj/eyz+juWI7d8s8E9sIKl50srFpTGwDf6e9zzemJSHO5OSsWh1sDr+Q5jFGW0tJySwoBy70zBudYTXX2O/fZtX7gBh2t9I5t6xNt086eEr/f1IUWfm1NyHUpRP6DCxNwH7GFO1ntwIhpkxMQFltjq3LmlsFRWbftO5Um3ECaqpqGvFeU0UxKuQFk4llLO/USaJmu+InzoaZUA48j18L9SDSoNxBPzx3q1aaE4xDT5HOz76Q2HNqhW/aQNEh06tsAqQCwtptUuiqyhuFrZA7Jt5oIccwuZtnsjqL7Xi9gUCa+XvP+UtS5tznxbR+90myf2Wz0jhSpf5xfUESb83pweu39LGOXDYLfNbqA3iONeGbd1edmtx6kjnS2Hi8C4RutMf/c6S9CebUWqD5ZVO9Bs486091VZTp4GbSFi/OfgSzljs7nJIl2kCElY3tsYGjZ0mCQ2L45vrzy6k7QUXm6APXZh2cVD1LGT4MpXxo8TnRthg38Z4ec+CbYQMDeTdfiUYGq2S/IkP1X/hCBhpsTmAJO/wEdkhSDYjwKRct2jFOIY0bmy40Tilt64gD1a7paTPfJQJbuu7vlZkca8doiEwLro3qmjOMWj0LDN+M2DegO9PpAm8JQNtEpHAnf80bdn/GUd9eDymtd3oCEvZWdf0MiPqeTPPtmdDsJFlw0kM14rT2facaPeVje0Yk/8tsQ6gunk8jL7MB0/EHMjcFhbc33hjEaqAwCUYxMDTjlLQgu/+5Axycesn5jb6IaPfNEK2UodZp2CGwscGaUeE4MPpmZcLyarDyXxDV/a9PBqDWtDT/MabUqhw== X-OriginatorOrg: citrix.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3521d0b6-1024-4075-e836-08dac70d2524 X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Nov 2022 13:27:29.9587 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: xGoCWf0xapzWKk6fgxEeP055HgzjysiZi5eTCyMB0gfybrGHSFeiKWN0fNsCjtee7zgqGvR8+YOmk4lqtSbX2Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB6713 X-ZohoMail-DKIM: pass (identity @citrix.com) X-ZM-MESSAGEID: 1668518885995100004 This fixes an issue with running C code in a GIF=3D0 region, that's problematic when using UBSAN or other instrumentation techniques. The current logic for AMD SSBD context switches it on every vm{entry,exit} if the Xen and guest selections don't match. This is expensive when not using SPEC_CTRL, and hence should be avoided as much as possible. When SSBD is not being set from SPEC_CTRL on AMD don't context switch at vm{entry,exit} and instead only context switch SSBD when switching vCPUs. This has the side effect of running Xen code with the guest selection of SSBD, the documentation is updated to note this behavior. Also note that then when `ssbd` is selected on the command line guest SSBD selection will not have an effect, and the hypervisor will run with SSBD unconditionally enabled when not using SPEC_CTRL itself. As a result of no longer running the code to set SSBD in a GIF=3D0 region the locking of amd_set_legacy_ssbd() can be done using normal spinlocks, and some more checks can be added to assure it works as intended. Finally it's also worth noticing that since the guest SSBD selection is no longer set on vmentry the VIRT_SPEC_MSR handling needs to propagate the value to the hardware as part of handling the wrmsr. Signed-off-by: Roger Pau Monn=C3=A9 Reviewed-by: Jan Beulich --- Changes since v3: - Fix commit message order. - Remove msr.h comment about context switching virt_spec_ctrl. - s/amd_set_ssbd/amd_set_legacy_ssbd/. - Adjust comment about clearing SSBD in svm_ctxt_switch_from(). Changes since v2: - Fix calling set_reg unconditionally. - Fix comment. - Call amd_set_ssbd() from guest_wrmsr(). Changes since v1: - Just check virt_spec_ctrl value !=3D 0 on context switch. - Remove stray asm newline. - Use val in svm_set_reg(). - Fix style in amd.c. - Do not clear ssbd --- docs/misc/xen-command-line.pandoc | 10 +++--- xen/arch/x86/cpu/amd.c | 55 +++++++++++++++++-------------- xen/arch/x86/hvm/svm/entry.S | 6 ---- xen/arch/x86/hvm/svm/svm.c | 45 ++++++++++--------------- xen/arch/x86/include/asm/msr.h | 3 +- xen/arch/x86/msr.c | 9 +++++ 6 files changed, 63 insertions(+), 65 deletions(-) diff --git a/docs/misc/xen-command-line.pandoc b/docs/misc/xen-command-line= .pandoc index 0fbdcb574f..424b12cfb2 100644 --- a/docs/misc/xen-command-line.pandoc +++ b/docs/misc/xen-command-line.pandoc @@ -2372,10 +2372,12 @@ By default, Xen will use STIBP when IBRS is in use = (IBRS implies STIBP), and when hardware hints recommend using it as a blanket setting. =20 On hardware supporting SSBD (Speculative Store Bypass Disable), the `ssbd= =3D` -option can be used to force or prevent Xen using the feature itself. On A= MD -hardware, this is a global option applied at boot, and not virtualised for -guest use. On Intel hardware, the feature is virtualised for guests, -independently of Xen's choice of setting. +option can be used to force or prevent Xen using the feature itself. The +feature is virtualised for guests, independently of Xen's choice of settin= g. +On AMD hardware, disabling Xen SSBD usage on the command line (`ssbd=3D0` = which +is the default value) can lead to Xen running with the guest SSBD selection +depending on hardware support, on the same hardware setting `ssbd=3D1` will +result in SSBD always being enabled, regardless of guest choice. =20 On hardware supporting PSFD (Predictive Store Forwarding Disable), the `ps= fd=3D` option can be used to force or prevent Xen using the feature itself. By diff --git a/xen/arch/x86/cpu/amd.c b/xen/arch/x86/cpu/amd.c index 98c52d0686..a332087604 100644 --- a/xen/arch/x86/cpu/amd.c +++ b/xen/arch/x86/cpu/amd.c @@ -742,7 +742,7 @@ void amd_init_ssbd(const struct cpuinfo_x86 *c) } =20 static struct ssbd_ls_cfg { - bool locked; + spinlock_t lock; unsigned int count; } __cacheline_aligned *ssbd_ls_cfg; static unsigned int __ro_after_init ssbd_max_cores; @@ -753,7 +753,7 @@ bool __init amd_setup_legacy_ssbd(void) unsigned int i; =20 if ((boot_cpu_data.x86 !=3D 0x17 && boot_cpu_data.x86 !=3D 0x18) || - boot_cpu_data.x86_num_siblings <=3D 1) + boot_cpu_data.x86_num_siblings <=3D 1 || opt_ssbd) return true; =20 /* @@ -776,46 +776,51 @@ bool __init amd_setup_legacy_ssbd(void) if (!ssbd_ls_cfg) return false; =20 - if (opt_ssbd) - for (i =3D 0; i < ssbd_max_cores * AMD_FAM17H_MAX_SOCKETS; i++) - /* Set initial state, applies to any (hotplug) CPU. */ - ssbd_ls_cfg[i].count =3D boot_cpu_data.x86_num_siblings; + for (i =3D 0; i < ssbd_max_cores * AMD_FAM17H_MAX_SOCKETS; i++) + spin_lock_init(&ssbd_ls_cfg[i].lock); =20 return true; } =20 -/* - * Executed from GIF=3D=3D0 context: avoid using BUG/ASSERT or other funct= ionality - * that relies on exceptions as those are not expected to run in GIF=3D=3D0 - * context. - */ -void amd_set_legacy_ssbd(bool enable) +static void core_set_legacy_ssbd(bool enable) { const struct cpuinfo_x86 *c =3D ¤t_cpu_data; struct ssbd_ls_cfg *status; + unsigned long flags; =20 if ((c->x86 !=3D 0x17 && c->x86 !=3D 0x18) || c->x86_num_siblings <=3D 1)= { - set_legacy_ssbd(c, enable); + BUG_ON(!set_legacy_ssbd(c, enable)); return; } =20 + BUG_ON(c->phys_proc_id >=3D AMD_FAM17H_MAX_SOCKETS); + BUG_ON(c->cpu_core_id >=3D ssbd_max_cores); status =3D &ssbd_ls_cfg[c->phys_proc_id * ssbd_max_cores + c->cpu_core_id]; =20 - /* - * Open code a very simple spinlock: this function is used with GIF=3D=3D0 - * and different IF values, so would trigger the checklock detector. - * Instead of trying to workaround the detector, use a very simple lock - * implementation: it's better to reduce the amount of code executed - * with GIF=3D=3D0. - */ - while (test_and_set_bool(status->locked)) - cpu_relax(); + spin_lock_irqsave(&status->lock, flags); status->count +=3D enable ? 1 : -1; + ASSERT(status->count <=3D c->x86_num_siblings); if (enable ? status->count =3D=3D 1 : !status->count) - set_legacy_ssbd(c, enable); - barrier(); - write_atomic(&status->locked, false); + BUG_ON(!set_legacy_ssbd(c, enable)); + spin_unlock_irqrestore(&status->lock, flags); +} + +void amd_set_legacy_ssbd(bool enable) +{ + if (opt_ssbd) + /* + * Ignore attempts to turn off SSBD, it's hardcoded on the + * command line. + */ + return; + + if (cpu_has_virt_ssbd) + wrmsr(MSR_VIRT_SPEC_CTRL, enable ? SPEC_CTRL_SSBD : 0, 0); + else if (amd_legacy_ssbd) + core_set_legacy_ssbd(enable); + else + ASSERT_UNREACHABLE(); } =20 /* diff --git a/xen/arch/x86/hvm/svm/entry.S b/xen/arch/x86/hvm/svm/entry.S index a26589aa9a..981cd82e7c 100644 --- a/xen/arch/x86/hvm/svm/entry.S +++ b/xen/arch/x86/hvm/svm/entry.S @@ -59,9 +59,6 @@ __UNLIKELY_END(nsvm_hap) =20 clgi =20 - ALTERNATIVE "", STR(call vmentry_virt_spec_ctrl), \ - X86_FEATURE_VIRT_SC_MSR_HVM - /* WARNING! `ret`, `call *`, `jmp *` not safe beyond this point. */ /* SPEC_CTRL_EXIT_TO_SVM Req: b=3Dcurr %rsp=3Dregs/cpuinfo, = Clob: acd */ .macro svm_vmentry_spec_ctrl @@ -131,9 +128,6 @@ __UNLIKELY_END(nsvm_hap) ALTERNATIVE "", svm_vmexit_spec_ctrl, X86_FEATURE_SC_MSR_HVM /* WARNING! `ret`, `call *`, `jmp *` not safe before this point. */ =20 - ALTERNATIVE "", STR(call vmexit_virt_spec_ctrl), \ - X86_FEATURE_VIRT_SC_MSR_HVM - /* * STGI is executed unconditionally, and is sufficiently serialisi= ng * to safely resolve any Spectre-v1 concerns in the above logic. diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c index 1aeaabcb13..fa73257203 100644 --- a/xen/arch/x86/hvm/svm/svm.c +++ b/xen/arch/x86/hvm/svm/svm.c @@ -973,6 +973,16 @@ static void cf_check svm_ctxt_switch_from(struct vcpu = *v) =20 /* Resume use of ISTs now that the host TR is reinstated. */ enable_each_ist(idt_tables[cpu]); + + /* + * Possibly clear previous guest selection of SSBD if set. Note that + * SPEC_CTRL.SSBD is already handled by svm_vmexit_spec_ctrl. + */ + if ( v->arch.msrs->virt_spec_ctrl.raw & SPEC_CTRL_SSBD ) + { + ASSERT(v->domain->arch.cpuid->extd.virt_ssbd); + amd_set_legacy_ssbd(false); + } } =20 static void cf_check svm_ctxt_switch_to(struct vcpu *v) @@ -1000,6 +1010,13 @@ static void cf_check svm_ctxt_switch_to(struct vcpu = *v) =20 if ( cpu_has_msr_tsc_aux ) wrmsr_tsc_aux(v->arch.msrs->tsc_aux); + + /* Load SSBD if set by the guest. */ + if ( v->arch.msrs->virt_spec_ctrl.raw & SPEC_CTRL_SSBD ) + { + ASSERT(v->domain->arch.cpuid->extd.virt_ssbd); + amd_set_legacy_ssbd(true); + } } =20 static void noreturn cf_check svm_do_resume(void) @@ -3116,34 +3133,6 @@ void svm_vmexit_handler(struct cpu_user_regs *regs) vmcb_set_vintr(vmcb, intr); } =20 -/* Called with GIF=3D0. */ -void vmexit_virt_spec_ctrl(void) -{ - unsigned int val =3D opt_ssbd ? SPEC_CTRL_SSBD : 0; - - if ( val =3D=3D current->arch.msrs->virt_spec_ctrl.raw ) - return; - - if ( cpu_has_virt_ssbd ) - wrmsr(MSR_VIRT_SPEC_CTRL, val, 0); - else - amd_set_legacy_ssbd(val); -} - -/* Called with GIF=3D0. */ -void vmentry_virt_spec_ctrl(void) -{ - unsigned int val =3D current->arch.msrs->virt_spec_ctrl.raw; - - if ( val =3D=3D (opt_ssbd ? SPEC_CTRL_SSBD : 0) ) - return; - - if ( cpu_has_virt_ssbd ) - wrmsr(MSR_VIRT_SPEC_CTRL, val, 0); - else - amd_set_legacy_ssbd(val); -} - /* * Local variables: * mode: C diff --git a/xen/arch/x86/include/asm/msr.h b/xen/arch/x86/include/asm/msr.h index de18e90b2e..3eef1dfb98 100644 --- a/xen/arch/x86/include/asm/msr.h +++ b/xen/arch/x86/include/asm/msr.h @@ -378,8 +378,7 @@ struct vcpu_msrs /* * 0xc001011f - MSR_VIRT_SPEC_CTRL (if !X86_FEATURE_AMD_SSBD) * - * AMD only. Guest selected value, context switched on guest VM - * entry/exit. + * AMD only. Guest selected value. */ struct { uint32_t raw; diff --git a/xen/arch/x86/msr.c b/xen/arch/x86/msr.c index 95416995a5..cf46b18aa6 100644 --- a/xen/arch/x86/msr.c +++ b/xen/arch/x86/msr.c @@ -24,6 +24,7 @@ #include #include =20 +#include #include #include #include @@ -697,7 +698,15 @@ int guest_wrmsr(struct vcpu *v, uint32_t msr, uint64_t= val) msrs->spec_ctrl.raw &=3D ~SPEC_CTRL_SSBD; } else + { msrs->virt_spec_ctrl.raw =3D val & SPEC_CTRL_SSBD; + if ( v =3D=3D curr ) + /* + * Propagate the value to hardware, as it won't be set on = guest + * resume path. + */ + amd_set_legacy_ssbd(val & SPEC_CTRL_SSBD); + } break; =20 case MSR_AMD64_DE_CFG: --=20 2.37.3 From nobody Thu Mar 28 19:03:32 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=citrix.com); dmarc=pass(p=reject dis=none) header.from=citrix.com ARC-Seal: i=2; a=rsa-sha256; t=1668518885; cv=pass; d=zohomail.com; s=zohoarc; b=DA7xR5n7fgaYfJs7gs+PT4Ai1uhUVMLlv+ph5Xx8ssQrvvgaS6X+cko1faDFJGA0U8E2keojC6KVc/cRGVInfygjx8I/W4bRTOAX/zStTEmTf9w+JjAlSjpIC1TtBkWWur6jyF179L3xk7k8dQIZxyaTkG9Qp+C0zgcubyN1fBI= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1668518885; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=ZBqo2QiWYWkQZQXQeC7ooG/JWWPEbzacJedkLW/eU4A=; b=aGYqbKa6aqyYuxeEG3dG4PxGNH9XIqvxwVwnD7ofKMn4FDj5ohtsWsB6TMJs+mR06Wr6ipVqviyZ40hEjpmDdpuW3ZJ5mCtQ+nVQUhSebJPPSuDXovZxNqOi8nCFnBwPkpbKdCzayABvQdtgP3uboFvpm96IrZDXT3bqejBxR4Q= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=citrix.com); dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1668518885269298.45704818667184; Tue, 15 Nov 2022 05:28:05 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.443948.698709 (Exim 4.92) (envelope-from ) id 1ouvyZ-000095-JD; Tue, 15 Nov 2022 13:27:43 +0000 Received: by outflank-mailman (output) from mailman id 443948.698709; Tue, 15 Nov 2022 13:27:43 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1ouvyZ-00008w-Fr; Tue, 15 Nov 2022 13:27:43 +0000 Received: by outflank-mailman (input) for mailman id 443948; Tue, 15 Nov 2022 13:27:41 +0000 Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50] helo=se1-gles-flk1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1ouvyX-00083Z-FB for xen-devel@lists.xenproject.org; Tue, 15 Nov 2022 13:27:41 +0000 Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 45be2609-64e9-11ed-8fd2-01056ac49cbb; Tue, 15 Nov 2022 14:27:39 +0100 (CET) Received: from mail-bn8nam12lp2176.outbound.protection.outlook.com (HELO NAM12-BN8-obe.outbound.protection.outlook.com) ([104.47.55.176]) by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256; 15 Nov 2022 08:27:36 -0500 Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11) by SJ0PR03MB6713.namprd03.prod.outlook.com (2603:10b6:a03:404::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5813.17; Tue, 15 Nov 2022 13:27:34 +0000 Received: from SJ0PR03MB6360.namprd03.prod.outlook.com ([fe80::2393:22c1:7766:5caa]) by SJ0PR03MB6360.namprd03.prod.outlook.com ([fe80::2393:22c1:7766:5caa%5]) with mapi id 15.20.5813.016; Tue, 15 Nov 2022 13:27:34 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 45be2609-64e9-11ed-8fd2-01056ac49cbb DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=citrix.com; s=securemail; t=1668518859; h=from:to:cc:subject:date:message-id:in-reply-to: references:content-transfer-encoding:mime-version; bh=m0LCQ3pgEBmcqIxE+QCQbONxN6i33lfwBBBNYVosPS8=; b=FCI/63CQemdFCK+4QG7aN14CZIHoDoQy+TTqa6J8f3gNJTQ3G1yGxckb PLkSBIJlf3kgVgFVCfx6fOoyoNDGrJy9iFEChtb8j60TbLLyZOF4XsYsu eISTbnjkoXtX5XEDIbRubNEx89SoOrVhBO9yruPU4uG7fZ3bU0b/teJgE A=; X-IronPort-RemoteIP: 104.47.55.176 X-IronPort-MID: 84870987 X-IronPort-Reputation: None X-IronPort-Listener: OutboundMail X-IronPort-SenderGroup: RELAY_O365 X-IronPort-MailFlowPolicy: $RELAYED IronPort-Data: A9a23:WkXF2KjS3YWPsrPQgzRCNSJnX161UxEKZh0ujC45NGQN5FlHY01je htvXzuPbPnbMGT0fdsjb9nk8BwFvpGGyddmHAI4qHtjHigb9cadCdqndUqhZCn6wu8v7q5Ex 55HNoSfdpBcolv0/ErF3m3J9CEkvU2wbuOgTrWCYmUpH1QMpB4J0XpLg/Q+jpNjne+3CgaMv cKai8DEMRqu1iUc3lg8sspvkzsy+qWs0N8klgZmP6oS5QaDzyN94K83fsldEVOpGuG4IcbiL wrz5OnR1n/U+R4rFuSknt7TGqHdauePVeQmoiM+t5mK2nCulARrukoIHKN0hXNsoyeIh7hMJ OBl7vRcf+uL0prkw4zxWzEAe8130DYvFLXveRBTuuTLp6HKnueFL1yDwyjaMKVBktubD12i+ tQGBmonYg6cgNm0g/GJSuRjmNYfDNvkadZ3VnFIlVk1DN4AaLWaGeDgw48d2z09wMdTAfzZe swVLyJ1awjNaAFOPVFRD48imOCvhT/0dDgwRFC9/PJrpTSMilEsluGybrI5efTTLSlRtlyfq W/cuXzwHzkRNcCFyCrD+XWp7gPKtXOnCN1KRe3nnhJsqGKZ10k8DBkUbgS6uf3lqWmSBvZZd 1NBr0LCqoB3riRHVOLVTxC+5XKJoBMYc95RCPEhrhGAzLLO5ASUDXRCSSROAPQGucksVHoV3 1mGt9rzAHpkt7j9YXCX+6qQrDiyETMINmJEbigBJSMa5/HzrYd1iQjAJuuPC4awh9zxXDv2k zaDqXFkg61J1JFVkaKm4VrAnjSg4IDTSRI47RnWWWTj6R5lYImiZMqj7l2zAet8Ebt1h2Kp5 BAs8/VyJshUZX1RvERhmNkwIYw= IronPort-HdrOrdr: A9a23:r581paHdz+lU+gxspLqFiJLXdLJyesId70hD6qkvc3Fom52j/f xGws5x6faVslkssb8b6LK90c67MAnhHP9OkPIs1NKZMDUO11HYSL2KgbGD/9SkIVyGygc/79 YeT0EBMqyWMbESt6+TjmiF+pQbsaG6GciT9JvjJhxWPGRXgs9bnmRE4lHxKDwKeOAKP+tOKL Osou584xawc3Ueacq2QlEDQuj4vtXO0L72fBIcABYjyQ+WyRel8qTzHRS01goXF2on+8ZpzU H11yjCoomzufCyzRHRk0fV8pRtgdPkjvdTGcCWjcARCzP0ziKlfp5oVbGutC085Muv9FEput /RpApIBbU511rhOkWO5Tf90Qjp1zgjr1fk1F+jmHPm5ej0XigzBcZtjZ9QNkKx0TtpgPhMlI Zwm06JvZteCh3N2Az7+tjzThlv0m65u2Arn+I/h2FWFaEedLhSh4oC+149KuZIIAvKrKQcVM V+BsDV4/hbNXuccnDip2FqhOehW3widy32N3Qqi4iw6Xx7jXp5x0wXyIg0hXEb7q8wTJFC+q DtLrlovKsmdL5ZUYtNQMM6BeenAG3ERhzBdEiIJ078Ka0BM3XR77bq/bQO4v2wcpBg9up8pH 34aiIZiYcOQTOsNSXXt6c7sCwlAV/NEQgF8/supqSQ4dbHNf/W2S7qciFdryLvmYRaPiThYY fCBHtnOY6cEYLQI/c54+SHYeg1FZA/arxghj9pYSP4nuv7bqvXi8f8TNH/YJLQLBdMYBKNPp JEZkm/GPl9 X-IronPort-AV: E=Sophos;i="5.96,166,1665460800"; d="scan'208";a="84870987" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=i3MtDTsjz0AlGH7dMMkpDrCzIouYFYcUa8emqub+ITtdzX3S1R7x3vw2QjFAwySmkUt/vFeYRf8j8CFdilAdqmGQLS4iVOvVWl7EKIpSFWAVeBMb2iRWeeUbJSmemvM6lTSdBNRPpF6RjlpsaOkDpkd6wtBs2JpPMbxrcUOgv96da8kL9cgLgDR1l2uZFmeLX/+BxtobHboCxPOtzQ+zYC0qMjqkHTcQSn+sgOr3EiU86/MEjSwVGAln/iZsY6OJXCedmtX2EsY03XoVcQnKZT8bGBs4nNvMNTUaXYtuVZztmpi9kgDQatlcw6ZAsVRs8tTjPCmGWLL1OoY0lHZNdw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=ZBqo2QiWYWkQZQXQeC7ooG/JWWPEbzacJedkLW/eU4A=; b=UYwZSjxJ/HQ3XqpJYJ4xYg8dogLuxt9xoRodDtugw3l/O9P51p15EtVy37tdpuFfQS0ZgKY4uS/wEY35hdypMuj0jghpKPTmCFgBnZhRoOcbvhAi965pgBe0zscxeD3r3P+xo/sge1wIcxhl/k/hV+WCCBjmGvFBkW8m0KqWQNDmFapmixbpJKMxVki/Hh5xURZtqQwz2NN83DxmfHw7ILIumu+pm8eIm3q0of5/fmDbloIX5mV2Zn/i3tq6UY6dX2JQeFwZBmSWe2qRq0KACcPKXgO0Gpb9DhuOJGVMpcRRKwe8LH48xbdLy8NtCUEumd/FZpgkOJqHnEq/k9m8GA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com; dkim=pass header.d=citrix.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ZBqo2QiWYWkQZQXQeC7ooG/JWWPEbzacJedkLW/eU4A=; b=JJFfMDDw6uWec7GtWRvlKX00vILk3boSEbw5Qs4cL+CXHGne/uNIttxFyNmDUtb+2L9CNQ+fGbQbiUh+JbgBgumyFLgOtqeRCaIGmdAPeUiXxmpSF6lirumvjFsseO1n6vfLbzlUqBIGUwzM/BFoHv9sqWIf6v49yrDcg4MJn/Q= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=citrix.com; From: Roger Pau Monne To: xen-devel@lists.xenproject.org Cc: Henry.Wang@arm.com, Roger Pau Monne , Jan Beulich , Andrew Cooper , Wei Liu Subject: [PATCH for-4.17 v4 2/2] amd: remove VIRT_SC_MSR_HVM synthetic feature Date: Tue, 15 Nov 2022 14:26:56 +0100 Message-Id: <20221115132657.97864-3-roger.pau@citrix.com> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20221115132657.97864-1-roger.pau@citrix.com> References: <20221115132657.97864-1-roger.pau@citrix.com> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: LO4P123CA0512.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:272::18) To SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|SJ0PR03MB6713:EE_ X-MS-Office365-Filtering-Correlation-Id: f8c1b6ef-2f52-49ab-9772-08dac70d27e4 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: EHnMRbuw75xfQ9f2frehTFQky7hgmbR93eAHQnM4mcq5YJSupwGFPC00TB6WDipF9lUZuGNSKP+iuNNiFEKVKvDzmX1JN4kFgsMAKg4masZIYeo4RPPp1o6YtF17EWPvpVeA4ETyqLytajMDeusejW4gwnhOd9fjXnYjyfXVV0wHbnsk7RFGsMeAQIcy5l3vP+av4pYr2CbTpsYp9RWBPTqcxdFqZ6icxtXAbIkOU0ZVea2Mr682ZwvB4X8MKxePWm54rY4AEM1sMXPXumBMltngnV5wAWOXJepJubLB7iHrrcqGgDksvplKvXTyI/QmUkBqMrFdO2WY8vcM4nrhnGbvHyyZgeI6I92PeYLR5H4VVCT8DzjlE8QwgEXN54ile6nGsv8SGBA4bAqa/Ug+3JaimOVB3BMakZ7M2ub8zh6Hgxj1goDuATq3Ac0QRFQwU8OhDH3/Fm5ejowhJVYdYbAhfrruqZV1jr1bEGiDCQtW1wLB+3IZNSUmB7MJqTYwVj+cQ5cqaNm0g9LxCo5YFmabfQH0LK2f6UaQrfr1sDT6MZNWh+/W8OdMlUBwv8B7hCIb9E2s4SNkPNaqzsCwD6qAqEGX7EyBzambZapT5Xw0wLBpLL5zT7FynuXaGmhzqaD9S3F5eiaYg9ddXV7Ap193bFHfIc383imFud8XuH01qTOm99hdDd5UIa2ScnQ3HRmMBxRElboIPiAHze8oSg== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(376002)(346002)(396003)(136003)(39860400002)(366004)(451199015)(82960400001)(2906002)(66946007)(66556008)(66476007)(38100700002)(5660300002)(36756003)(83380400001)(8936002)(41300700001)(8676002)(4326008)(6666004)(478600001)(6506007)(6512007)(54906003)(26005)(2616005)(1076003)(6916009)(186003)(316002)(86362001)(6486002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?Z3RJczEzUEYrL3hHY0wydWhZbTZHdHBHZ1NKdE4rczhDSm5ucERDR3phSnJQ?= =?utf-8?B?QWoxS0NmUVZaNVBGSGNvMTNMSzJHZ3JzMXZKM256ZE9EYmc3RlFyRUVkNDI3?= =?utf-8?B?NGpFamZaUkYyY21QK1N1cFBBUjBGcjM3MGd6U3E4RTU2b3d3S1A3aEJrby9B?= =?utf-8?B?c0o1TWNWY2xHQUM3VmhJZ3YranlFb3Z2dHdWc0NaZDJpR3Byc2loajVIUjhj?= =?utf-8?B?Nk4wa3ZBUTVxNklQWTFBNUtxMDY1TWd0QVlJZXh3SWZVZ3AvaStYUkg4bmxV?= =?utf-8?B?anpvcEkyM2tndmpDakhEUGtkYktnbWxqWVYweFhKdUhRaWRxT05KNk53Wkdi?= =?utf-8?B?eFB5emczWlNucVYwZFhKWWowSHVRYStidEVwaitYZStYall5R21HZUwyM2xN?= =?utf-8?B?M2FoSm9ZUEhQdjFOSVlRUithMDl4ai9WYWlnUGNkakJMSmtMcUhNRjlJaUEz?= =?utf-8?B?ZjdyUTNKK0xhNDdSNERta0dHd29Ha0xFOXVJeHMwT3hmWTAxMGhES1RHZ1JH?= =?utf-8?B?REpsNWhqejQ3U1pUdDBMckNObENDVmdlQ0xQdWo2YlBlR2pHeTFmR3pnSi80?= =?utf-8?B?TnpTMDlvdFluWTVGWUNyVVRXOVZxQUlHR0QzclR0LzBMOTdPNGY2SllkOTdG?= =?utf-8?B?YmFhTzAwUmk1NHBjc0Uzem5EeUE3QlBOai9STUxMOHlmdk42aysvZXVJTUFs?= =?utf-8?B?MEVhUkRiNlhyTXdBUkRBSXM5cHZVNVcrTStmOXpwQ01RUm1BR2ppaXM4RUt2?= =?utf-8?B?dUFBMi81MkNhUjJLVGxmbjd6OXpiWlZmNy9VU2U3RDk5RDFQTmwvRFViOHpQ?= =?utf-8?B?b2djSCtaRkxMOXJINDZUNGtXeTdRaU85dWlJVzYvU3RFVnBhdGhnOHhTMHJ3?= =?utf-8?B?bGlkLzNrTVhNbHRUbWNiOXRSZ1BCVVUrRVZwTEUrWGF2b0VhR1cramZUY1F6?= =?utf-8?B?aEM4ZVBkYWFnOVRLQnJoa0lrMVlGK3Vld2h6Z3E4N25RME84VDUwc2dtcTlC?= =?utf-8?B?RzdMaUVVNjlmYmNNY0dKOU9HanZSMmNtYlRnZVdHNXBFTS9saUVoRGtvMGQy?= =?utf-8?B?YXNaT0srWUN3NlpJR2hIbU5aWHJTNFhqR05IejNFME1jOGNDU2NZUUZYemdC?= =?utf-8?B?cHhBb0xOVm5DOEFFcm5PUUtyZjE0RWdoYlpSL1BWTER2eFY4cytFSHRFR3Vx?= =?utf-8?B?RWRwR3RGeEJKQ2RMTEliS01GeUJhWWNOcWw4QUtqOU5LVjlvWVR2TGRaWFdX?= =?utf-8?B?L0h2aE53ZXh2YjFwZkVqN2tud1FrV1ozY2FEajQ1akdxSytDd1llcTI1QUJo?= =?utf-8?B?S25YKzhNSTFuZS80NkVhV3QwcXVVQXB6VXA5NDRIYk5kc21jL1lPRGZzV3Zr?= =?utf-8?B?TVpsUUFIMjg4KzhUV3ZVbWE4WmhpZUhJZVI4cTJtMjg2NzJDdHdNM3QzT3dl?= =?utf-8?B?L2FLdTFjMzUxMlErVDBMR09tTUkvU3ZnOWRLelptby91MU12cElzR2JSNkcr?= =?utf-8?B?S1ZzYUk3TmoyMnpMRk5EYVdmQW0rMTRTcVl5b0s4djNCUnlJMkVPRndmbDhZ?= =?utf-8?B?eDZ0TzYyNUJLN1U3OXAvZHhqSVZzdlFZMExjZmVlbzU4bFFTTTFEeE1MWEJj?= =?utf-8?B?elI2akV1LzhRaEJ4RlgyU1Y0N1JqNTJCZkkyTS96cVFRbE0zWEFKQWtreUJU?= =?utf-8?B?dktLZTY1a016QUdlY3FEcmxjdUxhdGxVRlF3ZlgyY0JXYk9zd3JFU0tlSi9a?= =?utf-8?B?TSszZG5ScW9oSTVrT0FtZzhRZ1AydkNSS2h0eGxIcWExaUtVeWtHOENvOVZI?= =?utf-8?B?ejZsNlppUmVRYkZaOURySDAwRDhDdkhOUHhGVDVyMGs5NXVNV1hYWTd1WXlM?= =?utf-8?B?Ykdudi8yK0VUdEU2NzNrMG1oNDZvakpQUlJXU0p2dnF4bmxxTTRXUlc3cjU2?= =?utf-8?B?Y0NKNFVXNkJkN1Y3QmZpZWVPdjJpQyswME0rVHprbjAzcWcyOEJoZkpwR0Jr?= =?utf-8?B?Tkg5L05pN0tWSHFFcVVNZkRJN2pHUTU2UFA5N2ljOVBiNjZxM0x2SXdLcGRs?= =?utf-8?B?dThDS0dzODFmR2pQYWNtUm5rcUxGZ2Q4MGdjZGJLYTFEN3dsQUlnUHQyeXlJ?= =?utf-8?Q?fVK/SBUQK80uZDx1Gfgs0Xfx1?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: PfLftu1DsiVrjdnvtdKG0TU1RdLkV5qDrPP2dgVPRn2C3WQkQ4IxZGlh1W5PXa6oEZE2jF1ifrOh3rlxh0oj4a4Ot2Aw0lJtW1BCucztbQf0UT2lgjN8UK4bFBBTZIG3qqLlt0zGhw8Tlio04r+2X+1y4aaUztri/YGtzz+MGm42SzZhf7PF0pjEU6eGIdSHgh0HiMDyh0CqxCQzm1qTzw8l1zbLos6iwkYMNiFpOXsR7WZEQyZSbuwYxqGlX6M9tbqEEkBfHKJpw3QwWT2HNhEhV7tiVac824PMma2u6+8HW0qP/zBeEf/3lK/LL56FGFJuRmlDRDvt6c8qZ4VlAuioB1fgtww7eu0DjbaJXHnE7abXJP8UnoyXp5tAGfbQwK3oMdgGp6NZrM4pAq11hrUbqWxNUXE4z0J5XmA8wNAmRu9zTXiEqQAQhUFISkRv48I2XjozHqtGmeZrt4G1EMkgFnbjYWQurzChjOilA8mjOK9Tq/A/zuc75DEctIEXjPKWrQZwXb11z5Ci3wmIqs5fAWCDguqaw7rvX2SwVEv13eMLiI7zXwpWMiuE5pAvhjQ0DVA86qMuQhudi6enNBlPW8am4RmI9Y25EV0S3DC6hYp33O1wJYs8TCR+2i29lbIEl/fpl3NKzHWirUd9Dzlbu1d67i7xNcUPAVjU04Z28gmQJ8mhdRAJfsXLZXYbEA7OSAP7TO7WtfIg8yTpK52KeNjhak3kgt/YDuNwkKZqffgYmghAYO1VZsUCbn2romY2Ffd26N2kI0jRk+CCajNT5vLe8PTERJeVItD1I5s4iX7SqDX1q3QO/FLzvsJa9zz88GWaZX44dTSFVKs3YLRKLz4eaTyNkHu4Yg7BwnQ= X-OriginatorOrg: citrix.com X-MS-Exchange-CrossTenant-Network-Message-Id: f8c1b6ef-2f52-49ab-9772-08dac70d27e4 X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Nov 2022 13:27:34.6953 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 6QmPzw/4AaajLG9wqwhkTQcPj4JRP4cxHQ36WmZ9d3HVKCp6UlwpfZCjIDUjhIDtm/4scoNLECGON79OBptdOg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB6713 X-ZohoMail-DKIM: pass (identity @citrix.com) X-ZM-MESSAGEID: 1668518885964100002 Since the VIRT_SPEC_CTRL.SSBD selection is no longer context switched on vm{entry,exit} there's no need to use a synthetic feature bit for it anymore. Remove the bit and instead use a global variable. No functional change intended. Signed-off-by: Roger Pau Monn=C3=A9 Reviewed-by: Jan Beulich Release-acked-by: Henry Wang --- xen/arch/x86/cpu/amd.c | 1 + xen/arch/x86/cpuid.c | 9 +++++---- xen/arch/x86/include/asm/amd.h | 1 + xen/arch/x86/include/asm/cpufeatures.h | 2 +- xen/arch/x86/spec_ctrl.c | 8 ++++---- 5 files changed, 12 insertions(+), 9 deletions(-) diff --git a/xen/arch/x86/cpu/amd.c b/xen/arch/x86/cpu/amd.c index a332087604..9e3b9094d3 100644 --- a/xen/arch/x86/cpu/amd.c +++ b/xen/arch/x86/cpu/amd.c @@ -49,6 +49,7 @@ boolean_param("allow_unsafe", opt_allow_unsafe); /* Signal whether the ACPI C1E quirk is required. */ bool __read_mostly amd_acpi_c1e_quirk; bool __ro_after_init amd_legacy_ssbd; +bool __ro_after_init amd_virt_spec_ctrl; =20 static inline int rdmsr_amd_safe(unsigned int msr, unsigned int *lo, unsigned int *hi) diff --git a/xen/arch/x86/cpuid.c b/xen/arch/x86/cpuid.c index 822f9ace10..acc2f606ce 100644 --- a/xen/arch/x86/cpuid.c +++ b/xen/arch/x86/cpuid.c @@ -3,6 +3,7 @@ #include #include #include +#include #include #include #include @@ -543,9 +544,9 @@ static void __init calculate_hvm_max_policy(void) =20 /* * VIRT_SSBD is exposed in the default policy as a result of - * VIRT_SC_MSR_HVM being set, it also needs exposing in the max policy. + * amd_virt_spec_ctrl being set, it also needs exposing in the max pol= icy. */ - if ( boot_cpu_has(X86_FEATURE_VIRT_SC_MSR_HVM) ) + if ( amd_virt_spec_ctrl ) __set_bit(X86_FEATURE_VIRT_SSBD, hvm_featureset); =20 /* @@ -606,9 +607,9 @@ static void __init calculate_hvm_def_policy(void) =20 /* * Only expose VIRT_SSBD if AMD_SSBD is not available, and thus - * VIRT_SC_MSR_HVM is set. + * amd_virt_spec_ctrl is set. */ - if ( boot_cpu_has(X86_FEATURE_VIRT_SC_MSR_HVM) ) + if ( amd_virt_spec_ctrl ) __set_bit(X86_FEATURE_VIRT_SSBD, hvm_featureset); =20 sanitise_featureset(hvm_featureset); diff --git a/xen/arch/x86/include/asm/amd.h b/xen/arch/x86/include/asm/amd.h index 6a42f68542..a975d3de26 100644 --- a/xen/arch/x86/include/asm/amd.h +++ b/xen/arch/x86/include/asm/amd.h @@ -152,6 +152,7 @@ extern bool amd_acpi_c1e_quirk; void amd_check_disable_c1e(unsigned int port, u8 value); =20 extern bool amd_legacy_ssbd; +extern bool amd_virt_spec_ctrl; bool amd_setup_legacy_ssbd(void); void amd_set_legacy_ssbd(bool enable); =20 diff --git a/xen/arch/x86/include/asm/cpufeatures.h b/xen/arch/x86/include/= asm/cpufeatures.h index 3895de4faf..efd3a667ef 100644 --- a/xen/arch/x86/include/asm/cpufeatures.h +++ b/xen/arch/x86/include/asm/cpufeatures.h @@ -24,7 +24,7 @@ XEN_CPUFEATURE(APERFMPERF, X86_SYNTH( 8)) /* APERF= MPERF */ XEN_CPUFEATURE(MFENCE_RDTSC, X86_SYNTH( 9)) /* MFENCE synchronizes RD= TSC */ XEN_CPUFEATURE(XEN_SMEP, X86_SYNTH(10)) /* SMEP gets used by Xen = itself */ XEN_CPUFEATURE(XEN_SMAP, X86_SYNTH(11)) /* SMAP gets used by Xen = itself */ -XEN_CPUFEATURE(VIRT_SC_MSR_HVM, X86_SYNTH(12)) /* MSR_VIRT_SPEC_CTRL exp= osed to HVM */ +/* Bit 12 unused. */ XEN_CPUFEATURE(IND_THUNK_LFENCE, X86_SYNTH(13)) /* Use IND_THUNK_LFENCE */ XEN_CPUFEATURE(IND_THUNK_JMP, X86_SYNTH(14)) /* Use IND_THUNK_JMP */ XEN_CPUFEATURE(SC_NO_BRANCH_HARDEN, X86_SYNTH(15)) /* (Disable) Conditiona= l branch hardening */ diff --git a/xen/arch/x86/spec_ctrl.c b/xen/arch/x86/spec_ctrl.c index 4e53056624..0b94af6b86 100644 --- a/xen/arch/x86/spec_ctrl.c +++ b/xen/arch/x86/spec_ctrl.c @@ -514,12 +514,12 @@ static void __init print_details(enum ind_thunk thunk= , uint64_t caps) (boot_cpu_has(X86_FEATURE_SC_MSR_HVM) || boot_cpu_has(X86_FEATURE_SC_RSB_HVM) || boot_cpu_has(X86_FEATURE_IBPB_ENTRY_HVM) || - boot_cpu_has(X86_FEATURE_VIRT_SC_MSR_HVM) || + amd_virt_spec_ctrl || opt_eager_fpu || opt_md_clear_hvm) ? "" : = " None", boot_cpu_has(X86_FEATURE_SC_MSR_HVM) ? " MSR_SPEC_CTRL" : = "", (boot_cpu_has(X86_FEATURE_SC_MSR_HVM) || - boot_cpu_has(X86_FEATURE_VIRT_SC_MSR_HVM)) ? " MSR_VIRT_SPEC_C= TRL" - : "", + amd_virt_spec_ctrl) ? " MSR_VIRT_SPEC_CTR= L" + : "", boot_cpu_has(X86_FEATURE_SC_RSB_HVM) ? " RSB" : = "", opt_eager_fpu ? " EAGER_FPU" : = "", opt_md_clear_hvm ? " MD_CLEAR" : = "", @@ -1247,7 +1247,7 @@ void __init init_speculation_mitigations(void) /* Support VIRT_SPEC_CTRL.SSBD if AMD_SSBD is not available. */ if ( opt_msr_sc_hvm && !cpu_has_amd_ssbd && (cpu_has_virt_ssbd || (amd_legacy_ssbd && amd_setup_legacy_ssbd()= )) ) - setup_force_cpu_cap(X86_FEATURE_VIRT_SC_MSR_HVM); + amd_virt_spec_ctrl =3D true; =20 /* Figure out default_xen_spec_ctrl. */ if ( has_spec_ctrl && ibrs ) --=20 2.37.3