From nobody Fri May 17 09:18:39 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=1665504984; cv=pass; d=zohomail.com; s=zohoarc; b=ghXi1DyBzsVSCQBv1cf/4sOfzWlHFMKZvOwbnyhgTybf48e+JQ1AXvTx3LvLasmXrausItITIFMTggEeFmx/dxZGNdPBDtfm1dVMzyBO2zhHb1vTpLs7BsvxGnPMFMHB4dCd7hw+NAvZuDUBXPE1Wsx/DscAq7QS3fQb/XhaT3M= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1665504984; 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=bWS8sZqxQqNjj3kC11vQty6DTyEgLxdM96zPK2XwtGA=; b=n6MTqNdhCtexqBHbCxKcJHZm2FTM00jke7dV+xrPgAMRHTjBFkHZMRKtFfA+CfP2tKhtV8z+fucozG87LP1JJD1fcpI65hg+pBc0n4yca5XqNlBSsm1SgF4PEpHd40T/THILet5UtjHl22GwlsgQfl+SJF8YQX/yPXjuHGvJP3s= 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 1665504984414223.90083307905763; Tue, 11 Oct 2022 09:16:24 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.420426.665251 (Exim 4.92) (envelope-from ) id 1oiHvB-00047A-N1; Tue, 11 Oct 2022 16:15:57 +0000 Received: by outflank-mailman (output) from mailman id 420426.665251; Tue, 11 Oct 2022 16:15:57 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1oiHvB-000473-K2; Tue, 11 Oct 2022 16:15:57 +0000 Received: by outflank-mailman (input) for mailman id 420426; Tue, 11 Oct 2022 16:15:56 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1oiHlL-0000OR-Uf for xen-devel@lists.xenproject.org; Tue, 11 Oct 2022 16:05:48 +0000 Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com [216.71.145.142]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 8f27c28c-497e-11ed-91b4-6bf2151ebd3b; Tue, 11 Oct 2022 18:05:46 +0200 (CEST) Received: from mail-mw2nam12lp2048.outbound.protection.outlook.com (HELO NAM12-MW2-obe.outbound.protection.outlook.com) ([104.47.66.48]) by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256; 11 Oct 2022 12:04:08 -0400 Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11) by SA2PR03MB5769.namprd03.prod.outlook.com (2603:10b6:806:11b::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5709.21; Tue, 11 Oct 2022 16:04:06 +0000 Received: from SJ0PR03MB6360.namprd03.prod.outlook.com ([fe80::861e:b46c:1acc:c576]) by SJ0PR03MB6360.namprd03.prod.outlook.com ([fe80::861e:b46c:1acc:c576%6]) with mapi id 15.20.5709.015; Tue, 11 Oct 2022 16:04:06 +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: 8f27c28c-497e-11ed-91b4-6bf2151ebd3b DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=citrix.com; s=securemail; t=1665504346; h=from:to:cc:subject:date:message-id:in-reply-to: references:content-transfer-encoding:mime-version; bh=lgz/WGO6rZZcxY5NBE3oZRmF8PNamyCzYRjCRBsXCds=; b=OuAF7PuJwEKfiJsHtCwhHS6ivkdEtHIpW2z1t5ssQimhVsXIjcpz6SJV 0uHGDep3uIG++r3i8tJLlfnID9vUsOGLSl2tQj0ih7xI4U8jzofX9aXyA k846lJy0sbATagHDPLIfEu6+7HUAobd4rrUYezOsnJHS28h0BEWmiopkS g=; X-IronPort-RemoteIP: 104.47.66.48 X-IronPort-MID: 82907556 X-IronPort-Reputation: None X-IronPort-Listener: OutboundMail X-IronPort-SenderGroup: RELAY_O365 X-IronPort-MailFlowPolicy: $RELAYED IronPort-Data: A9a23:ktAw06n/DiHhRdkyp22qL9Lo5gy3J0RdPkR7XQ2eYbSJt1+Wr1Gzt xIfWDjSPvePNmGkKI10PYXg8hsB65CBmtQxTlFsrHwxHyMWpZLJC+rCIxarNUt+DCFhoGFPt JxCN4aafKjYaleG+39B55C49SEUOZmgH+a6UqicUsxIbVcMYD87jh5+kPIOjIdtgNyoayuAo tq3qMDEULOf82cc3lk8tuTS9XuDgNyo4GlC5wRnPKgR1LPjvyJ94Kw3dPnZw0TQGuG4LsbiL 87fwbew+H/u/htFIrtJRZ6iLyXm6paLVeS/oiI+t5qK23CulQRrukoPD9IOaF8/ttm8t4sZJ OOhF3CHYVxB0qXkwIzxWvTDes10FfUuFLTveRBTvSEPpqFvnrSFL/hGVSkL0YMkFulfUGoJ3 qYGdWAxXjfcgMaM+Y6bTPhVv5F2RCXrFNt3VnBI6xj8VKxjZK+ZBqLA6JlfwSs6gd1IEbDGf c0FZDFzbRPGJRpSJlMQD5F4l+Ct7pX9W2QA9BTJ+uxpvS6PnGSd05C0WDbRUsaNSshP2F6Ru 0rN/njjAwFcP9uaodaA2iL217eQwH6lMG4UPJGDzaZuhG+D/Tw0Ex9RD1a38PK6hmfrDrqzL GRRoELCt5Ma5EGtC9XwQRC8iHqFpQIHHcpdFfUg7wOAwbaS5ByWbkAkQzhbeZoZvck5bTUw0 xmCmNaBLT5lvaCRSHmd3qyJtj70Mi8QRUcdYQcUQA1D5MPsyLzflTrKR9dnVauq1Nv8HGiqx yjQ9HRuwbIOkcQMyqO3u0jdhC6hrYTISQhz4RjLWmWi7UVyY4vNi5GU1GU3JM1odO6xJmRtd lBdypb2ADwmZX1VqBGwfQ== IronPort-HdrOrdr: A9a23:0R1vB6iDzAKgUfEjIkw6gO1V83BQX0F13DAbv31ZSRFFG/FwyP rCoB1L73XJYWgqM03I+eruBEBPewK/yXcT2/hqAV7CZnichILMFu1fBOTZslnd8kHFltK1kJ 0QCpSWa+eAcmSS8/yKhzVQeuxIqLfnzEnrv5an854Ed3AXV0gK1XYdNu/0KDwUeOEQbqBJaa Z0q/A30QaISDAyVICWF3MFV+/Mq5nik4/nWwcPA1oC5BOVhT2lxbbmG1zAty1uGw9n8PMHyy zoggb57qKsv7WSzQLd7Xba69BzlMH6wtVOKcSQgow+KynqiCyveIN9Mofy9QwdkaWK0hIHgd PMqxAvM4Ba7G7QRHi8pV/X1wzpwF8Vmgrf4G7dpUGmjd3yRTo8BcYEr5leaAHl500pu8w5+L 5X3kqC3qAnQS/orWDY3ZzlRhtqnk27rT4JiugIlUFSVoMYdft4sZEfxkVIC50NdRiKpbzPKN MeQv002cwmMG9zNxvizylSKZ2XLz4O9y69Mwc/Upf/6UkUoJh7p3FotvD30E1wtq7VcKM0l9 gsAp4Y6o2mcfVmHJ6VfN1xJ/dfKla9NS4kY1jiVmjPJeUgB0/njaLRzfEc2NyKEaZ4v6fa3q 6xG29liQ== X-IronPort-AV: E=Sophos;i="5.95,176,1661832000"; d="scan'208";a="82907556" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jl+buQGtwI2MurLh9L+YAB4FgDdkKLpt7Idxva4/91C5iP/jzbTBPzmWjCmVX1W9sZxdmDLfRLKS6GsXBZHlCSpuyjcmJw5BxoceYaiQP0+3bNcS6qrulUQO/W8BwhNJAqLKwu2Hev+PP8PQfNReTCQACwDM78W1c0lHEXM9sB4JDhs6mz5t7AZJPFqR4/dkBH2s6EvxI/lg4mhhYqVFKqGEpVMWRRZE5SefI3UHymKXcCn/mQY2Doc3u0d7FymF0o2sOptRVDvMtjdgfBbxS7GCLhU4zNlAztYcYQvhcGKDNmb27M0BsgrMh12fETSznSW86rns2PmdZVdE13OUUA== 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=bWS8sZqxQqNjj3kC11vQty6DTyEgLxdM96zPK2XwtGA=; b=T0OmC4qLDyG4mfYwW9S+IZbVgQNvaJNnh7Mb8fc1ED48DfaaSm4N2rfEAqVS5fXExecHuhXb3ChUHHtH78na1btNwho4neaUByzwz/lhNUaCfZbwDP6G3/dr9a3gx9ayWrmFefmMiTh6eivLahHxJEilBQxOxnWI3reqGvkKKfNxhPlBWtTHsSedvZf/ItvzwBYAHAdYdKdqSZywYWHOCmJpKYIk8ac98fLk8D/g0Q6alNg03GdVrUCboHKnQ+T3PJCTYfJQGlybl//aBJkKECA9iO7N/cXurHfY20qi5mK8J4dnO/WJq9hlEdu+fFiXQcG1ySKljsdBiUdW4KH/vA== 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=bWS8sZqxQqNjj3kC11vQty6DTyEgLxdM96zPK2XwtGA=; b=m3+FNu4hSIpFjgw8tmc9XFFRN48UCUxnRmE8co5QEIlexOUscVmEpntloVI7wBSfG6ao3QH5iCUqxFkPiGGPx/fDajCTcUY00wzv8HowmOaLrs78sECT9PF6vN/S/kL5aqJ04qlKcXym3azEUJZduKJo1XthzPWgvFLT+JOWjqY= 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 1/4] amd/virt_ssbd: set SSBD at vCPU context switch Date: Tue, 11 Oct 2022 18:02:42 +0200 Message-Id: <20221011160245.56735-2-roger.pau@citrix.com> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20221011160245.56735-1-roger.pau@citrix.com> References: <20221011160245.56735-1-roger.pau@citrix.com> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: LO6P123CA0047.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:310::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_|SA2PR03MB5769:EE_ X-MS-Office365-Filtering-Correlation-Id: 690056f4-3f94-4648-57c9-08daaba2397b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: jb56XMXcBPBAObEpiAJjySbz14te1MQdqpf0IbZihkLqBA5Jo98RIr+vnfLaw0PkG8LU/gV9V2ftKkjzANRyuipsbdALytQSqjTx4zW0Sg32qmvRspB2KjH/qEieiKCT/I7grPXsk4LB8YtFSLuiqG3GQcUHZyHtDNdWWWmkitZyOZ9w/ZMEwvBY2A8u7wCjZ3ZTM/tLBFmXHN9BDE/qwvJUblLkG4VuiVgkztxOmMS7epJ9boE/1hMsIBDUy7y4CpeB9tP9vdCn9gstFY8sLRxsGzR25j1BzioyiIjEWs2hY6BEKJsoOkork6sDzQT47ObgqCqPw/Gje+3dYi+qiaz0xhXvtNmucDqdnFsJGi6TPFw8uuN21ICvK21Hz0GC7cmSbjZ1u1oKQoUTmA5atk4KJ6vVXTlek/AruXIwob6go23UUsON8I8LYgaxssRVibbHeppMogvHcKpHRUj54PaFE9CmIOm0gPYmQ62d+znptiTZvaZyYrm+I+kJHeo23Gn54eYcpNgISbtxwFBb0+WGc8btMFimerehO+U6uW8oNbGIp0EkGkX0PE8rFfvwW1fzU1tQWJOykwPtePec/XsdBt113wkTi8eWmWhGUJ1z9IKSPFyL0jSnNXflx/NNktV4ibjGzxdwXgtwxVESf+1ExBMm6YF0aqKhAgvYOXzQTL1G/+jK2cMBar+TjdcTxqgSriVqQ07mbOHbi/l8yg== 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)(346002)(136003)(376002)(396003)(366004)(39860400002)(451199015)(36756003)(86362001)(83380400001)(5660300002)(38100700002)(82960400001)(2616005)(186003)(1076003)(6512007)(6506007)(6486002)(6666004)(26005)(478600001)(54906003)(6916009)(8676002)(66946007)(66556008)(66476007)(316002)(8936002)(41300700001)(2906002)(4326008);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?NExLOHNEc3ppdmJKMVdraGwySzVSQXN4RXI5cnNnRUpoeGVUM2pJZVo5Q0dx?= =?utf-8?B?SW5TbXZVVWV2TTlNQTBqQVpXWXRJTGpNVC9lQXBJbEVHTk5xUFV2bDJvUTFS?= =?utf-8?B?d3VLR0hTYUNlOGhLZ3E0RW52WHd3SmlJd1psUWtDL0hHVGREY3FxN3JlVS95?= =?utf-8?B?Ly85cWRSWTZvL0lxTEp0S1k4ODBVMDNaeThYRXU5NmxDNnhydE1SSkUyTThl?= =?utf-8?B?REdzckZxVk02Nm5ZTVBQSWU1UFRrWVBjcElaUXVGSlY3dWh0WmRqRUtZQU1Q?= =?utf-8?B?V0tVM1Zsa29KdVJDUGR6VHJ2Y3ltWGhSdHB4ZkZzdlBua2Y2VHlKWkQ0Q09O?= =?utf-8?B?OGlWakt6WDhyQXI1RFlFaGkzVm5ITnBnQjBzMHBXOCtsVUpkbTdzQWxzWkdv?= =?utf-8?B?Y01La3BQQzg0MlpoZkhFN08vUGhiSmJWajVkK2tyZDJMSHYwQ1ZndDUwVExt?= =?utf-8?B?ZmRML1Vxc3A2S1NLcXNWcFc4S2t1Z1JYVktvdzI3R2VUcmlJaEJsWGVObS9G?= =?utf-8?B?WlkrZC9jNUpidHVQQVl4cCs3cjdoQjNWZjRTc3dQZHVzNVdIRHExSDEzbWZp?= =?utf-8?B?WXFwVFNqaXZwcFlWVE9oYWI4aFlUR1hBMGNDUTRkbGtBcysxVFpNeGZCcnR5?= =?utf-8?B?L0YrVmdXajRNb2VSdDFXbG5zSENCMHdYSDIvR3QwRDJSdld3b2NYdGVMa2Y0?= =?utf-8?B?c2VLZ0U3UGJSNnZFTVlpbTJUT1lRMkdEa1E3OXYya0FWU0tDM3d0VmpSZHB0?= =?utf-8?B?aTlUNENHL2R6YXppQUNTMHhWTW1QNHF3UjQwNHJwS3ErK1pydE91VzU0ZU8y?= =?utf-8?B?N0F6ZmcrYVJ5Y3NTeGVBVFhpbTdUYWlGVCtOQWtNSGZZVXdSWVFCZUJKY3p5?= =?utf-8?B?cTlXaHUyWVRCMjY3OFhKYkM1Q3BBRC9Fc2hWRFVvVzhtZnZubzROUDBMSjNJ?= =?utf-8?B?UmRIc3pJclhuclU4a3VBbGU0blV4dHBSTlFLVi9KVFE4eWZvSXc4aVAyVW0w?= =?utf-8?B?VXhYUlIwcmxnaDREUE1VUzlENnEvdy9lM0tjdHIrcEt1YjFudDhOSUFVUlhx?= =?utf-8?B?VUZKbFBjbWxkdUtsNlVsdkxZbDZNYTB0aHdCUVpDeW15a2JvRmFHUlZ1UnVQ?= =?utf-8?B?MlliMkVpblR4TjhTeFVzL0Z0K29qVTMybWYzdFFmSCtBWWJnM0tpdmEzeEhr?= =?utf-8?B?U1VJekt2WmpMWVZtczl1ek0yVG1ocllQNVhPMk9QNkwzdzRBRDJrcEhBdldE?= =?utf-8?B?aERYMmNDYWJDYUVLTG90aG1pRHRRaFJLdnZzZXU5enF1ZFJneW9FYURMS21l?= =?utf-8?B?dWlwUVdRR2llOUhLaVo0Uk9CWWU0T1FhNlNUUnA5K0JvL3V5RFBwK1c5NTVL?= =?utf-8?B?b3NWejVSb3M3NDVxemg5eWxYcUlhVk5KcTQzVXJhZEh6aVUvaEEwUkdTekRo?= =?utf-8?B?M2VXM0RwaUdHOHpiK1p5WXlOQ3BNWWYwd2hPSUlPSW5iTndiVHBGdloySzAr?= =?utf-8?B?dnVKdHlzRzNQc1dEVDdSTGUvWkFUWldOOHZycDNGTHRCYTN3NTJyS2NRUTlU?= =?utf-8?B?M3lsL0pOVGJqR1NBelZtREM5UCtzaXVoMWlqOVBDbUU1UmN2ME5KWmZtRTRX?= =?utf-8?B?UUw4UE42RGU3ZUJxa3htK2kxNDdmMmpUMVdEeUtMODZLTEk2SFZLMHhGbzN3?= =?utf-8?B?NU04VWdmQ0hZSDFma2g0aXFRM2U4eHpRaTVJZ012SVZ1TGtlSmVhUUU5WXZk?= =?utf-8?B?NHBsbGNxSzF2OEhOUm9FUC95ZFRsUlJ0VDUzNXRvTHlwYnNIQ2E2cmN0blN3?= =?utf-8?B?RzZUMUdoNkNiSlpqZ2pyVk5RN1d5T29USHJLOCtaK1h0YzVpeHh2NWNBQUkz?= =?utf-8?B?V05zL3ltM3hIOEtwQ3p2dlVtUFgvZnV1bHVYVlRFck5BYjhOdzQ2YjlRT1I4?= =?utf-8?B?aUdjNndTa0UvNUhqUlB2bUM2UHJCSStZVExVTzI5SUxWUVFncWJXaDl4ZEk0?= =?utf-8?B?dnBYcjArRDhvYVdaOEpJdGZ4c293K0RhbCtKRmJKdnRIMUtjdjFiMzFYZW1m?= =?utf-8?B?T1lEUXUyMUE2cjJteityakpvM1h2ZmhVNVMxRWRrZEFDbTlUWXkzZDVtcnlK?= =?utf-8?Q?z7UVCKhPjHPr6EUrdxuSM/7bN?= X-OriginatorOrg: citrix.com X-MS-Exchange-CrossTenant-Network-Message-Id: 690056f4-3f94-4648-57c9-08daaba2397b X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Oct 2022 16:04:06.7219 (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: XY7WKD2QERFZtJupM8JqBZCtW/uoc6RgffHXNzEUPdN6I11KmsJsr6iNFBJ3Z48xufnZuYrX5MrvYXBxx/Y8jQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA2PR03MB5769 X-ZohoMail-DKIM: pass (identity @citrix.com) X-ZM-MESSAGEID: 1665504986154100001 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, which renders the ssbd option without effect (in a similar way to what already happens on Intel hardware). This fixes an issue with running C code in a GIF=3D0 region, that's problematic when using UBSAN or other instrumentation techniques. 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 --- xen/arch/x86/cpu/amd.c | 50 ++++++++++++++++++---------------- xen/arch/x86/hvm/svm/entry.S | 6 +--- xen/arch/x86/hvm/svm/svm.c | 45 ++++++++++++------------------ xen/arch/x86/include/asm/amd.h | 2 +- xen/arch/x86/msr.c | 7 +++++ 5 files changed, 52 insertions(+), 58 deletions(-) diff --git a/xen/arch/x86/cpu/amd.c b/xen/arch/x86/cpu/amd.c index 98c52d0686..a1582e1cc9 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; @@ -776,46 +776,48 @@ 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++) { + /* Set initial state, applies to any (hotplug) CPU. */ + ssbd_ls_cfg[i].count =3D opt_ssbd ? boot_cpu_data.x86_num_siblings + : 0; + 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_ssbd(bool enable) +{ + 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..94089e61bc 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,8 +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 =20 /* * STGI is executed unconditionally, and is sufficiently serialisi= ng @@ -140,6 +135,7 @@ __UNLIKELY_END(nsvm_hap) */ stgi GLOBAL(svm_stgi_label) + mov %rsp,%rdi call svm_vmexit_handler jmp .Lsvm_do_resume diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c index 1aeaabcb13..0c5ffad05d 100644 --- a/xen/arch/x86/hvm/svm/svm.c +++ b/xen/arch/x86/hvm/svm/svm.c @@ -973,6 +973,14 @@ 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]); + + /* + * Clear previous guest selection of SSBD if set. Note that SPEC_CTRL= .SSBD + * is already cleared by svm_vmexit_spec_ctrl. + */ + if ( v->domain->arch.cpuid->extd.virt_ssbd && + (v->arch.msrs->virt_spec_ctrl.raw & SPEC_CTRL_SSBD) ) + amd_set_ssbd(false); } =20 static void cf_check svm_ctxt_switch_to(struct vcpu *v) @@ -1000,6 +1008,11 @@ 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->domain->arch.cpuid->extd.virt_ssbd && + (v->arch.msrs->virt_spec_ctrl.raw & SPEC_CTRL_SSBD) ) + amd_set_ssbd(true); } =20 static void noreturn cf_check svm_do_resume(void) @@ -2518,6 +2531,10 @@ static void cf_check svm_set_reg(struct vcpu *v, uns= igned int reg, uint64_t val) vmcb->spec_ctrl =3D val; break; =20 + case MSR_VIRT_SPEC_CTRL: + amd_set_ssbd(v->arch.msrs->virt_spec_ctrl.raw); + break; + default: printk(XENLOG_G_ERR "%s(%pv, 0x%08x, 0x%016"PRIx64") Bad register\= n", __func__, v, reg, val); @@ -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/amd.h b/xen/arch/x86/include/asm/amd.h index 6a42f68542..81ed71710f 100644 --- a/xen/arch/x86/include/asm/amd.h +++ b/xen/arch/x86/include/asm/amd.h @@ -153,6 +153,6 @@ void amd_check_disable_c1e(unsigned int port, u8 value); =20 extern bool amd_legacy_ssbd; bool amd_setup_legacy_ssbd(void); -void amd_set_legacy_ssbd(bool enable); +void amd_set_ssbd(bool enable); =20 #endif /* __AMD_H__ */ diff --git a/xen/arch/x86/msr.c b/xen/arch/x86/msr.c index 95416995a5..a4c28879bc 100644 --- a/xen/arch/x86/msr.c +++ b/xen/arch/x86/msr.c @@ -697,7 +697,14 @@ 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; + /* + * Propagate the value to hardware, as it won't be context swi= tched + * on vmentry. + */ + goto set_reg; + } break; =20 case MSR_AMD64_DE_CFG: --=20 2.37.3 From nobody Fri May 17 09:18:39 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=1665504316; cv=pass; d=zohomail.com; s=zohoarc; b=ZwXO1IsxcOaNVe8SPCmJdOadjMEGR1v/0wlfkAQvBfdWOBAkZQuwY6zB88DbQp3BywqH84GzoWN7VOJv+1QA3G246FcqqGfYBsa6uqG69s38PyM+22/LaXfGuxy3yukCmX+4vlcZQeneFHgk/NiK1dRS3eY7tjbzRoS3u/Tu4es= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1665504316; 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=mVBkPo8rhBfvYMAMsLwRzoqZwqTHfHHJ+OE47LmFpUc=; b=NegS4wLiRBlEMXSXnA2i1gmlgEHOaegU4VL0iOni4cZfoEL2B2FiMSyxvqzskKqfVq+ZkowusFLeuxqZZG7UShpyZ5sIsvHolPWHTHqU/JouaPEbQtbm9HwwwlLBIB5H4FiJGOXNimzcD+ChruNBGl+PESRbCTeUWef9GM7HZYI= 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 1665504316355412.00581911800396; Tue, 11 Oct 2022 09:05:16 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.420397.665224 (Exim 4.92) (envelope-from ) id 1oiHk3-0000lv-Ad; Tue, 11 Oct 2022 16:04:27 +0000 Received: by outflank-mailman (output) from mailman id 420397.665224; Tue, 11 Oct 2022 16:04:27 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1oiHk3-0000im-4F; Tue, 11 Oct 2022 16:04:27 +0000 Received: by outflank-mailman (input) for mailman id 420397; Tue, 11 Oct 2022 16:04:26 +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 1oiHk2-0000XF-9u for xen-devel@lists.xenproject.org; Tue, 11 Oct 2022 16:04:26 +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 5ec56c10-497e-11ed-8fd0-01056ac49cbb; Tue, 11 Oct 2022 18:04:24 +0200 (CEST) Received: from mail-mw2nam12lp2040.outbound.protection.outlook.com (HELO NAM12-MW2-obe.outbound.protection.outlook.com) ([104.47.66.40]) by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256; 11 Oct 2022 12:04:15 -0400 Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11) by SA2PR03MB5769.namprd03.prod.outlook.com (2603:10b6:806:11b::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5709.21; Tue, 11 Oct 2022 16:04:12 +0000 Received: from SJ0PR03MB6360.namprd03.prod.outlook.com ([fe80::861e:b46c:1acc:c576]) by SJ0PR03MB6360.namprd03.prod.outlook.com ([fe80::861e:b46c:1acc:c576%6]) with mapi id 15.20.5709.015; Tue, 11 Oct 2022 16:04:12 +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: 5ec56c10-497e-11ed-8fd0-01056ac49cbb DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=citrix.com; s=securemail; t=1665504265; h=from:to:cc:subject:date:message-id:in-reply-to: references:content-transfer-encoding:mime-version; bh=dGqvoHEhrk9uigp6ebhzbUXR8uqFN8JqnXryVWBtyfM=; b=Wax/K7jYJN5nNBRUV9/L5dcduegXgmtHAVw3CJ1daoIIpnIlgK+BxLcA ZhttLtRblFZ+fXnOAk6RzhNwm2M4I+tuLbi6TqGrvET/3E1d8SGj7ZOGa qDBpvxUdNYF+gtYDh2ThyY7aV7haJvsKe+z6h/fpeE7pqR5P7ctG6t1iZ o=; X-IronPort-RemoteIP: 104.47.66.40 X-IronPort-MID: 82497052 X-IronPort-Reputation: None X-IronPort-Listener: OutboundMail X-IronPort-SenderGroup: RELAY_O365 X-IronPort-MailFlowPolicy: $RELAYED IronPort-Data: =?us-ascii?q?A9a23=3A7MPMSKvJ6HapvVm7EUP75dsNn+fnOphVZkK7n?= =?us-ascii?q?cifNrXfiXmJ3RbKv53rLJtujFZ2djzeF6albpmDQlW6GbJGpuSZ81+gdvYUU?= =?us-ascii?q?cCbsp2Rci4ADJQz5KxWHqycTEAhj6Qu1YD2XPEqi4EHTiggwQoAnDHA8389W?= =?us-ascii?q?shYBmgwtZR8SZnqDVkaKxyZFD8SDormiG1OYSxZFBVuFjkN0Z2UKGdtCmepj?= =?us-ascii?q?5MgmeKyPrCPpadJJ5zy6XpBDB6FTXykKqRrEfssoWexd/PkyzlqnTB6yY8ac?= =?us-ascii?q?MjuxjAXDU8H0e9vbbpapJLTM6dUYX5kZlV5ajwNuqaiOycm+75YBLBWs2p0H?= =?us-ascii?q?8GOHYyGKcTXRaQv7qm1LQZTqFT7zl2cDR1DxcD6wqVK80G8RUxOVm8L04K9/?= =?us-ascii?q?pwD82HdBdz9eet21AjQ7cGsflkSsTNMEM1ojNvRRy8fegFTn7GsZazsOFxWY?= =?us-ascii?q?vMZ2PqiPgL4692dxOt7Ewgl20yo7KYVEPL7SCt9tdqUHCYmlWd0aiIfgCUl1?= =?us-ascii?q?U0a5ihjSihSWYj3JGTUWAulhccE/Z7a1A5M92Tc8dw6sKLqMRXZgVRby2vyD?= =?us-ascii?q?W1ZqLZz7MZs+BPbi+BXNxJ485vKShaoqHpj4ZheC6tNQTBlmi9HNXlCpOjVZ?= =?us-ascii?q?gywU06UEiPgYN0ez5oHPKk4V9gLVgcxXsnIySf+gDj28T4RzBrU6TdvcrKiC?= =?us-ascii?q?jmHSacT30jwmPv9zuSTZ3NgN5X9WuSM56vo5dSKk+vLYvpRtcr2/7Rn85FcW?= =?us-ascii?q?Ed7xHvYCfcUPcwkmUjyXXVNb6Vh8fQ07OILSQe9kalcHmuLsXWVGTrCHywlS?= =?us-ascii?q?oVjjrt+DatQANJFJcmgd3O9waIwuCIpfKVcSbaEI+jor36eQ22LcJR0HFNJP?= =?us-ascii?q?qipvmukOcfChETgR5SF6FE7BU+XJVgeL2pT87Rro48YSIJGY4nHrq4z+Drx/?= =?us-ascii?q?ZzPN2FMmGfmO+1maG4evJsCGUgQBnWB+9fXzBEpeMeyiWSYPOvfnDzNZPD6w?= =?us-ascii?q?sUaqUv0R7Et+/aJCzhcEZS5M+l8y9HtYqMyVwWccV5wTwz6MsQC7h924xoqs?= =?us-ascii?q?nBafjiLyTiVzcl9Z19LmTgXajZcp3PXPiyMcoeSCJaafJZiYicXz64sJ8Tjk?= =?us-ascii?q?QddRgrPqYkZ8yyBM+iLtgCtDuSZgVKLWkC0s1FI35KWri0fM8Dv77XUz1wI2?= =?us-ascii?q?kFKRisFlz2ywhswL0LZrcmYUVLfj92w2wnch8V/vhn9B4CoUamOpDOWHvMy2?= =?us-ascii?q?Zj3s12VCmz2SEddw9RRALjU4aNQO4jgFlhgVrGvFwHJQPE0bDfdRqVIqxda3?= =?us-ascii?q?3Y0soOdadXq1xvUWp4GbEEkaDWfLqovfcdmq9lOIPvv5jEmhsJNrQ9ZutLd8?= =?us-ascii?q?p/h044rWebcOVODUPkSemQXzYrKv+apWcvautoulH0jCLlpFXA8SJtDd2Aff?= =?us-ascii?q?/DlmrVS6slLARFtDB32YExN05VtB5iOdfD1hUSKEZWUf+JO1dYgOqawWyujX?= =?us-ascii?q?6DftFN5Q4JFnaAcMqWBvEl4GVoZlkWGiDWCwLpfMH74RdpDeCCujwEyGVbAc?= =?us-ascii?q?MFgCckfgnC5iEQQ8QerUEmanAlK1k9WFrPZMxXJCE0ClfRCcDPAKfEwxAulb?= =?us-ascii?q?IbM4L/tLqMbiq1QvcNJNnj6usBgSHrZRbE1urGRGzg3+4NX+oO50huJZPIc+?= =?us-ascii?q?aYayW5yzgOkIm28yMvrHveG9txQ4GyYBQpz8TambhwDUj4CW8m7bPRfTU6rU?= =?us-ascii?q?KA9iJjcGkOOSAU2jri+MYWsZ3l2ellYFo5PD2b8lU9a4lGquvINz6p+IGXP5?= =?us-ascii?q?1CN/i1aTcHes6TuKshoM+RpCUkgnXrR2IPJzepNFQ1CaGMSeuqrq7hHfQJmI?= =?us-ascii?q?T2IlLiwnRiu+9jHp0p9G31zxSv+8h1Dfr/rCBFDCyR+6x/isVrhjEzeJTymk?= =?us-ascii?q?w5Ks7RbQG5w8s16pFAdDE9Zk1oe9Fr7nTXgaKDRJ8E9Ps3OYje1NdzuIdDyy?= =?us-ascii?q?O6bVg4msv+SAJCDPussrFRwoJ0w1vj5R2RwGl6U2U0wGLSWErCJUwhDu8j4z?= =?us-ascii?q?BrXS+GrTlKN16YmpEcW1cPcQYfVh+mrVZ6FwM3iR7qNC4CUw7EzChDlkjhDn?= =?us-ascii?q?zOx/oJQfxMThTUu0IQ6gXa0w3crT4s4JlELoLrBIc5hwQwLqO3v646ThsEF4?= =?us-ascii?q?G+vVi/yClW/ScbeBXuF9vGE4guyl9zlakjDsWN8rv7gPbtE3ftaLy5rbbqkH?= =?us-ascii?q?td3bikft6WzWVL6ER+oRxDE70FyiG+aVDVM5tmHw5oqoytNDdXWLj5cFud2h?= =?us-ascii?q?/3lvs1A8NF06xWaZucufSnisnff2/X54NLU2FbenI/IxFWfj6SZ1qGs8PRoe?= =?us-ascii?q?U0lUcVNqllGN+IzoK1ykIpXyGxRBoYuW0OQeqdHvI8L4I8NtopjhysdA9MKI?= =?us-ascii?q?2GueVLOMziumSlpuLe1reUuxANeluoZavfc5UTz5g+dcuwkp5DnDmUNYCBej?= =?us-ascii?q?hexp6MsonqgENaANm8=3D?= X-IronPort-AV: E=Sophos;i="5.95,176,1661832000"; d="scan'208";a="82497052" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=iEhkBnZmCWeIVJ8G7xcK5s2JGWxzr3aJWqsbR1c8/xvDr36GSCBKUTXByF7Io4fI+/EbK2TMLR7RJ42swHK5oKK3BoKgjKjtaxa4jsCXxLb6ffVq6xzL1TCQI6Zh8WboHFZaHmxmkUJOlFySiCb+9UFkAUd0IKbAaQH8x2o3duvhMIgBFQCsyDQ6gm3hDWFGVSmZN17Kvq1Gji80RtHXKb7OXWWbsUw04On0ceV7OLTHd03xNKd2Iv6FytAZHzIpopd1TkeoxWyHGHnFhlwt7Q0uKetWGOprZyxPlT/BQBwoGEiMPOt8vVEklsFif9DxybnQoqKl5+OullBF73p6GA== 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=mVBkPo8rhBfvYMAMsLwRzoqZwqTHfHHJ+OE47LmFpUc=; b=g9BlfC1711NwbNs1++vxCAFS3byz0XpvB4v9cen74Oxh+IdHxn8PwmSipJmbOqrEoWNPJI6Fbc063QDP5rX+XegGikyeBI8f74UCjjSrfs+qpP44mMlse/AEzrFMLDx1pQBaZ2JE+T3U+LXgsTrZB9heMoIWNwXEFUUfigKd1GneOE8RgWfjEa6PYX2fEgq/5R1DuaY3WIs9ywMgbKOPb3yvaFucIWbO2+ywA3bJEsLD5/z3OqW9cWtgoHjsJHQlvDUYjJbna7WBewQUuf+eXVtZFydnwDYqbe+EWagOnUDs4b4V6hS0HJ4EdxbtqCDSA2p6C7Oqje88H16z/uZHpQ== 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=mVBkPo8rhBfvYMAMsLwRzoqZwqTHfHHJ+OE47LmFpUc=; b=hk9UcBSEKL8yEkVJJfQNbshBTJthac3eSI+xZ4sEq5dWxfygTCH8VjUDJBy0n0NsRc8yyfCy9SSAJJ5mgl1GTdXn8cM7IpW7gCsbBMOrjGVTAjOvt/ooaOA395EceB0coBVgKqMd5VICJKPeNEA682Yz58C5yOOHUZ7uumg6MnQ= 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 2/4] amd: remove VIRT_SC_MSR_HVM synthetic feature Date: Tue, 11 Oct 2022 18:02:43 +0200 Message-Id: <20221011160245.56735-3-roger.pau@citrix.com> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20221011160245.56735-1-roger.pau@citrix.com> References: <20221011160245.56735-1-roger.pau@citrix.com> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: LO2P123CA0035.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600::23) To SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|SA2PR03MB5769:EE_ X-MS-Office365-Filtering-Correlation-Id: 30c9f1ad-f2c4-4a28-f277-08daaba23cd7 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: PKsXHCw05MYbPQwt28LOUmRWNkjg1JKNM03mC7FUYchg2FS/z6ZyJeWRmgTzSlw+A4Zpg91bHuDhRR3P17dQtmB9nONtxZj1KA2kXNN3RFdWD/YXtsCi0A2VxdKR/HM7ZU+Afwyg1FGVhY0y1+3KOx7xYh3H8UNwBb/8LQcn81S69kU3B0qE/Hi4ODfn4oSyvvDOdvUhjmK1f9JOhSh7wFnKRyHE6vTwjkZGbQoqetrejn7z9bIZO5mVPTKKbmFQVAo0HzJUhNwvDHZ03o+1NU+sBgDKCXu4tglqt1bhbwshK9n6QKOchwkrBI0h8smHzsivHGpjH99MK0XJM0BXMYl5VNhJrUDoaOaQeBpjAejSl6VQ5+afCqQEdh4t1jFky9xJb43jJl7vlbdb+PHW4a/1UnyDY7qiElnpQXPNW8rkhppkayEddvRe0MruDEQJrR6+L6DziDvdyIQrG/c2UxZwb7fjVgP50HUoKmFESpMwOoPK0sTwyMMnJvX6lz3wSEQhHOaw8cMhtZDpOBVR/S77gsXl7BdziVX+ZNaksaL8z2vb9xcnlEh4Xp+aEe9HcjdByYwo31YkhrNQM9QFp/3DMqOTj2LdrOp10cwAKg19ywxE9sM2E5jK4DXmrvQ2uDed+PywbIqcrDWwYmRdjQhIJ8xucJYvS0FN0vGC5YH/j8r4g8uwgfZlv5UwJjV3ovDqL1HcbyR8tT/A8Re9eQ== 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)(346002)(136003)(376002)(396003)(366004)(39860400002)(451199015)(36756003)(86362001)(83380400001)(5660300002)(38100700002)(82960400001)(2616005)(186003)(1076003)(6512007)(6506007)(6486002)(6666004)(26005)(478600001)(54906003)(6916009)(8676002)(66946007)(66556008)(66476007)(316002)(8936002)(41300700001)(2906002)(4326008);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?N3J4aG02SDNCc09mMkpzNUlKandjREEya2NmTTB5TDU5SVBQOHpVRE9ydHRk?= =?utf-8?B?dFVLOEM1VG5uUWI2MStnZ0szUTNQTkI1bkhaVWJrZDFOVWVYMUM0M2RiUVd6?= =?utf-8?B?L3J2dDlsdzM4K1ZtVklMSVh4MUJraWgwS3hmNFBjeXg4YVlUcmx5MUd1eEgw?= =?utf-8?B?akxjYzZyVmxzVHVvWldoQldCU1dQRFBHMDdFc211aUhnYTF0UGVCb3BBNHdv?= =?utf-8?B?b3ZydGVMazh4KzJsN0lDdDlBelM0b0hJb1R3SUVodnV3ZHJJR0Fyd3BGa0JJ?= =?utf-8?B?bHhLVkRFdjk1MCt2aHhUSlh4ZGtRd1ZQWndmdGs4SzIyUVRrRkNwNGU0Ylpw?= =?utf-8?B?bzBGd0UrMlUyV055TDRISXI3cDZnOWJtWEplZmNEWXkwQlBPblpwalc0czYr?= =?utf-8?B?S1ppK0ZBaDZXR3Z3djNyUDBLSHZtNmpQc1Q4WURVSTdMOHNKdW5TT1VWcHB2?= =?utf-8?B?K214T1ZodjBxeEVIOUNjb0lJVllTWGNWRW1IbVRhTWo3RWtaKzREWUZvclc0?= =?utf-8?B?eVBJWkxMM0ZlVXNHNm52bERjajkzTS9IV3dpQWZaRTVIWHJUQzNMZks5dStR?= =?utf-8?B?b2lNV2lJcVk4QnIwSjA1RlRlVmkxdDZsK2pXelo4TlNoNUx6aWxVVEJwVVNG?= =?utf-8?B?UjFXVVA0NU04dnpZakMvSXFaNmtETkx4dFU1SzRNbnhnQmhOYjNETFpxOG5S?= =?utf-8?B?MEp4ZC9YamVKbmp0bXI1N2JRY1lYNnVUdm9VUnlzbVFQMDByT0V6ZXJjSHlj?= =?utf-8?B?TTNrQ0ZOaXJyN3VpRGhKVEp1MmRsZUkrMXl2a256cTZVNmdSdzh2NndiSVRK?= =?utf-8?B?SmFiYUlsZktWcGlKS0p3Z2NsYWFZWWJlWXJLV3NCTTVzZVgycmpNVmwxaEJw?= =?utf-8?B?dEhWT2dXNFVUekZRMlUwR2lrdEhjUWxQdmNJZkhJTjNmQXNDLzc4Ny9nNUFh?= =?utf-8?B?ajg2NlU2WnJ2THVLTGJqMzgyclBIMWt4VUQycUhXeUlCVjJYQ25LN0N1NVdP?= =?utf-8?B?RkUweGlPdXFtN2dQcFdOdXZ4ZGRhVnpGRXhJLzJHam43SXRkcEFRSVNjTTNm?= =?utf-8?B?MzlOTW5kallUY0tBSEgvdHlQTHpmMEtaNzRaWEM1SUFDWEZweUdZcjU5UFFW?= =?utf-8?B?eE1jMnlyK3lHa0R2eENDOEJ0YmcwcE1xS2RmQzk5MytmTGNOeFVFcDVqbnRp?= =?utf-8?B?MXA1YTh0dWsrb2ZCOEhyK0J0NndDRVBReW1KbURMK2lzcUJEc2I4MjVHM3Yw?= =?utf-8?B?Sm9BdEtXeTIxQkNVSGltdVVUMXNyenUxOEszUnFNQzYrRXRIS0NJajAxeWI1?= =?utf-8?B?RElaNjdIM0hMQVk5L25ucW9nTSs2dDRrVjEwR0VWQ1c2d3FRam16dFVlUDR2?= =?utf-8?B?ZkRkK0dZenhiSGVSOXR1RWxVbTNhcDZiY25Da2grSlNCOERnWDhyekpJMzVh?= =?utf-8?B?QXVxTnJXNklGVG12OVhuN0xQVXBEbU15ZjRQbzVmemdjZU5wTUFadlBQL0Vn?= =?utf-8?B?STVZMXJYakYxZW00bU14ZE9oTEJ0dHZDV2xONCtFOFpINkVxSGEydTBtcytS?= =?utf-8?B?YklLQUxsdjFnQ2RSUkdZUlVERmJUUGFoUy95NEtYVERHWk16eklFRUZlNFUw?= =?utf-8?B?Q3U0a1JUd0tSZGNxS3Y3OVJhbVNlWDc2ajNOTjJKUDM4aXM4R1lhMU9BcTNV?= =?utf-8?B?cWx2S1BMNWV1UkJmZE16c2hSK2Z5aUU3TkIwT3VvU2toT3c4YmlBU3ZFN2Nw?= =?utf-8?B?eUplK3R5SmxxVytDc3NTeHJrbFluckh1cUEvYTNDeGUrMGdQM3dKaWlDREhE?= =?utf-8?B?NlNXOEN5TlNTemp1eDRKWnlrMUozWG5rWnVkdkQxSkhvOHhYOWdzZHU0b3hQ?= =?utf-8?B?d2tDaUwwcDVhOUdjUEtIWTFQSWJ5eTgzMGo0TmM1cFFGeUwyV1NkKzRkR3dn?= =?utf-8?B?U1pnbEwxbUgwd2xEVDFLYUtMMUZ3eGpjTnprTjgwUGhPNDhkZ0tDSzVZZUgy?= =?utf-8?B?ZUEwTnRVaHNDTTUrTTA1NnBzeThRSzA3WGJYbWlCT0RIUmhTc3pwTUtlRit0?= =?utf-8?B?UnRhY1MrdFN6cUdvVy9OSjRtU1A1aWt3L2Y4WDVkSHFvdm9uMDZiM2dGRmxB?= =?utf-8?Q?EDBhZ8sbkCNPAVd9FNQHeDkCL?= X-OriginatorOrg: citrix.com X-MS-Exchange-CrossTenant-Network-Message-Id: 30c9f1ad-f2c4-4a28-f277-08daaba23cd7 X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Oct 2022 16:04:12.4283 (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: IwrwBFVLrI0umlA1XE0Yp1wQjMyQwpUqNukNTQvZrRivjkCjha1o1ca56DjbWPX/vD04ps1SaSR4EWdaTTORAA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA2PR03MB5769 X-ZohoMail-DKIM: pass (identity @citrix.com) X-ZM-MESSAGEID: 1665504318146100001 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 --- 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 a1582e1cc9..c28f2d5220 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 81ed71710f..5c100784dd 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_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 From nobody Fri May 17 09:18:39 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=1665504313; cv=pass; d=zohomail.com; s=zohoarc; b=IqVfbb72UfqWxQxyGcHn4zRSdQ/zJ9wV2DnLTCls/7l/pX61bV+6ISm/1X6umWZUrbi/ZLVPyR6Ii4vH9b6mbR2QPFtElJC1hYqgTIR/rtI7LHKNbXivp+sPh78efG63QmgMb4O2wSGaEMKbMDDVioamJz1spnd1kFHDjQIluM8= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1665504313; 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=GhLgI3FpRIlKsmCjqXjQcTnIcwm7M2jzmcvE579jJOA=; b=PiOVcOvwA5kvmB+D30BFgtAro6hLtp4kKkatr0yxI3e18+2DzHfAcmVvw/x3e4If6Lhw07dwHfx7iesG2bmZ/0ATfH5DrsH/oDymDUEIn/KSHVyKAfCtlI13VmoiMVDyQylLLKyEFkldCQrTb91bMv72AxvTwMgV1Z3C9lx7qMQ= 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 1665504313147635.0043439124596; Tue, 11 Oct 2022 09:05:13 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.420396.665217 (Exim 4.92) (envelope-from ) id 1oiHk2-0000eg-Pm; Tue, 11 Oct 2022 16:04:26 +0000 Received: by outflank-mailman (output) from mailman id 420396.665217; Tue, 11 Oct 2022 16:04:26 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1oiHk2-0000eZ-Mo; Tue, 11 Oct 2022 16:04:26 +0000 Received: by outflank-mailman (input) for mailman id 420396; Tue, 11 Oct 2022 16:04:25 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1oiHk1-0000OR-AA for xen-devel@lists.xenproject.org; Tue, 11 Oct 2022 16:04:25 +0000 Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com [216.71.145.155]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 5f97b421-497e-11ed-91b4-6bf2151ebd3b; Tue, 11 Oct 2022 18:04:24 +0200 (CEST) Received: from mail-mw2nam12lp2047.outbound.protection.outlook.com (HELO NAM12-MW2-obe.outbound.protection.outlook.com) ([104.47.66.47]) by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256; 11 Oct 2022 12:04:19 -0400 Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11) by SA2PR03MB5769.namprd03.prod.outlook.com (2603:10b6:806:11b::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5709.21; Tue, 11 Oct 2022 16:04:17 +0000 Received: from SJ0PR03MB6360.namprd03.prod.outlook.com ([fe80::861e:b46c:1acc:c576]) by SJ0PR03MB6360.namprd03.prod.outlook.com ([fe80::861e:b46c:1acc:c576%6]) with mapi id 15.20.5709.015; Tue, 11 Oct 2022 16:04:17 +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: 5f97b421-497e-11ed-91b4-6bf2151ebd3b DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=citrix.com; s=securemail; t=1665504263; h=from:to:cc:subject:date:message-id:in-reply-to: references:content-transfer-encoding:mime-version; bh=YWW/0Xrlj8OlYzjx1jxvYy8p0hZwDkcqnamKCBlqojA=; b=DtHcXWp9qbJ4i8VWcpWbuhJ3CkpiVC6cEy0IND0Lks9C74wvKT46KOnI +eSehz1U9UNETdGktCPoZlXPbkDyQjD4KYJvKE6JmaRQrAn9aKV6bqURp 24CVLavBQr3KpWlsBEAixoJA9yc6NdzzjaxlJFDVTYwu1XfvB56RyS+2Q 8=; X-IronPort-RemoteIP: 104.47.66.47 X-IronPort-MID: 82474351 X-IronPort-Reputation: None X-IronPort-Listener: OutboundMail X-IronPort-SenderGroup: RELAY_O365 X-IronPort-MailFlowPolicy: $RELAYED IronPort-Data: A9a23:7yxDPq8h2ZPxOQNCn9ltDrUDXH+TJUtcMsCJ2f8bNWPcYEJGY0x3z WsZDz/UOfmCMzfzfdxya4S/8kkD7cDWztBqTABspSo8E34SpcT7XtnIdU2Y0wF+jCHgZBk+s 5hBMImowOQcFCK0SsKFa+C5xZVE/fjUAOC6UIYoAwgpLSd8UiAtlBl/rOAwh49skLCRDhiE/ Nj/uKUzAnf8s9JPGj9Suv/rRC9H5qyo4mpA5wVmP5ingXeF/5UrJMNHTU2OByOQrrl8RoaSW +vFxbelyWLVlz9F5gSNy+uTnuUiG9Y+DCDW4pZkc/HKbitq/0Te5p0TJvsEAXq7vh3S9zxHJ HehgrTrIeshFvWkdO3wyHC0GQkmVUFN0OevzXRSLaV/ZqAJGpfh66wGMa04AWEX0uN0DDBwz N0aEx8uYDCDq8XqwuK5YMA506zPLOGzVG8ekldJ6GiDSNMZG9XESaiM4sJE1jAtgMwIBezZe 8cSdTtoalLHfgFLPVAUTpk5mY9EhFGmK2Ee9A3T+/Rxvze7IA9ZidABNPLPfdOHX4NNl1uwr WPa5WXpRBodMbRzzBLVqC7z2rSSxEsXXqoWP7iWyuVjm2Gq21AwUwIzVgThhMaQ3xvWt9V3b hZ8FjAVhbg/8gmnQ8fwWzW8oWWYpVgMVtxICeo45QqRjK3O7G6xJmUCVC8HV9Ugu+c/Xzls3 ViM9/vrDzFytLyeSVqG66yZ6zi1PEA9L3IGZCICZRsI5Z/kuo5bpgnUUt9pHaqxj9v0MTL92 TaHqG45nbp7pdEP/7W2+xbAmT3Em3TSZgs85wGSW33/6Ap8PdShf9bwtQed6utcJoGESFXHp GIDh8WV8OEJC9eKiTCJR+IOWrqu4p5pLQHhvLKmJLF5nxzFxpJpVdw4DO1WTKuxDvs5RA== IronPort-HdrOrdr: A9a23:4YDSz6GheuwS/O5OpLqFc5HXdLJyesId70hD6qkvc3Fom52j/f xGws5x6faVslkssb8b6LK90c67MAnhHP9OkPIs1NKZMDUO11HYSL2KgbGD/9SkIVyGygc/79 YeT0EBMqyWMbESt6+TjmiF+pQbsaG6GciT9JvjJhxWPGRXgs9bnmRE4lHxKDwKeOAKP+tOKL Osou584xawc3Ueacq2QlEDQuj4vtXO0LbrewQPCRIL4BSHyWrA0s+zLzGomjMlFx9fy7Yr9m bI1yT/+6WYqvm+jjvRzXXa4Zh6kMbojvFDGMuPoM4ILSiEsHfgWK1RH5m5+BwlquCm71gn1P HKvhcbJsx2r0jce2mkyCGdrjXI4XIL0TvP2FWYiXzsrYjSXzQhEfdMgopfb1/w91cglMsU6t MG40up875sST/QliX04NbFEztwkFCvnHYkmekPy1RCTIolbqNLp4B3xjIZLH45JlO11GkbKp guMCmFj8wmMW9yLkqp9FWH+ebcEUjaRXy9Mws/Us/86UkloJk29Tpb+CUlpAZxyHsMceg72w 36CNUYqFg3dL5xUUtcPpZ0fSLlMB27fTv8dESvHH/AKIYrf1rwlr+f2sRH2AjtQu1C8KcP X-IronPort-AV: E=Sophos;i="5.95,176,1661832000"; d="scan'208";a="82474351" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=TeDUgGnB8XTBbP69vb3BIC1dzbzDYtxHgoL4S1mN9UlGc/lEnzAtn4doGh6VC2Lnal4P2h6J2M6PAuRXAu1LP/R9TZzInqDMTN9GExJbKx2k/VXXR3R8UEUCY75kAecHXB2SQsYec90WOcdyYthHR+9oQVa0AHcfagFjMuxPi1n976Yj/aOmg/pbiUDZ2utZs8ZK1thj++tRrzqLfCVimzsEZaAxtXez2M4rTASGfTK4WkxMi7/yuPJ680dn+UySvEfeitUcYEeWn/iQ1mPyeFdm8hRlUEgU94LbTgV4fny5LFq+5zC2TwSl/0uEGxkcGqhvj6A+qEGSKSWgDdoRDQ== 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=GhLgI3FpRIlKsmCjqXjQcTnIcwm7M2jzmcvE579jJOA=; b=EtFVO7BguQJ3On4g4QpF6cHrAO+tRZ9hsG75hL2sKggdOSy6w6LoBr6WrkL4Im0DcDdPDX3eVEbj06HoXXiz9YAx55ki/ej4Syc1DvebwwtO9twLYQOQ+AMARsPcGOo9Qvv8L6WmKd56iDiw+/AbnpyL17350w+uaxCznIZMObqcx1iF81qYGJCYAHq7V2ng734IayrQrH02aHB+sRNixUijbI0eMEPDx+6eIQ+tR0WwOl3kbqGW6B+OFN7ktZI3zFLbX4D8jkFKX/9O8Peh4tppYCpV/+9trGOfr4uqHdm8TlUc1EtEmKCFp/nRZzevNAKU4SxETlMlnt5Arjb84A== 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=GhLgI3FpRIlKsmCjqXjQcTnIcwm7M2jzmcvE579jJOA=; b=vDhqzRF+ptG8yU2KHVU4JtLIat+gkDN1pnuD1w29iqT4ryh+oIIZ7XQxFQ8bGTZf7UL93QGhgeO3hpXFcSJdpny4lh2TllP+xueolY50EhyPWnk8NHgPHND0oTDBXU1ZtwbaDYzb1lCxO2wjnIlW0Lz4lsv1bkeHpAo7sSx1rQE= 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 3/4] amd/ssbd: remove hypervisor SSBD selection Date: Tue, 11 Oct 2022 18:02:44 +0200 Message-Id: <20221011160245.56735-4-roger.pau@citrix.com> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20221011160245.56735-1-roger.pau@citrix.com> References: <20221011160245.56735-1-roger.pau@citrix.com> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: LO4P265CA0261.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:37c::14) To SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|SA2PR03MB5769:EE_ X-MS-Office365-Filtering-Correlation-Id: 00d5132a-58c0-4eff-dc80-08daaba23ffd X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 4aGoRbXIkMB6zPLVpCjkgMacndO6pA1BaopHEgxfGeTz2s0i4Ikkh+ott9OHrlMG1V7EQM+vYM8juHsSZSmeQjGq3zHfDgeCX2ZZVm8alg2dbLMRanJLQHhYO8fX3+s6PyKkxg3weuNzHC2gUp6TG46kc6uDZvshEv7VZl9+JqpF0rHJGL/QnJKjLclDTAAmhPM088o6qT7bVLjIerlJxYm880uTtCmSdU02tj9fxpdbJTJOm9C/Gd3n8g/OKt/vdDpRsap16WjvZk9tDpcAx/2A8oHJL1ifMlY7BwlkOUUdcHytbG7vFN/csX5vwBb1NU8rPJc5WnjSyFOL0CITElDJKByBqAdXm8Jl4zIgAQmSAtxZ7AKxKKs7FGOzQD4ZCdLOQObAzCGslJiYPjXQmzZigAkE8C9zL1uCk+ZrvIF6Jmcis/8yNFhs7EVgzk1mKiFBclf4HiTAi9WtFxpdZEpQAUsGPUNIYwtXQCURjhueT3QfxWwgfDJ4yPflPHt4k+9mCl5UtMM1HvxoH+1QpZFpLKq/sumaAqHH68plMKIB4SnOY3LmEF78q9LMzpQoxVmUFyiOeDg3j1vIh6tCAHnUHsx003FVhRxYMwPWEloKIAa4PDSswdrOZft1jgB4/oPmx7UkZUYFTa9NHrcUfRujVYFHcOeEj5nzwJvRib/SjpaUE+GGKHGG40X2wNqWc4VWZPeiGIwy8tvKKO4ZPg== 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)(346002)(136003)(376002)(396003)(366004)(39860400002)(451199015)(36756003)(86362001)(83380400001)(5660300002)(38100700002)(82960400001)(2616005)(186003)(1076003)(6512007)(6506007)(6486002)(6666004)(26005)(478600001)(54906003)(6916009)(8676002)(66946007)(66556008)(66476007)(316002)(8936002)(41300700001)(2906002)(4326008);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?a3dWbytnYURDOUttQlhxK1d1TG1aNkZ4QlFhY1R6WnpxbnoyZkNBd252Qi84?= =?utf-8?B?MGZGTThObEVXMnVDa20veWgyV1lnNlF0aVRPNnpyS21HUU5qTW9xWktRNVli?= =?utf-8?B?YVJFZUQ4RzFxR2tBcTAyNHR5ZXB5OTJPTnJFVGI1VWRUWDB4ckhMbnN4eDNi?= =?utf-8?B?NkordjZhSmZXTVZaVEwwUEhOaWRFcTVuWjJSY0FsQXRYZmp4RGkyUHk2djJX?= =?utf-8?B?UXZKamlRL1RITVJWekNqS2wvd0Fkd01YeW5FZ2Q3eUxuVnRsaDd4Yi9sRVNO?= =?utf-8?B?WWJQK1E1czF0SnBEdWR4c3grMWZaTWh1RVRWZ2w3K1dmRXdTWlZ0MWhLdGVH?= =?utf-8?B?RUZvTnJCMFlLaDVHSzJuRDhxdndoOTV4dUdoVjFpQXlRVTR1RWovcEJCelRI?= =?utf-8?B?MzlrU1ZCZE92WXA1enBmcjROUHBuRUIxQnNXSUQzalRvblhjR0dnL2RXSmJ6?= =?utf-8?B?MTEzTzltREhjVHhuazMwdktSdmh1L3VpbEN6RHUxL3ppNW9Jb3pxdmd3SWtS?= =?utf-8?B?Ri80QUZuZGJKelorbXZ4VUU4ZWhWaGR5YlkyMnRMSjNFKzZ6RVVSWnVPYkpz?= =?utf-8?B?SmR2OXdFbGpPUk1hWjZMeENNdkxXcU9TTFZZK2Q1TTl0SUhLY0lON2RSdXNO?= =?utf-8?B?UmtHOXRPTjVXZjNaYmdsY0l4QlV3Uk14dGpmaDk3bVY4d0QvM20zamh4YUMr?= =?utf-8?B?dVBPWmUvYllaUlk2MHo0NEhCdTVJSUtOOG9ISHhSWDM5K3A1akpwTm1heTBT?= =?utf-8?B?K2NwTVJlTGZsY2ViQVRGVXFJQkgxSjlOSFRuSUNsRnFtOEpoNFhBZ2dQV3N5?= =?utf-8?B?cjNRSyt5VkZJRjdqclRxdUdRaHd6TG5tMnFOVERXd08xUXFYOGEwNXNpRGJl?= =?utf-8?B?SzlGMWVhckpJWXRMc3BPWExRN0dDcW1YQ0VwNEJhTnNJOEFQUXoxbWx4bmxK?= =?utf-8?B?WlNjQ0lvN3RQK21Qb1U2aTJJUWZlcWVpamh0c0h2THByQ2o1TlpwZ2c3WWh6?= =?utf-8?B?bEs3dEhwZHF6ZGNOUmd6cUI5QTNKaXVRWDNlQlRQL1gvck0vM2E3MEluRW5m?= =?utf-8?B?dnFKWWFHQkp1ME41ZkNmVko1b2FmSG10cWYyL2N6K3BGamxoektGd2lac0h4?= =?utf-8?B?Nnlzdm8raDI3M1UwNGpYb2xIMHZ0Nzljekp5QXdhQ0Vzd2hqMGJ6N3g0VzhV?= =?utf-8?B?bEx3cS91bi9tWVM4dXBLcXFMZUJ3Q1pVQm40bWl3NUlqeVZVUkVpRWlmUmNB?= =?utf-8?B?Ti9SYmgzS1N4RU1QK0JXYmljRGNYcVpnNmNleHJQcm1kNnZDVFAxYjQ3Q3JS?= =?utf-8?B?YUhTOVZ0Q0VlaXFHUnlQV3AybnZEOUhDMFBIcStROTZpVHI2c0wxT3k2MTRK?= =?utf-8?B?TjQ2S0NkVGRkS3R5TkRvc0FTQVdVamg5dUVIamFKVzU5cFRpdXRrS3N5SlQ1?= =?utf-8?B?VWtsYUl5cXJJN3pDbFhrRC9VaEkyWWZWTFlSbHpEK0h5eDlDaGpOT25DRkxK?= =?utf-8?B?a3Rvc0hOL2NqMDhkSjhZRG80VllkeVVUd203SHFLWE1pZHBBSGEyaG9FMVdB?= =?utf-8?B?clJxaDRXcjBhVGVmb29EM0NKMkJJWE5HbS96YXhSaXFxeVM2c291OFJyV05k?= =?utf-8?B?RDhIZFR1aUErN2RkM3BGWllIeVBLbkhrVDRPRlM5SUlWUXhvZUhxY01VRW5G?= =?utf-8?B?WXlqREZLcjA2a2hNUHRmYXY5NW5MZ1djTFloMDhkN0RzbFkzQnlDT250ZUFw?= =?utf-8?B?OWpjVFdoRGJTRDlEemEwbU4zdUtod29jdWNLTnV6ZnU3QVhvNHZzcklXVjUx?= =?utf-8?B?azlweDdxRGpHYUp5U1BEbUh2dnZHWjR6dlBGS0hCemhUWGRZTVdoSzZJVUQ1?= =?utf-8?B?dUF2MWdnV1ptaDhDUlVuL0ltZmRGc3lUaFd6ZUpYL0VibEU0dXZqclBxYmxj?= =?utf-8?B?V2RNY29jQWZsY2JLS09xVWFlK3hWK01sM2VSSWpXbTkzK01GR2pDTHVoUHd1?= =?utf-8?B?WHZNRitJd085bTBnU25VWWZHVWNua0hDeVhuek1Fejh0NWNWT3U4eWRoRHJx?= =?utf-8?B?YjJIUWk3V1AycVVZRDNGRUdnT0JEVGNZWlRIK2xUaWxzZVV6eVp3V1dYeHdD?= =?utf-8?Q?571BS+vz7+ncQN8EIpHNIxbSy?= X-OriginatorOrg: citrix.com X-MS-Exchange-CrossTenant-Network-Message-Id: 00d5132a-58c0-4eff-dc80-08daaba23ffd X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Oct 2022 16:04:17.6139 (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: vUN3AgUwxdSS3W0vPZJeByMrSGUqtdg7JMAdV5iqcdhYMFE7sxveIANUqKswa8kkbkbdZ6Fn5q7dF7Nd4gc34g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA2PR03MB5769 X-ZohoMail-DKIM: pass (identity @citrix.com) X-ZM-MESSAGEID: 1665504314398100001 Like on Intel AMD guests are now capable of setting SSBD on their own, either from SPEC_CTRL or from VIRT_SPEC_CTRL. As a result the unconditional setting of SSBD from Xen in order to cope with the bit not being exposed to guests is no longer needed. Remove the Xen command line `spec-ctrl=3Dssbd` option and related settings. Signed-off-by: Roger Pau Monn=C3=A9 --- docs/misc/xen-command-line.pandoc | 8 +------- xen/arch/x86/cpu/amd.c | 11 ++++------- xen/arch/x86/include/asm/spec_ctrl.h | 1 - xen/arch/x86/spec_ctrl.c | 19 +------------------ 4 files changed, 6 insertions(+), 33 deletions(-) diff --git a/docs/misc/xen-command-line.pandoc b/docs/misc/xen-command-line= .pandoc index 68389843b2..f2666b881a 100644 --- a/docs/misc/xen-command-line.pandoc +++ b/docs/misc/xen-command-line.pandoc @@ -2297,7 +2297,7 @@ By default SSBD will be mitigated at runtime (i.e `ss= bd=3Druntime`). ### spec-ctrl (x86) > `=3D List of [ , xen=3D, {pv,hvm}=3D, > {msr-sc,rsb,md-clear,ibpb-entry}=3D|{pv,hvm}=3D, -> bti-thunk=3Dretpoline|lfence|jmp, {ibrs,ibpb,ssbd,psfd, +> bti-thunk=3Dretpoline|lfence|jmp, {ibrs,ibpb,psfd, > eager-fpu,l1d-flush,branch-harden,srb-lock, > unpriv-mmio}=3D ]` =20 @@ -2365,12 +2365,6 @@ On hardware supporting STIBP (Single Thread Indirect= Branch Predictors), the By default, Xen will use STIBP when IBRS is in use (IBRS implies STIBP), a= nd 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. - 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 default, Xen will not use PSFD. PSFD is implied by SSBD, and SSBD is off = by diff --git a/xen/arch/x86/cpu/amd.c b/xen/arch/x86/cpu/amd.c index c28f2d5220..cfeb8d1daf 100644 --- a/xen/arch/x86/cpu/amd.c +++ b/xen/arch/x86/cpu/amd.c @@ -730,11 +730,12 @@ void amd_init_ssbd(const struct cpuinfo_x86 *c) } =20 if (cpu_has_virt_ssbd) { - wrmsrl(MSR_VIRT_SPEC_CTRL, opt_ssbd ? SPEC_CTRL_SSBD : 0); + /* Handled by context switch logic. */ return; } =20 - if (!set_legacy_ssbd(c, opt_ssbd)) { + /* Test whether legacy SSBD is available. */ + if (!set_legacy_ssbd(c, 0)) { printk_once(XENLOG_ERR "No SSBD controls available\n"); if (amd_legacy_ssbd) panic("CPU feature mismatch: no legacy SSBD\n"); @@ -777,12 +778,8 @@ bool __init amd_setup_legacy_ssbd(void) if (!ssbd_ls_cfg) return false; =20 - 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 opt_ssbd ? boot_cpu_data.x86_num_siblings - : 0; + for (i =3D 0; i < ssbd_max_cores * AMD_FAM17H_MAX_SOCKETS; i++) spin_lock_init(&ssbd_ls_cfg[i].lock); - } =20 return true; } diff --git a/xen/arch/x86/include/asm/spec_ctrl.h b/xen/arch/x86/include/as= m/spec_ctrl.h index 9403b81dc7..ee5c7b8d54 100644 --- a/xen/arch/x86/include/asm/spec_ctrl.h +++ b/xen/arch/x86/include/asm/spec_ctrl.h @@ -66,7 +66,6 @@ void init_speculation_mitigations(void); void spec_ctrl_init_domain(struct domain *d); =20 extern int8_t opt_ibpb_ctxt_switch; -extern bool opt_ssbd; extern int8_t opt_eager_fpu; extern int8_t opt_l1d_flush; =20 diff --git a/xen/arch/x86/spec_ctrl.c b/xen/arch/x86/spec_ctrl.c index 0b94af6b86..dcee9795a5 100644 --- a/xen/arch/x86/spec_ctrl.c +++ b/xen/arch/x86/spec_ctrl.c @@ -56,7 +56,6 @@ static enum ind_thunk { =20 static int8_t __initdata opt_ibrs =3D -1; int8_t __initdata opt_stibp =3D -1; -bool __ro_after_init opt_ssbd; int8_t __initdata opt_psfd =3D -1; =20 int8_t __ro_after_init opt_ibpb_ctxt_switch =3D -1; @@ -126,7 +125,6 @@ static int __init cf_check parse_spec_ctrl(const char *= s) opt_thunk =3D THUNK_JMP; opt_ibrs =3D 0; opt_ibpb_ctxt_switch =3D false; - opt_ssbd =3D false; opt_l1d_flush =3D 0; opt_branch_harden =3D false; opt_srb_lock =3D 0; @@ -263,8 +261,6 @@ static int __init cf_check parse_spec_ctrl(const char *= s) opt_ibrs =3D val; else if ( (val =3D parse_boolean("stibp", s, ss)) >=3D 0 ) opt_stibp =3D val; - else if ( (val =3D parse_boolean("ssbd", s, ss)) >=3D 0 ) - opt_ssbd =3D val; else if ( (val =3D parse_boolean("psfd", s, ss)) >=3D 0 ) opt_psfd =3D val; =20 @@ -471,7 +467,7 @@ static void __init print_details(enum ind_thunk thunk, = uint64_t caps) "\n"); =20 /* Settings for Xen's protection, irrespective of guests. */ - printk(" Xen settings: BTI-Thunk %s, SPEC_CTRL: %s%s%s%s%s, Other:%s%= s%s%s%s\n", + printk(" Xen settings: BTI-Thunk %s, SPEC_CTRL: %s%s%s%s, Other:%s%s%= s%s%s\n", thunk =3D=3D THUNK_NONE ? "N/A" : thunk =3D=3D THUNK_RETPOLINE ? "RETPOLINE" : thunk =3D=3D THUNK_LFENCE ? "LFENCE" : @@ -482,9 +478,6 @@ static void __init print_details(enum ind_thunk thunk, = uint64_t caps) (!boot_cpu_has(X86_FEATURE_STIBP) && !boot_cpu_has(X86_FEATURE_AMD_STIBP)) ? "" : (default_xen_spec_ctrl & SPEC_CTRL_STIBP) ? " STIBP+" : " STIBP= -", - (!boot_cpu_has(X86_FEATURE_SSBD) && - !boot_cpu_has(X86_FEATURE_AMD_SSBD)) ? "" : - (default_xen_spec_ctrl & SPEC_CTRL_SSBD) ? " SSBD+" : " SSBD-", (!boot_cpu_has(X86_FEATURE_PSFD) && !boot_cpu_has(X86_FEATURE_INTEL_PSFD)) ? "" : (default_xen_spec_ctrl & SPEC_CTRL_PSFD) ? " PSFD+" : " PSFD-", @@ -1274,16 +1267,6 @@ void __init init_speculation_mitigations(void) boot_cpu_has(X86_FEATURE_AMD_STIBP)) ) default_xen_spec_ctrl |=3D SPEC_CTRL_STIBP; =20 - if ( opt_ssbd && (boot_cpu_has(X86_FEATURE_SSBD) || - boot_cpu_has(X86_FEATURE_AMD_SSBD)) ) - { - /* SSBD implies PSFD */ - if ( opt_psfd =3D=3D -1 ) - opt_psfd =3D 1; - - default_xen_spec_ctrl |=3D SPEC_CTRL_SSBD; - } - /* * Don't use PSFD by default. AMD designed the predictor to * auto-clear on privilege change. PSFD is implied by SSBD, which is --=20 2.37.3 From nobody Fri May 17 09:18:39 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=1665504325; cv=pass; d=zohomail.com; s=zohoarc; b=RNbSmaiMEZVT4wSpFcHYfZbVUfEWplVpxLdBeyIxRpxf4HsVjbJabvyR4FSTiMyTaXnLVWKJOk+mHWFEiTvCcUrRqwCClrUmAx03znRySogyqiMk67e8Y8r4cfj8WhyCSofHAfdj6mSAFfpqDog7rmuLTexqlePmDylEwR0siEM= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1665504325; 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=EAuwn7S5ftuN5uITAlZ8x3DI+7/sASR3Tb63nr2Rm4w=; b=AgqxlKhgVLiDzrR7f4Bz4C2GdWlTGMEWIOyJ49zQjNJ3OY/IFnK8uiD0AQanDK9kKvL25qVSGUfpzbSR6NSR9JDYVBynAuSx20EBL96eEpgubxd+hqmdljrdbD4+ZBv7B/XC+VHvQr4iR91BQVy6ZpG5VvwTnDpxG+0f4VrJpmU= 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 1665504325369216.34452555676535; Tue, 11 Oct 2022 09:05:25 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.420401.665240 (Exim 4.92) (envelope-from ) id 1oiHkJ-0001Pu-IK; Tue, 11 Oct 2022 16:04:43 +0000 Received: by outflank-mailman (output) from mailman id 420401.665240; Tue, 11 Oct 2022 16:04: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 1oiHkJ-0001Pn-EK; Tue, 11 Oct 2022 16:04:43 +0000 Received: by outflank-mailman (input) for mailman id 420401; Tue, 11 Oct 2022 16:04:42 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1oiHkI-0000OR-JZ for xen-devel@lists.xenproject.org; Tue, 11 Oct 2022 16:04:42 +0000 Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com [216.71.155.175]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 680249ba-497e-11ed-91b4-6bf2151ebd3b; Tue, 11 Oct 2022 18:04:39 +0200 (CEST) Received: from mail-bn8nam12lp2169.outbound.protection.outlook.com (HELO NAM12-BN8-obe.outbound.protection.outlook.com) ([104.47.55.169]) by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256; 11 Oct 2022 12:04:26 -0400 Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11) by MW4PR03MB6378.namprd03.prod.outlook.com (2603:10b6:303:11d::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5612.22; Tue, 11 Oct 2022 16:04:23 +0000 Received: from SJ0PR03MB6360.namprd03.prod.outlook.com ([fe80::861e:b46c:1acc:c576]) by SJ0PR03MB6360.namprd03.prod.outlook.com ([fe80::861e:b46c:1acc:c576%6]) with mapi id 15.20.5709.015; Tue, 11 Oct 2022 16:04:23 +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: 680249ba-497e-11ed-91b4-6bf2151ebd3b DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=citrix.com; s=securemail; t=1665504279; h=from:to:cc:subject:date:message-id:in-reply-to: references:content-transfer-encoding:mime-version; bh=meTjvBewTlHBs7LRXzpVInwurZ2rXlIRYOO2HPDbQdU=; b=cpSLawyXFBFYvGSd+2Owa0ryMJwIwHwAImGyP0Men5dENAIcmuyscsbT 7fvqalKheWFldAV8VHhToguQcx/UcUKhQGi/5Q0luCiY9O76G9B4tMs60 wLiG/1FqMbHi+WgaRVrBM7Qh6HqZ7YS5Rukk6/OO/xDXq20h/yOlMaU5J s=; X-IronPort-RemoteIP: 104.47.55.169 X-IronPort-MID: 82116872 X-IronPort-Reputation: None X-IronPort-Listener: OutboundMail X-IronPort-SenderGroup: RELAY_O365 X-IronPort-MailFlowPolicy: $RELAYED IronPort-Data: A9a23:nuWw4a40B1cA5X/4Q3DuywxRtA/GchMFZxGqfqrLsTDasY5as4F+v mIcUWGCbK3YMWD2Kdkkb4y+9RgFu8TUxtVqSgdl+C9kHi5G8cbLO4+Ufxz6V8+wwm8vb2o8t plDNYOQRCwQZiWBzvt4GuG59RGQ7YnRGvymTras1hlZHWdMUD0mhQ9oh9k3i4tphcnRKw6Ws Jb5rta31GWNglaYCUpJrfPewP9TlK6q4mlB5gVnPaojUGL2zBH5MrpOfcldEFOgKmVkNrbSb /rOyri/4lTY838FYj9yuu+mGqGiaue60Tmm0hK6aYD76vRxjnVaPpIAHOgdcS9qZwChxLid/ jnvWauYEm/FNoWU8AgUvoIx/ytWZcWq85efSZSzXFD6I+QrvBIAzt03ZHzaM7H09c57MT9h7 cMWIgsyZwKhu86nmJiHb+5z05FLwMnDZOvzu1lG5BSAV7MMZ8CGRK/Ho9hFwD03m8ZCW+7EY NYUYiZuaxKGZABTPlAQC9Q1m+LAanvXKmUE7g7K4/dqpTGNnWSd05C0WDbRUsaNSshP2F6Ru 0rN/njjAwFcP9uaodaA2iL237aRzXyhMG4UPJ6Br/tKhFua/WoeDRQKaF27kPChpHfrDrqzL GRRoELCt5Ma5EGtC9XwQRC8iHqFpQIHHcpdFfUg7wOAwbaS5ByWbkAkQzhbeZoZvck5bTUw0 xmCmNaBLT5lvaCRSHmd3qyJtj70Mi8QRUcdYQcUQA1D5MPsyLzflTrKR9dnVaSz3tv8HGiqx yjQ9XZvwbIOkcQMyqO3u0jdhC6hrYTISQhz4RjLWmWi7UVyY4vNi5GU1GU3JM1odO6xJmRtd lBe8yRCxIji1a2wqRE= IronPort-HdrOrdr: A9a23:aNVeeqDF1ZIEZg3lHeg3sceALOsnbusQ8zAXPh9KJCC9I/bzqy nxpp8mPH/P5wr5lktQ++xoX5PwO080lKQFmrX5WI3PYOCIghrNEGgP1+vfKnjbalTDH41mpN hdmtZFebrN5DFB5K6VgTVQUexQuOVvmJrY+ds2pE0dKD2CBZsQjDuQXW2gYzBLrUR9dOwEPa vZwvACiyureHwRYMj+Ln4ZX9Lbr9mOsJ79exYJCzMu9QHL1FqTmfbHOind+i1bfyJEwL8k/2 SAuwvl5p+7u/X+7hPHzWfc47lfhdOk4NpeA86njNQTN1zX+0+VTbUkf4fHkCE+oemp5lpvuN 7Qoy04N8A20H/VdnHdm2qZ5yDQlBIVr1Pyw16RhnXu5ebjQighNsZHjYVFNjPE9ksJprhHoe 529lPck6ASIQLLnSz76dSNfQptjFCIrX0rlvNWp2BDULEZdKRaoeUkjQ5o+a87bWzHAb0cYa hT5Jm23ocXTbraVQGSgoBX+q3iYpxpdS32AXTruaSuokprdT5CvgklLfck7wc9HaIGOud5Dt v/Q9VVfcl1P6krhIJGdZM8qJiMexvwaCOJFl6uCnLaM4xCE07xivfMkcYIDaeRCdc18Kc= X-IronPort-AV: E=Sophos;i="5.95,176,1661832000"; d="scan'208";a="82116872" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DIlRJ08G0I0wiTd+qD6Th+7eJGiBY6yDNDzALXLPbDWiSTAu37Lj8zUiNyYmv9qKzYov/yqSfgqN024/yKQ/GKTSeQEx76tss0/K72ceEz2uX/peXuRIBiuBz0GMbpu/8cxr/rxlsFq2BFOGE2/x5ITrFtZZMKBP+cG7ijEiJAQtl0ixZjYu6EMEdR2GKSPDqV1EHqsuJXsrJyGxT7RrK+WA59yXPVpdafzrX2toczlxTVU6JkT/xBVbXpv4Qf9GuukWV1YgZGgAThRB6Mwm71VaZtofS4HqEjH2lRsmssa8s051VSG1h1TwfGuhzYGgj8OTGQXSMBE/v/bjijU7xg== 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=EAuwn7S5ftuN5uITAlZ8x3DI+7/sASR3Tb63nr2Rm4w=; b=c3kuLMxMJEL19KqMsiVIhY38Tqr10qZUYhvjIwO1oGQk6cx+Ldo1aszyh/FjX7BxSKN9ILxGQzeHyj8yRmQDi2NTc0MAQ5IA/jW6B5WEFRbArYsx5j0nCWTZz6WefOi6UhjqXHc1BwvKZU5CBXqHUQhQR3y6bZzL0yoZ7sEDovocbvU92f4Vy3aOKtt3UJUqTgRV4HyQ48U5uEHCg9Vuwz7BWqp7vQc5iQk85w2JPSCkDsAnIymC7CUAJG+h7krZvO9SZaibCc+TZXvfFJu5wpE5I9bBY/Q5Ckzx0Cnm2/CVNjaZjpal7TeLvDWAN5zU258IIvyNGoNcS4E/9yRAfw== 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=EAuwn7S5ftuN5uITAlZ8x3DI+7/sASR3Tb63nr2Rm4w=; b=pYAu3gsdv206AH9vo3Lv5rwnFn75CGgB7XGzkd686JpfKfgbeZjwdEpYil/0t1NCX030kE32mz8P/lj+H8yN50Yokj/0qaMdBLMDVS7pO9F6BBbAX4DOxrQGT8P5WcUlvgQ8Rd8OiGWGg+xPObfS3/ZLfkz3rRPPpBvqEgrXZQo= 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 4/4] amd/virt_ssbd: add to max HVM policy when SSB_NO is available Date: Tue, 11 Oct 2022 18:02:45 +0200 Message-Id: <20221011160245.56735-5-roger.pau@citrix.com> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20221011160245.56735-1-roger.pau@citrix.com> References: <20221011160245.56735-1-roger.pau@citrix.com> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: LO6P265CA0004.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:339::20) To SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|MW4PR03MB6378:EE_ X-MS-Office365-Filtering-Correlation-Id: 65229b3a-f6c5-4209-189b-08daaba24380 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: +WZT989eOuc2Ww9o8kyCAsCm3zOEE+1tilKOU3yp2zQv1w/UPlvjX6NxnuXVecG30qIyOp3SG9K0Y5EL1B2fz6/6uCuNYWw8T3AkNEjA4C+zGGiIRQjq8V9X6XOPL+QLh0sfI/nMGaYLOdW5LqeAryQEaIZOqwBO7vAt0cWiToPo7Lx8FqiGlqKktRf2OFN3QBgfGxmJgFcrpTvz/jz2Muugqr+TlNU9IJJorfOpKC0+2ePFHhElLBhxt8oAYV/D3OG6ns48NahkR7ezNpibwbMpsD/deGHSwweGVVdb0X9gmZZhGAnwAZAJ7WR+jhxPoPEx1MTOqZ+tXgEVOx4Wg5E9gQ6x4oZiMO/53puU9d0Y7xiOWJSVhk2MpEw+NhjexXserPbvXeUmcYzrEp/yVOz4u12HCvlsTcvmFJnlFp4xYaw3LA0b/g98bcm1SdA7tdh+BHaKcI6quOwP7dhpmOoJ55tetnXIN5OZemHvdUyeQvVqPgBNZJv0bwpTY/7beyCt0NnvtSVXQZ+LYFvNcGN/zg207ItP2efIW1IULg9Bi0bnfR/WOkn/x7gm62uBkVBXQLoMg0w9kemKLnPAhjoT6NwFjS5PlzBckC4av+Aa6L/AqM9/HwWtS0PSh78JBLblQPuKq0mzqFMgJ8Tk6dy5ENxK5kdDobcFHLtsXTyvBg+Lr8GVm4AMCLIFGwfRANsGkFE2ADm640bGg39iKg== 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)(136003)(39860400002)(346002)(396003)(376002)(366004)(451199015)(8676002)(6506007)(41300700001)(6486002)(36756003)(38100700002)(2616005)(1076003)(8936002)(66476007)(186003)(86362001)(26005)(54906003)(478600001)(83380400001)(6916009)(2906002)(6666004)(4326008)(5660300002)(66946007)(82960400001)(6512007)(316002)(66556008);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?ZnQ3UXhFcGFSd09IY0FlQkp0eHhJSkFhbkJ3d2t5dmVDQlBXOVltcjVMOFlN?= =?utf-8?B?VnhuV3crMjdNbWYzNXczS210R0MrVjFxbVk2c0d3YVBSR0xpYWJsaVpFTExB?= =?utf-8?B?MmdxZzFNZ1d1QUV3Yk9QbDZXbVJhRXlqVkxkM1N2TzRkcExnV21mdTFFWnZR?= =?utf-8?B?MTMvb2lZb3EvTFZ6bjZRZ296YUxlNDlHSGlKRmR1eW1wOXpEdFpCZlZ2a1N2?= =?utf-8?B?WG02bm5XdnlpYUpiK2xhaTkxTm1QNVBQR2ZaVGUxVEQyR3VKWlNVRmloSkI0?= =?utf-8?B?akZnOHZULzRHTExJaHN2Ny9uRlh5enBoc2x2ZGxhbzhZbVlVVFNhVVVLc1Nm?= =?utf-8?B?d2NPUCtYUFJkRXp5NFhMQXNuaThOb0Qwcy9nSnk5M3dxdUM1cEV5RTVKcG8x?= =?utf-8?B?M2NmY0hZU2dIUTVhVXY4WmpmajZIcDhSV2J6QzIyczYrTldjY1N3TTRSWUg0?= =?utf-8?B?ZGsyRlhCYlZyc0JBbmJRQ093OW9iZlY3dkRVNjZjQjlWRHR6ZXFzUzhvWmsz?= =?utf-8?B?ZHl1c0wyOUhRMzZjSmJ6NndnL21wVDlPa3hlYlpRWlk2VWE4SHg4eGpNcmJu?= =?utf-8?B?Mkp4RXpjWkxPakNpdFg4VUJrUmxoN1Z2clZ0YjcwWkI1M084Q0ZQWUZLdDFW?= =?utf-8?B?SXZRUmlZTmZyYWpxSi9QT3ZrRVpRZVplTTRjZXNJWWd4TE9WQ0hEZVp6Rm9h?= =?utf-8?B?cklVUTlqTTVsbW5rQjJJRHdGTExoSFludXltaWx3K3lBNHJrdFZiQm9sVncw?= =?utf-8?B?b0xsRE5mQnZzU01hcWthN3ZNbm91RVdDYTdQNDQvK2J5MDk2bURmL1gzbTNU?= =?utf-8?B?WFo1MEZxOFhoeUV2b280aS8vcXEwYWlWbGs5bDZMbHhIRzdaa1p6L05nOUZI?= =?utf-8?B?V0NzdGxaRmpOdEtEUmVOTnI0R01sMXBNUy9xYmRIUlVOV3VuNzB2UjVzUXhs?= =?utf-8?B?UmhpSWtJNFM1QWN3SVRQQVo2RkMzeWtNa0FndzlXdTJIMm5TMVVwY0NvY1B6?= =?utf-8?B?VGtpeEplbHZoT1FiY3VxaCszZSsySEN3QmUrNzhvUWlCRmxDS1VybWRGbUpi?= =?utf-8?B?R2xQd2I2YXJaT0c1RWN6VnBUNDc3TDMzQzhrbFlXWnovejBSZGJTbVRYM213?= =?utf-8?B?dUNTZWdtNWxQdk9WNTRUeWtVQi9xUUw5b3RNNEZac1IwU0NiR1J5VlpUUFFK?= =?utf-8?B?TGUvZFdVcDVWakdyTmZMWEN5d0l0cDJuTmc0bG1IVUNSM1VPSHdlYng4dHpC?= =?utf-8?B?Rit1dVZFNDRLeUhaUGc0WjhMY3JzWmNlWnF6ZjQvOWhGaVBzVGNYZTVVb3V0?= =?utf-8?B?N01OR1A3SlJTamNkL1YydGdXWkhRZTZCQXZqR1JIVk4zbUhFNW5jKzhSRVpu?= =?utf-8?B?b3k0MnduVlVKWUZlYUM4ZHYzc3NnUC9qc1dWWkNocTVBT1dWWXNsOTJaaUMr?= =?utf-8?B?QVlEamI5STMzNHBhRWFZWVdDNFIwcURzNklYS2dobXVOV1NsaDJVVDQ0d2RL?= =?utf-8?B?U3l1U3BNZ0c5bGwzYXFpQzZPU3NiM05mRTQ5SE0yYUFqWHZYd0d1Y2ZmcThN?= =?utf-8?B?V1BERSsxd1dISHUyYVRVeFpsRmw1UkZHMFBFaldzTElqOWp1dXQ0WlExc3dl?= =?utf-8?B?QjlNYkVjZk5RakVFOGdYS1JybHczL2wxODdrV2xKOHZDZnBGa0ZialBDNkt0?= =?utf-8?B?eDRycUExdUxGemRndkhrUkRLZHF3L1ZKZmltTTcyblJzUWE3Mzh1NkdoTkRv?= =?utf-8?B?Sy90VHRnZWxUWU9KdDg5blVsTUVUSlNXSmE0cnZISU1GTHoyeGZta1VvUDFt?= =?utf-8?B?UGw2NUJDU1lpOUY3N0U2V3V2ZUtYRWh2WDRIL0hsN01RR0ZHSHFYRFRsRzVh?= =?utf-8?B?V3JGRTVHU0oxSERPTjFiNjVyQW9UOHF3OTlEbENPSytPMlU3YTlCaUYrWjF4?= =?utf-8?B?bkozdDJJSlBOTENMZk9vWDZmdTMzRGRic2h0SEJDWjRlWTlmYVcvTmxIU25G?= =?utf-8?B?bit3S09LckFIZXgxOTZWaEljZ3VnT2NqMkhOTEZ3VG5qVkpBbUpyVmtiaVdB?= =?utf-8?B?ZWxsYjFVdjBVYUpLRnFVRWJBd2xabXlvR3B0N0tIc2xScGdpZTFTY1BOOG1U?= =?utf-8?Q?t0mRQtwWmyuBxiJ/eHpLXPza0?= X-OriginatorOrg: citrix.com X-MS-Exchange-CrossTenant-Network-Message-Id: 65229b3a-f6c5-4209-189b-08daaba24380 X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Oct 2022 16:04:23.5615 (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: dcIz4EBYZxpUIdCucKI0eQEwFO5xaX9S3+EesBqwDtC3Ouj0r5/glpTV1O3IsLzDUm/JpmIplSjGY6q/9Sl6fQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR03MB6378 X-ZohoMail-DKIM: pass (identity @citrix.com) X-ZM-MESSAGEID: 1665504328333100001 Hardware that exposes SSB_NO can implement the setting of SSBD as a no-op because it's not affected by SSB. Take advantage of that and allow exposing VIRT_SPEC_CTRL.SSBD to guest running on hadrware that has SSB_NO. Only set VIRT_SSBD on the max policy though, as the feature is only intended to be used for migration compatibility. Signed-off-by: Roger Pau Monn=C3=A9 --- As there's no hardware with SSB_NO so far the patch is untested. Post it for reference if there's hardware with the bit set. --- xen/arch/x86/cpu/amd.c | 4 +++- xen/arch/x86/cpuid.c | 7 ++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/xen/arch/x86/cpu/amd.c b/xen/arch/x86/cpu/amd.c index cfeb8d1daf..74cfeffc29 100644 --- a/xen/arch/x86/cpu/amd.c +++ b/xen/arch/x86/cpu/amd.c @@ -814,7 +814,9 @@ void amd_set_ssbd(bool enable) wrmsr(MSR_VIRT_SPEC_CTRL, enable ? SPEC_CTRL_SSBD : 0, 0); else if ( amd_legacy_ssbd ) core_set_legacy_ssbd(enable); - else + else if ( cpu_has_ssb_no ) { + /* Nothing to do. */ + } else ASSERT_UNREACHABLE(); } =20 diff --git a/xen/arch/x86/cpuid.c b/xen/arch/x86/cpuid.c index acc2f606ce..e394dbe669 100644 --- a/xen/arch/x86/cpuid.c +++ b/xen/arch/x86/cpuid.c @@ -558,11 +558,16 @@ static void __init calculate_hvm_max_policy(void) __clear_bit(X86_FEATURE_IBRSB, hvm_featureset); __clear_bit(X86_FEATURE_IBRS, hvm_featureset); } - else if ( boot_cpu_has(X86_FEATURE_AMD_SSBD) ) + else if ( boot_cpu_has(X86_FEATURE_AMD_SSBD) || + boot_cpu_has(X86_FEATURE_SSB_NO) ) /* * If SPEC_CTRL.SSBD is available VIRT_SPEC_CTRL.SSBD can be expos= ed * and implemented using the former. Expose in the max policy only= as * the preference is for guests to use SPEC_CTRL.SSBD if available. + * + * Allow VIRT_SSBD in the max policy if SSB_NO is exposed for migr= ation + * compatibility reasons. If SSB_NO is present setting + * VIRT_SPEC_CTRL.SSBD is a no-op. */ __set_bit(X86_FEATURE_VIRT_SSBD, hvm_featureset); =20 --=20 2.37.3