From nobody Fri May 17 04:59:50 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=1666957800; cv=pass; d=zohomail.com; s=zohoarc; b=B/o7h/alb6Omp21V03nJO8JzDcuaaBFRHNgUJ8zJlrOgeTppl4S0ugZDqZWKOFXZSA8MPfpFBc8b/qqJLaDA92Yf60Pr/gf7TAfl6yz8j7Rw3FcqEdz8dR9RJII/LsEA491BlOIQs8+tkR/f4JYwEUixvwdxSQX1vukEG9yPw2Q= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1666957800; 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=aYDw1ju4VK98mCmtSho12wDHfRMXymvoyrYvMdxnUp0=; b=QL0JEP/wF55S446FLynXVFp1Vg268IO6eklnmrFksuFTPr//Q/PDYCiTxViUWPOKWCjXXE1t/yLiiSwf+H7Y65TWehFB+ZkFacIazdvnSa3dBmp3w0t5opi4p8MZqYkJGetpaQYIC6zAzQl1nFIz1R7Nq1uTWM9jEe3rR9mmmZg= 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 1666957800506900.9280412816282; Fri, 28 Oct 2022 04:50:00 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.431984.684656 (Exim 4.92) (envelope-from ) id 1ooNrs-0000aZ-Mt; Fri, 28 Oct 2022 11:49:44 +0000 Received: by outflank-mailman (output) from mailman id 431984.684656; Fri, 28 Oct 2022 11:49:44 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1ooNrs-0000aQ-KA; Fri, 28 Oct 2022 11:49:44 +0000 Received: by outflank-mailman (input) for mailman id 431984; Fri, 28 Oct 2022 11:49:43 +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 1ooNrr-0000Hb-GX for xen-devel@lists.xenproject.org; Fri, 28 Oct 2022 11:49:43 +0000 Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com [216.71.155.168]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 9b321491-56b6-11ed-91b5-6bf2151ebd3b; Fri, 28 Oct 2022 13:49:42 +0200 (CEST) Received: from mail-bn8nam11lp2169.outbound.protection.outlook.com (HELO NAM11-BN8-obe.outbound.protection.outlook.com) ([104.47.58.169]) by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256; 28 Oct 2022 07:49:35 -0400 Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11) by BN9PR03MB6027.namprd03.prod.outlook.com (2603:10b6:408:118::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5769.15; Fri, 28 Oct 2022 11:49:33 +0000 Received: from SJ0PR03MB6360.namprd03.prod.outlook.com ([fe80::9f90:6ba5:5b44:c254]) by SJ0PR03MB6360.namprd03.prod.outlook.com ([fe80::9f90:6ba5:5b44:c254%3]) with mapi id 15.20.5769.015; Fri, 28 Oct 2022 11:49:33 +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: 9b321491-56b6-11ed-91b5-6bf2151ebd3b DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=citrix.com; s=securemail; t=1666957782; h=from:to:cc:subject:date:message-id:in-reply-to: references:content-transfer-encoding:mime-version; bh=eD9s7tMFJPWGtYhi6CBv1Q1gNHmSZ5TKTBfwsmgeB58=; b=fg7tTu7C0rlvJG/us/PvSH+lR1lwRWaEX1Ms1gJ5kd5bltNpkTGXcGkr I0TJG/P0JNkiUOvq6XRRwOHwJz+727CLvG1fPN0sqgZYTCuJgwf6HYAFh 5Q1BVikv5dk0IGkXC5/IcSSWypz6dDbKq8Uu2md2bH6aLAtR8MyXXEql7 Y=; X-IronPort-RemoteIP: 104.47.58.169 X-IronPort-MID: 82799954 X-IronPort-Reputation: None X-IronPort-Listener: OutboundMail X-IronPort-SenderGroup: RELAY_O365 X-IronPort-MailFlowPolicy: $RELAYED IronPort-Data: A9a23:R7VaFK7wnexZUBMAGe2HBwxRtAvGchMFZxGqfqrLsTDasY5as4F+v jNKXjyOPfiNNjP9c9onboy+p08FvMCBmNZgTgNorC1jHi5G8cbLO4+Ufxz6V8+wwm8vb2o8t plDNYOQRCwQZiWBzvt4GuG59RGQ7YnRGvynTraBYnoqLeNdYH9JoQp5nOIkiZJfj9G8Agec0 fv/uMSaM1K+s9JOGjt8B5mr9VU+4ZwehBtC5gZkPKgR7AeE/5UoJMl3yZ+ZfiOQrrZ8RoZWd 86bpJml82XQ+QsaC9/Nut4XpWVTH9Y+lSDX4pZnc/DKbipq/0Te4Y5iXBYoUm9Fii3hojxE4 I4lWapc6+seFvakdOw1C3G0GszlVEFM0OevzXOX6aR/w6BaGpdFLjoH4EweZOUlFuhL7W5m6 NYUOmkjaxC4v/Pnkb2lEuRmqf4gFZy+VG8fkikIITDxK98DGMmGaYOaoNhS0XE3m9xEGuvYa 4wBcz1zYR/cYhpJfFAKFJY5m+TujX76G9FagAvN+exrvC6OnEoojumF3Nn9I7RmQe1PmUmVv CTe9nnRCRAGLt2PjzGC9xpAg8efx3yqCdNPSNVU8NZA3AzJx3IXFCc5akS8ur63jkKcVPxAf hl8Fi0G6PJaGFaQZsnwWVi0rWCJujYYWsFMCKsq5QeV0K3W7g2FQG8eQVZpSNEgrt5wejUs2 XeAhdavDjtq2JWXQ3+A8rafrRupJDMYa2QFYEcsUg8t89Tl5oYpgXryos1LFae0ipj/H2H2y jXT9Swm3exN3IgMyrmx+k3Bj3S0vJ/VQwUp5wLRGGW48gd+Y43jbIutgbTG0ct9wE+iZgHpl BA5dwK2toji0bnlePSxfdgw IronPort-HdrOrdr: A9a23:3l3id6kwo8yuOWt3+DB5Uy6o5ynpDfIG3DAbv31ZSRFFG/Fwz/ re+Mjy1XfP5Ar5K0tQ/uxoWZPwOU80mqQU3WB8B92ftUzdyQ6VxeJZnPDfKl/bak7DH4dmvM 9dmupFeb/N5DNB4voSlTPYLz9W+re6Gc6T6Ns2yU0HceggUdAH0+4wMHfjLnFL X-IronPort-AV: E=Sophos;i="5.95,221,1661832000"; d="scan'208";a="82799954" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=LfsaWNSW8+Hxdm+T8f8OFRQYTjziH34LsIDURS5z+nzN5FabxO0obtmm73P3zbYaDa4WpHfwcbV3uK90/VLHffcXUKgct8ypOy3bXdPjXdYZk+NasJJyNo6Hb3meGcfXEvBf5q8KdFOvfFcXTNyMLAISH8GK2Gn0CbLG4LSz0o8vMCWovrb8vkZkXlTEBRmD9v4uSCA817Id+5nXKqK8mrTbd3oOJYvEafcnW3mMmfxHAAXLdDd1n/lV7mzjGvSQZEYeRFv4R3BVH0e4asS7bsrO42DDoMs1J87+iKiC7Bb4IHJjWitjxOAKYay6HSTVmPDH4qIbVAO5j+uh58kFbA== 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=aYDw1ju4VK98mCmtSho12wDHfRMXymvoyrYvMdxnUp0=; b=ErNn+qzqxZ+eLWN4gSJ9UOLqbLM6I4IfB1H5x9IBG8Gk0VM2pieBGmaWS+WU+lMgUqcqhZ1HlXZIbg8I8/x0OUgUdUC7j4+nyNa1muegGQX42BF+6t4z3AE8vHrTtIsX3O28ScBlWJ1GQilU3bUkxCN1RITWR+3EYgjta7CjjhJnavWJTYcUcOS5lnWJ2REzoLa7s2kAgC+5AjhUXZV/gOqpledi/MvqJb5lcR2z0UzxQNOZUaFuj9BHqGg2jBW4VB+E2ufZqeqfngyMWIM9zbBFaf9jAgefEz7kzF3RK0GDIm7SMVVzifHaWJEHFjaqFz9GCCQIQJlIwqS4OT5QIQ== 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=aYDw1ju4VK98mCmtSho12wDHfRMXymvoyrYvMdxnUp0=; b=VAVyxaLx+xvSX0FMKib1/AEBHD2hByvwIxmcpaeWFYNpwHg35K2B/rboDVSPnrt7L70WUQdxlacSROkWoQnCUQcGuucFRU50Z/G0M8Zq9TpLQHeMaFNwFZkm2mXSJ/oxVlCxC16Wp1BGErQw6jHbzr3Y5qk7aHaa7yQIGJp7BcY= 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 v2 1/3] hvm/msr: load VIRT_SPEC_CTRL Date: Fri, 28 Oct 2022 13:49:11 +0200 Message-Id: <20221028114913.88921-2-roger.pau@citrix.com> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20221028114913.88921-1-roger.pau@citrix.com> References: <20221028114913.88921-1-roger.pau@citrix.com> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: LO2P265CA0351.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:d::27) To SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|BN9PR03MB6027:EE_ X-MS-Office365-Filtering-Correlation-Id: 83cd866b-b8e9-4ff7-622a-08dab8da7ae8 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 04yvv3SCXZnmIUWo3pPDo5wxE1nlQzlqlhQzE5mSvsagOG5+cDlaGEa59f24NfTW+JeaV0THlgnh+Lg4t8PDhmYIYFHAIrZnNJLDRHHfPsc+4Bl3rTFyD6M89Bqj8jaDO6DwPNHPyPp9juFWF65VdHjlDjH/mTI7KtNOed19pdQKrt5NKU2ape+Inw9+zfXGLTCXzG/FGAIvZuAh1l4z9bCKNu+fcvfAc+8UOgReoPf9ztJJ3RsAF+Lx7lqNgd21Ui7F2c5ImlPwEvH5oUX63LEaD9gcqOPCtLPHJGF28MyNvXHNIbGQQHkRmqxirPpbxO/oxDFpdIK+cXp+wLdt60J17pabX6qp0luXtp94VeeLOpKE8N5eFp89706DH4Chsb6ihLfsa2RSbksFg+g7DtkwOV+3Q+mO5IRSBXTTk6+wCOM8Ch2KOwfZReP75sruAt8KQ2qpv6eEKbHpORa7Vvp0tnI8gFOHtxh4HtFj6LKW23lYX5Q9MBCSpPArqLfjzfD45wO80d6xl3Xma2QtD5/UPge6kvqwQWFyc90x6iBsk16Ua1lJ5oHX4RiA+yzalM7SXtvwgu0L3PsRgwEZzW4QZ1FKtcIBwVzQ+uOKohbL2MQL1+73qYA2bIbAwBEQ8iZEEvlZESTzYYzYvYR0bVklB/lhb8ON5g4sx2qbdhkSljoALe8jNbk9CnTLPsp0q8nqOS62sV3BSH80GrbdVg== 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)(366004)(376002)(346002)(39860400002)(396003)(136003)(451199015)(1076003)(186003)(2616005)(6666004)(26005)(6512007)(6506007)(2906002)(5660300002)(54906003)(66476007)(6486002)(316002)(6916009)(478600001)(41300700001)(8936002)(66556008)(8676002)(4326008)(66946007)(36756003)(86362001)(82960400001)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?bHRaMlFJeXNWSWM0VTBrQWpTc0hkNXI4UDBON1JhTGhrcWs1bUNOSkduNHMy?= =?utf-8?B?RjFHaFhFVkRPNVpRbVM3Nmo4WVZHTDRtbFZIVEhLWkE1WmZzWWdEeUplZVRX?= =?utf-8?B?dWFWZWRpNTRnNXZJNEo3OVloU0NNakgyQUxwb2ZPTElZVkhQV05rSzZPUXpl?= =?utf-8?B?R3BDQXBQWjZMbW9KZEo5dm9SMDFHZWFZUVVyZzBJWXNTUTBNOWJ2UXBIcjFM?= =?utf-8?B?WStrTUtubFFoM2d0RTlxT0JQVzNJMjBvU3FNUEV3MEhaR2FMelZEa0ZSa054?= =?utf-8?B?bTdZTUJMVUFjU1A2TDhRK3ZoZEt2bjl2VXlUMU9ZUjZpSDFMb0hPenJiRWRr?= =?utf-8?B?MHBwaG9iSUpqT3BndTFyWmhMZjNRL09mTmtBNGtoT3VuaHh2OWRpSjVjcFpl?= =?utf-8?B?V3JmekRzeXRrZFg2SGpLYm51bzdiUG1uU0VhZS9mSEJBY2VmYTdQMVZZUFRW?= =?utf-8?B?UXVDMGI1MFFrUDlGY2NYM1lITDlGK2pYVGFnaWh0MzRDdmRsb0xIWnlOaUFs?= =?utf-8?B?b2IzeEpIREFWaGhEZk5OcDBYUFVKRTgwTnNIYXMrUFlFblB2L2lCTUYyc25P?= =?utf-8?B?QXVyMVVidXBjbnlhYU5JdUZpK3lXd0FTVFFEZWRDcU5mNWlpTVJBN1BYbkdp?= =?utf-8?B?QlRld2lLNmkwQ2Z6WmtLNzd2OWZrbjYwZTJpaWdsTUJ5UnM2TXR6V2xvNmZi?= =?utf-8?B?bU9wMVVVbVQ5VS9VelBRUlNhYkgwT3ZOL0FZNjNMbDlPa0tVbEM5bDVUM1RG?= =?utf-8?B?NDR1TmJOMG5USXpWYU5nb2xEblhnaDNPeHhXaUpYUGJZZk4zWVdRNTZuVFR5?= =?utf-8?B?ZlB2K1hqdmZjYjBRUCtZZ0tqVXIyTEY2ZDNYTVYxTkUrWHhzUkVYYXlBZTE1?= =?utf-8?B?RGQ5VTYrMVpzbjNraHRmUjJ4ZldwT3psSEl3eFErd1pZTkZQN1FOT055eEFz?= =?utf-8?B?UmVzTEpPTDk2SUdSMkgwNVRBeVZLc21yUmFNby9FcGJnSWw3dDBKZ3NCRVNX?= =?utf-8?B?dkR0UFZhc254K3B3QUtoMWtoUWdjWW82MU5ybjBEZUxCSktEVkdzYTdOVExB?= =?utf-8?B?NXZobkN6RnAyTHZSUU5tMnAydzhTNHZBc3ptWWFtRXRDQ3BlYjBwZ3VQYkpZ?= =?utf-8?B?SXlSbVhCZG91NGRKeE5vU1ZxaXdFVTV4N1ZZRVRqTWlIblR0RFdUMjhjYnd2?= =?utf-8?B?aGdRaDZSYkcrWEtjY1hHNXJDTzRDY3dJdnJHNmdmVTlBSjJVYVVuSmFWNEtS?= =?utf-8?B?S0lyUTJ1enJFVG9Fb0s4WFdpSHpxT21xeDlqUkxoTnJvb1FwR3FvdHh2cFZP?= =?utf-8?B?Y0NEUEVSV2Y3bzlCTTN4WGJjd3JnYW9WZzNHa0lVNTZncmdEOWV3VTFXTDl2?= =?utf-8?B?Tzc4WmQ0Z3RrSGY1QURha1daeU1nYWV0ZXhsVVdSRFNSekR0UjhJVGpNUENI?= =?utf-8?B?RHBwSzFLYW1PeHZ6aFc0NzZ6K1l1Zk5keEdqMmhKUlE3NXhEU0hvRUNtVHlh?= =?utf-8?B?bURJcXc4YnlEQ1c5RDFWTU1SYXdWZEZtYXpDUDhsT1FYdUNBNXlzNlAyd0tv?= =?utf-8?B?M2lITlNhVGN2a3VnMURBUDV1Vlc0ckxDa0I2VjcyMFhGYmtyOGkzUlRqVXN1?= =?utf-8?B?OFhaRi9DZGRXcmFONkZuTm9qWElIWmIwNk94V1RiQllhN3ExcmczRCs5dUVk?= =?utf-8?B?SW1QemtoOWppNHdPYTl0WUZ2dWF3UUNWRkt6a2xsaXdiVTlUL2l1d1IxRUNI?= =?utf-8?B?OUR5eTVHTFN0cXROemFIdGpOVVQxNnUvT2VZeW1Sbk1Cd1RKbjdwUk8xTUpw?= =?utf-8?B?a25YVWp0TFVBREZlN29JMGgzNXBQUG85LzBmTjNiaDYvR3Y1eGxuY2dMN2RR?= =?utf-8?B?QXFSN2lsVTF2Si9ISjU5MGRFUUxQSDVCNksxQUNsNWdEOVdWdTJkQnVjYVpD?= =?utf-8?B?amZvS1loVWk3eEpnaThxZ0g4MW1jVjNxLzZqM1Nka1Y3ZExkYitsVkxXK1o4?= =?utf-8?B?MUxxUnF2YjBUaUpvRk0xaU95eFdPMmVtZnU0dzF5U0RNOU8yQllrRjZWWDRH?= =?utf-8?B?VVBBbHliVU9ITW5FZ0tDT3drQ0dGdTYvMk9nSDlXRU5nbXNpRStzUCtETjRr?= =?utf-8?Q?hMPx62gxdFD/R0QzjfRNRHkMX?= X-OriginatorOrg: citrix.com X-MS-Exchange-CrossTenant-Network-Message-Id: 83cd866b-b8e9-4ff7-622a-08dab8da7ae8 X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Oct 2022 11:49:33.3290 (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: 6dpw77xJQ1CdITUDY0fCMiKykD6cFGIARF7XN8o8hKk2eC1JCzYDyF7lZQO+oXsS3z9OP4xEwvD6E5i8oQzKWQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN9PR03MB6027 X-ZohoMail-DKIM: pass (identity @citrix.com) X-ZM-MESSAGEID: 1666957801661100003 Add MSR_VIRT_SPEC_CTRL to the list of MSRs handled by hvm_load_cpu_msrs(), or else it would be lost. Fixes: 8ffd5496f4 ('amd/msr: implement VIRT_SPEC_CTRL for HVM guests on top= of SPEC_CTRL') Signed-off-by: Roger Pau Monn=C3=A9 Reviewed-by: Jan Beulich --- I'm confused as to why we have two different list of MSR to send and load, one in msrs_to_send[] and the other open-coded in hvm_load_cpu_msrs(), but given the release status it's no time to clean that up. --- Changes since v1: - New in this version. --- xen/arch/x86/hvm/hvm.c | 1 + 1 file changed, 1 insertion(+) diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c index 44b432ec5a..15a9b34c59 100644 --- a/xen/arch/x86/hvm/hvm.c +++ b/xen/arch/x86/hvm/hvm.c @@ -1498,6 +1498,7 @@ static int cf_check hvm_load_cpu_msrs(struct domain *= d, hvm_domain_context_t *h) case MSR_INTEL_MISC_FEATURES_ENABLES: case MSR_IA32_BNDCFGS: case MSR_IA32_XSS: + case MSR_VIRT_SPEC_CTRL: case MSR_AMD64_DR0_ADDRESS_MASK: case MSR_AMD64_DR1_ADDRESS_MASK ... MSR_AMD64_DR3_ADDRESS_MASK: rc =3D guest_wrmsr(v, ctxt->msr[i].index, ctxt->msr[i].val); --=20 2.37.3 From nobody Fri May 17 04:59:50 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=1666957809; cv=pass; d=zohomail.com; s=zohoarc; b=DilzUAyzQCbUB9fb3xo9pm5gw/R2zqPksWb+ANQ5ZXRdBI0ExOG7qPqg1yI8jmAJP68FiEElql5EUseYZy/lI+kErEaJYygPYjtEg2da9HavQRV7rXxQXHy1uBXGYLPb3Gbd3DgEI60XGcmn4mPHw9QPWAqzz8g+fDjQOzgoqJM= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1666957809; 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=1FD4zSusDD1nx/omYRwRbRuVZQkclT2SS5Qqf4UzDyE=; b=AjgEf4WcGf3ORns1Jfh04HNlT123HsyfsZ+cqYxW4DMc0nYV8Jfoy6SKdvk/4VJKiZHTtkjKw0jsGuDig23MTTlNmTHhdnGdzqomjdwATI9KzpKoq500JKtrkcNTsl85cy+wfDjl3w1lKP62WZyDFsYROkt/GaVdFf1G2CF0vW4= 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 1666957809714357.56959632336645; Fri, 28 Oct 2022 04:50:09 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.431985.684668 (Exim 4.92) (envelope-from ) id 1ooNrz-0000wb-11; Fri, 28 Oct 2022 11:49:51 +0000 Received: by outflank-mailman (output) from mailman id 431985.684668; Fri, 28 Oct 2022 11:49:50 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1ooNry-0000wQ-TT; Fri, 28 Oct 2022 11:49:50 +0000 Received: by outflank-mailman (input) for mailman id 431985; Fri, 28 Oct 2022 11:49:49 +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 1ooNrw-0000Hb-Ol for xen-devel@lists.xenproject.org; Fri, 28 Oct 2022 11:49:48 +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 9e3b40e5-56b6-11ed-91b5-6bf2151ebd3b; Fri, 28 Oct 2022 13:49:47 +0200 (CEST) Received: from mail-mw2nam10lp2101.outbound.protection.outlook.com (HELO NAM10-MW2-obe.outbound.protection.outlook.com) ([104.47.55.101]) by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256; 28 Oct 2022 07:49:41 -0400 Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11) by MN2PR03MB5103.namprd03.prod.outlook.com (2603:10b6:208:1aa::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5769.15; Fri, 28 Oct 2022 11:49:39 +0000 Received: from SJ0PR03MB6360.namprd03.prod.outlook.com ([fe80::9f90:6ba5:5b44:c254]) by SJ0PR03MB6360.namprd03.prod.outlook.com ([fe80::9f90:6ba5:5b44:c254%3]) with mapi id 15.20.5769.015; Fri, 28 Oct 2022 11:49:39 +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: 9e3b40e5-56b6-11ed-91b5-6bf2151ebd3b DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=citrix.com; s=securemail; t=1666957787; h=from:to:cc:subject:date:message-id:in-reply-to: references:content-transfer-encoding:mime-version; bh=UzpYOEF47yweIqsogyxeHkQxw0+cB1pK+4B0T/d6abY=; b=R3/Om3Fuycf7wcReYv1g5PZwuRp1I4Z/0kaeO7X3nrG/gcvTxUob2fpa Vepw76AgCJctNwssB06/+Kw0sTF/jShth8A2BK1nhzmSK/+CpK5sxoukr WstccH7b/ACUkj4TL6Wr7WQPk9H8tDBjqmemai8w8dTXbkUBlg1RBjvgq Y=; X-IronPort-RemoteIP: 104.47.55.101 X-IronPort-MID: 83317456 X-IronPort-Reputation: None X-IronPort-Listener: OutboundMail X-IronPort-SenderGroup: RELAY_O365 X-IronPort-MailFlowPolicy: $RELAYED IronPort-Data: A9a23:TOAW9qDCfcN7SxVW//Liw5YqxClBgxIJ4kV8jS/XYbTApDsm1mQFn zdJX2yEP/zbYDGkf40iOt++9R4BvMSEyIdlQQY4rX1jcSlH+JHPbTi7wuUcHAvJd5GeExg3h yk6QoOdRCzhZiaE/n9BCpC48T8nk/nNHuCnYAL9EngZbRd+Tys8gg5Ulec8g4p56fC0GArIs t7pyyHlEAbNNwVcbyRFtspvlDs15K6o4WtC7gRkDRx2lAS2e0c9Xcp3yZ6ZdxMUcqEMdsamS uDKyq2O/2+x13/B3fv8z94X2mVTKlLjFVDmZkh+AsBOsTAbzsAG6Y4pNeJ0VKtio27hc+ada jl6ncfYpQ8BZsUgkQmGOvVSO3kW0aZuoNcrLZUj2CA6IoKvn3bEmp1T4E8K0YIw479wAiJH8 r8jNG4mVBCOvsKH7Lm5Y7w57igjBJGD0II3nFhFlGmcKMl8BJfJTuPN+MNS2yo2ioZWB/HCa sEFaD1pKhPdfxlIPVRRA5U79AuqriCnL3sE9xTI+OxuuzG7IA9ZidABNPLPfdOHX4NNl1uwr WPa5WXpRBodMbRzzBLVqSn12bOSw0sXXqobEZ2h2vN7umSr6W0DWD9Pe16xpum23xvWt9V3b hZ8FjAVhbg/8gmnQ8fwWzW8oWWYpVgMVtxICeo45QqRjK3O7G6xJmUCVC8HV9Ugu+c/Xzls3 ViM9/vrDzFytLyeSVqG66yZ6zi1PEA9L3IGZCICZRsI5Z/kuo5bpgnUUt9pHaqxj9v0MTL92 TaHqG45nbp7pdEP/7W2+xbAmT3Em3TSZgs85wGSW33/6Ap8Pdahf9bxsQGd6utcJoGESFXHp GIDh8WV8OEJC9eKiTCJR+IOWrqu4p5pLQHhvLKmJLF5nxzFxpJpVdk4DO1WTKuxDvs5RA== IronPort-HdrOrdr: A9a23:FpzfZKyS+ccJyBw5jC/sKrPxw+skLtp133Aq2lEZdPULSKGlfp GV9sjziyWetN9wYh4dcB67Scu9qBTnhOZICOgqTM6ftWzd1FdAQ7sSibcKrweBJ8SczJ8h6U 4fSdkYNDSYNzET46fHCWGDYqwdKbK8gcWVbInlvhRQpVYAUdAa0+41MHfuLmRGAC19QbYpHp uV4cRK4xKmZHQsd8y+Ql0IRfLKqdHnnI/vJUduPW9Q1CC+yReTrJLqGRmR2RkTFxtJ3LcZ6G DA1yj0/L+qvf2XwgLVk0XT85NVst38zcYrPr36tuElbhHXziq4boVoXLOP+BgzveGU8V4v1O LBph8xVv4DmE/5TyWQm1/AygPg2DEh5zvJ0lmDm0bupsT/WXYTF9dBrZgxSGqS12MQ+PVHlI 5b1WOQsJRaSTnamj7m2tTOXxZ20mKpvHsZl/IJhXA3a/pUVFZol/1SwKppKuZOIMqjg7pXXt WGTfusrMq+SGnqIkww5QJUsZ2RtndaJGb3fqFNgL3U79FspgEG86Ip/r1iop4+zuNDd3A93Z WjDk1JrsA9ciZEV9MJOM4xBe2KN0fqfTXgdEqvHHWPLtB3B5uKke+/3IkI X-IronPort-AV: E=Sophos;i="5.95,221,1661832000"; d="scan'208";a="83317456" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=n3728W8c6e4zdwg5TvAy+XBrHFvvTXudLmfzEK39LoOOkQr/tL1ttsWO2D8RK1SdXuwQosFUKjzapC+j5jI3iyTyAymTcbsko0Ge5LVXFMMXedRYgWjpYHeoZ1P4UMBFD6a38rWis+CAt8yTQzoLOTBcDXXbwV/d/jjVSTqvWYVSiStQXbT5Hn7HLOiVG60FhOsCKYInZdZyMShYRvPj+XPdCbkNlDojDm+hXl5KSydbbor2c5Kc4PN7OAgmcpp/D0YOYlMkANy++nMSjWQo8n14LOPVoN0QYHfx5UgkODRCXLTbTYDcpk1/HQ8oRG7yDIEDzglwm5KzYnvi8gln+Q== 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=1FD4zSusDD1nx/omYRwRbRuVZQkclT2SS5Qqf4UzDyE=; b=jcQBGFlnA79XbTT/tLrOOhXAd6HO0Xz1/UGMKGW8Wf7M5MPk9mo02R0PB3TSMVg5FVtCxxGjDsY+DO4FR7aZACbu4oNI+0WeOvu5AzyV93tKYoOjF8/JGQtfCeYQIWeRQTmxIFmM9kjBZMFwnOf5umXO0uudtzIIR2oQtaNJb4yhD4KoBxie8I2VtgXivhlNBS34AKa7I6h2o1fwlsQwp5qDWfzl/iDzngfd6vog22pTNZRLkbDP4LvmUv/6XDl0kwSUA98+cEsVATuklQ6klkwD9fSU3GJjRUt/chTEeDGEvLnv8zaNYWRk8KuOigM5+TzV8VrJ8wgayZTm2kjZNg== 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=1FD4zSusDD1nx/omYRwRbRuVZQkclT2SS5Qqf4UzDyE=; b=Vgotu/ZsLOxB27Dlb48OtpBNUyuaMTchtYfVW+WFPSySyXj4dTKKO8rF2bJr9Wm5brqoUjLX2WOr0xcJaTlNrZFM14b+Bzh1V4vV7ogOhaRnjJz2amvaGdgLsSC0RzFqoTvtHPrayZAuEFEL57g0SNttLrit6Otj/jSjb+FKGoY= 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 v2 2/3] amd/virt_ssbd: set SSBD at vCPU context switch Date: Fri, 28 Oct 2022 13:49:12 +0200 Message-Id: <20221028114913.88921-3-roger.pau@citrix.com> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20221028114913.88921-1-roger.pau@citrix.com> References: <20221028114913.88921-1-roger.pau@citrix.com> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: LO2P265CA0136.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:9f::28) To SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|MN2PR03MB5103:EE_ X-MS-Office365-Filtering-Correlation-Id: 6c47ed17-b03f-4800-fb4c-08dab8da7e53 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: XkUWIIMFrbLm8OFjE+NTuzvCyCdDMPTGLUUky+5PZHrlU4kI4BCiYI08ZuNS5CazgAg1La9z5zaRtEferIckDD+GJUqlNA3X1A+lLQBQvki1gwaPeGQ9XPNoVPTXO9ZXSWzdpuH4N0xWb6xThdw6X8p38gNjSWFQRC1twvudB5y8YVr5MSKWph882JFHW2KX4+F7a/3olAUey4603g6afOqx5+DEMZ7oJ7RytlbUtT5tDmpJsisku2wX9kpIj/cdu4JgEanWULoyijGxAH2wV8+mLj3PlKs3aa1XppGeIM5nwa2iGnJLe/N4aHCqesyuc660LrmoL34V4ycmzmz5BPEDVSWQZu0yxYa3Vw8CC/nFGo5Iz1mXqJ55YFyAUsthVWJYmYSwndtqSMdylZXzsy1bU66i/MRtu2k9Oj8SI3l61koH1AUiyp+pGFi50Twj7FkdNjvqwuNJFG5qmw3zH/G1l6x1xZzxG+cWI5wi8EtNeMhWDi5oy/LegqlDls3TjxMjvBBIN9ZM4Do3jiA6kp/2QOaVJ/pjnyopWCIoMLsAE9Clvr3f9bffo87fMPT9JSFHs5ndcM3AhnF01RZT1Olw82YwENp5JEHfaHNzhuRly7pIDA6s+22xDoDl0p7+PZW76WnlXGF4+pYYi7eWzaOwHGMoEB4KYAhyA5aTUd7pSwbSnPN0NPVhLSnOV5Y1+A52Cazk9FiKeBSRKByqPg== 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)(366004)(376002)(39860400002)(346002)(136003)(396003)(451199015)(1076003)(2616005)(83380400001)(6916009)(316002)(54906003)(186003)(36756003)(26005)(6512007)(6506007)(86362001)(38100700002)(4326008)(8676002)(2906002)(66556008)(66476007)(66946007)(8936002)(82960400001)(41300700001)(5660300002)(6486002)(478600001)(6666004);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?Wlc4YVRicTFleE5UNGtHVHQ5SHRoSmN3YUMwaTZaSVpocUovdERvL24ybFdD?= =?utf-8?B?d0k3Z1krS1h2cTdKaytCZjlac0oraWt6L2t1eEdDM2RlTWlCOUpTOVZjUkFq?= =?utf-8?B?M0xFWUZ2M0lqUG1yQjJxcWFqTGNOKzJZQVAyWm83dmZJbmRFdUpKMmh2dFV6?= =?utf-8?B?TUVwSTRzWlhxaFZqZGNESEx0WEVSWlA3SGFscWlxMGNmYzhDMDVYQUJDMmZa?= =?utf-8?B?T3g2QXRXM3VVODlkRkRuNWZBU1JETXVRSG1sa0xPazRuYW1Pc1AzeW5WYWRy?= =?utf-8?B?cXg0VWVxVUNudEdmSUk0MW4yNERZYUE3cHZWY2R0MTRXTi9ycVhad2tlRzRu?= =?utf-8?B?QUMxdDZheUdqVDVBWk1GSTI5aVNyYU9BRGFYc0hVR05nc0hmNktFblcvbmJB?= =?utf-8?B?bmxTMnRHVVpxMXhaMkFXaWxJNXIvc0MybDNlV2s2R0RWS003UlhNb01YUHN5?= =?utf-8?B?ZEI3OTRjbUVteTBiNWxOUEJZKzJVSFJnRjkvcS9iVldIREc5SXNReUFpS3JE?= =?utf-8?B?d3QzUFcyUlhQdStzK2hxWnBxcmRVVTVjbVJGTTZ2TXJrM3NIUEVHdWVaYTYw?= =?utf-8?B?OVhIdXJuckcrY29mSFFCVUxORjVNWW1YNmh0UUFtQkZmUmRmcEN2VHR4VUlw?= =?utf-8?B?M0NXeEt3QmIwekY4YWtCN2lzWVBDQ2d2RXVxODZpTGkxYlFPWnQvR0NWVHF3?= =?utf-8?B?d0FvRDJnbVB3eFFDYWxJaXlrd1I0aWNZOSthbGVXNUs1QklFaTNBSm5HRmtR?= =?utf-8?B?RDd0N2dPL0ZnaUNyaGZuZnNMSFljVDl5K3lyVjhxVWg3NzJ3eFU3VlpPNzRP?= =?utf-8?B?Um9sS0dUNmNMNGtjQ3lyWEF6aE1kMFNIY3Vsby9HdTc4SnRtSlZjcWNmTkls?= =?utf-8?B?QVdlQTl3OEY5M1huQ3hnRTVEM0g3Y01FeElqWjV4RkVXR1FYUUFyazlMQThi?= =?utf-8?B?V1hkTzJyK2VpQXpxQXhYLzh4MDlJZk42bTNoMlYxbllsdGFPcXkvalBtUXFB?= =?utf-8?B?a08rdTFHSUJibmh3ZEF4eTdDeW5laHk1OEpWSmFlSW5hUVcvS1JFZ0puM2th?= =?utf-8?B?d1FQeUUvNlhQSGNvYXVVaEFDeGZ0Y1VMTFZxb1pqd1B4Vko5c0hHS3hTcUFm?= =?utf-8?B?NHZUOG9tekVocUh5S3RhNjgxV3JIK1ExbmJ6MzIrTDM4WWF5allqYXRBRVFF?= =?utf-8?B?V3VYMUJPbzZzUThQZ2N6NTRxZ1MvNEdiTUd5RHc4Um1ma25BNUUxbERsRDM1?= =?utf-8?B?WFZMdDJDUjkxaTYwQnFicVc4UzJ1VTRQdXZSUkJDdWttYlNRdGdQTWd2emRm?= =?utf-8?B?Q0JxSGlMbzNTRmFScDhIQVJyQ05XajFpK0FacHR5MldCcEIyNTZOUkNNbjFu?= =?utf-8?B?Z3J1cUFpdmUvV25hOHEvcWtSVjV0UkNmanMyaXRLcGx6d2VhRmt1NlNkMFU2?= =?utf-8?B?L3BnWWU2ZXc3U1FGZENwYWtKcDh5WE5pMjZRbWVSTDdIM28yZDM5NnNBRVJ4?= =?utf-8?B?Z0kvOW1KTFEwV2RsWVBnL2IxVzE1bEJyL3RnWTNQaGlLaWMwQzFUY1NmWWZt?= =?utf-8?B?YlVWOEFtQzBIVnNDZ3hyU3U2dVBRb3A2aGJNcFhwUFZDVEpGM3h5bndNcW1r?= =?utf-8?B?NE9yYmlrQ1RSZHlUNXFqWmpoS0k5M0RMNThFQi92YlFzcFg5MDRiRWZhOUFP?= =?utf-8?B?MUNtZVFxSTlHbEZwUjhZQTN1TzlpZVNiYWRScXVTNzZZaHVjOTZNQ3RzUHhH?= =?utf-8?B?OCtkWXhNTldvQnJQTCthdkdka3dYSWdnbjJ6a1BuNlh3TUFjNHdrSzhiNWNm?= =?utf-8?B?bTJLdzFZdXJVTWhJb3RKV2ZjUXk1ZHRFOWdHVHRzZmhNeDZtb2tHZWwrNFpD?= =?utf-8?B?THJCL21UM0ttSkY5UmFHK1FhSHRoblFmN2ZNM1ZHZGJUYVM4Y0doSFlOdVNE?= =?utf-8?B?akoxSDlLa2k2NnpZNytsRjZOZ2JwdGJqNTV2dkFRNmc5TjRKZXJzNWFwQkwx?= =?utf-8?B?MVkwVk1IWVl2akxwSGRvYS9HYUloN3JYQ1ZYdW9WZlJWb0V1U2I5M2FPZWVR?= =?utf-8?B?TUJESGV0ZjNyODZsQ1htQkF6SGxWbjRERmphaTVRK3FFZCt3cFBqZjFRQ1d6?= =?utf-8?Q?biPAeLuwkR2uTKsQGQ+SdSvbZ?= X-OriginatorOrg: citrix.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6c47ed17-b03f-4800-fb4c-08dab8da7e53 X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Oct 2022 11:49:38.9879 (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: Q3Vmqcc0Le3VE9P3WBYbzMN7KQHz7QnvLHego56+l5U1zfURG4TCDs4hEPV/jI9GcVj90x8oXXaPMrYnTwbSUQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR03MB5103 X-ZohoMail-DKIM: pass (identity @citrix.com) X-ZM-MESSAGEID: 1666957811881100002 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. 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 --- 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 | 49 ++++++++++++--------------- xen/arch/x86/include/asm/amd.h | 2 +- xen/arch/x86/msr.c | 7 ++++ 6 files changed, 65 insertions(+), 64 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..05d72c6501 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_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..b2f147c11b 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]); + + /* + * Clear previous guest selection of SSBD if set. Note that SPEC_CTRL= .SSBD + * is already cleared 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_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_ssbd(true); + } } =20 static void noreturn cf_check svm_do_resume(void) @@ -2518,6 +2535,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(val & SPEC_CTRL_SSBD); + break; + default: printk(XENLOG_G_ERR "%s(%pv, 0x%08x, 0x%016"PRIx64") Bad register\= n", __func__, v, reg, val); @@ -3116,34 +3137,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 04:59:50 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=1666957809; cv=pass; d=zohomail.com; s=zohoarc; b=CPKTdG+C5Tg1RY6pXcFWPwd2DP9QnW98pmQ5eE/RDMtOIF3jvDYtdXDW0gzvJX0BKnjAZfnF4PGeSZ3+iAU55nBn6FXvWyFkJL6WO8d7nkcZpVhGWcViPMRdPoMDAsvqzwRElY7qD2AZcNncjya7w/DWv7njsFbP48wEtnJDEjU= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1666957809; 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=HjwyPUUW6uvA6MFC/wsykxiv/QG5N/oHoiqE0L+rAJQ=; b=PZF3NxQrP+/1HXo/7dOYQECqaxC8WvxTOJK4WHi4yapV8kDcmZv9QVaFznYsBkm7M3sg5AKdISi5+G5yeAKksxnJtBEMGlUo9zMAfjhHV5nL+ocyHP68tixynt1/sgU86Awv+PAPomYtRK8xR2XTgICJfHHOLy/JjrBRaGkKcU4= 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 166695780958953.58960332161007; Fri, 28 Oct 2022 04:50:09 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.431986.684679 (Exim 4.92) (envelope-from ) id 1ooNs1-0001GG-Dx; Fri, 28 Oct 2022 11:49:53 +0000 Received: by outflank-mailman (output) from mailman id 431986.684679; Fri, 28 Oct 2022 11:49:53 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1ooNs1-0001G9-A6; Fri, 28 Oct 2022 11:49:53 +0000 Received: by outflank-mailman (input) for mailman id 431986; Fri, 28 Oct 2022 11:49:52 +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 1ooNs0-00017v-3B for xen-devel@lists.xenproject.org; Fri, 28 Oct 2022 11:49:52 +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 a03b66a5-56b6-11ed-8fd0-01056ac49cbb; Fri, 28 Oct 2022 13:49:50 +0200 (CEST) Received: from mail-bn8nam11lp2169.outbound.protection.outlook.com (HELO NAM11-BN8-obe.outbound.protection.outlook.com) ([104.47.58.169]) by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256; 28 Oct 2022 07:49:47 -0400 Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11) by BN9PR03MB6027.namprd03.prod.outlook.com (2603:10b6:408:118::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5769.15; Fri, 28 Oct 2022 11:49:45 +0000 Received: from SJ0PR03MB6360.namprd03.prod.outlook.com ([fe80::9f90:6ba5:5b44:c254]) by SJ0PR03MB6360.namprd03.prod.outlook.com ([fe80::9f90:6ba5:5b44:c254%3]) with mapi id 15.20.5769.015; Fri, 28 Oct 2022 11:49:45 +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: a03b66a5-56b6-11ed-8fd0-01056ac49cbb DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=citrix.com; s=securemail; t=1666957790; h=from:to:cc:subject:date:message-id:in-reply-to: references:content-transfer-encoding:mime-version; bh=qY03LfRv9yDnW4Pz8QCS8mYG+gxyCw6inrJzCBoDSRI=; b=BztC+70rL+cQ2Oq8ZpNEnipK4x9bTZxWLc3/pMTRpt85cNdLrPjPJG7u dxN5ZnebFqO5ImRwQtLoDO1Tf00IPVv41YgTGFppzNcV+YTW3h/bVOWL3 JJlyMQ5caJ+oWSuwMrHJ7bT5fTkhplpVFAzBQgOKilXhw+Vrm/M8iJzd0 E=; X-IronPort-RemoteIP: 104.47.58.169 X-IronPort-MID: 86237829 X-IronPort-Reputation: None X-IronPort-Listener: OutboundMail X-IronPort-SenderGroup: RELAY_O365 X-IronPort-MailFlowPolicy: $RELAYED IronPort-Data: A9a23:HTwsm675D5TXIbC3xjAGYgxRtAvGchMFZxGqfqrLsTDasY5as4F+v jYdDzqGOPrfNzekfNEiaN+w9x4D6MTWzNAxSlc9+HhmHi5G8cbLO4+Ufxz6V8+wwm8vb2o8t plDNYOQRCwQZiWBzvt4GuG59RGQ7YnRGvynTraBYnoqLeNdYH9JoQp5nOIkiZJfj9G8Agec0 fv/uMSaM1K+s9JOGjt8B5mr9VU+4ZwehBtC5gZkPKgR7AeE/5UoJMl3yZ+ZfiOQrrZ8RoZWd 86bpJml82XQ+QsaC9/Nut4XpWVTH9Y+lSDX4pZnc/DKbipq/0Te4Y5iXBYoUm9Fii3hojxE4 I4lWapc6+seFvakdOw1C3G0GszlVEFM0OevzXOX6aR/w6BaGpdFLjoH4EweZOUlFuhL7W5m6 e0qDDcdSjS4o/+MnoCJbftjgMkHFZy+VG8fkikIITDxK98DGMmGaYOaoNhS0XE3m9xEGuvYa 4wBcz1zYR/cYhpJfFAKFJY5m+TujX76G9FagAvN+exrvC6OnEoojumF3Nn9I7RmQe1PmUmVv CTe9nnRCRAGLt2PjzGC9xpAg8efw3mgB9JIRdVU8NY2h3K4mjQVWSE6cmCY5taeoGmcXIp2f hl8Fi0G6PJaGFaQZsnwWVi0rWCJujYYWsFMCKsq5QeV0K3W7g2FQG8eQVZpSNEgrt5wejUs2 XeAhdavDjtq2JWXQ3+A8rafrRupJDMYa2QFYEcsUg8t89Tl5oYpgXryos1LFae0ipj/H2H2y jXT9Swm3exN3IgMyrmx+k3Bj3S0vJ/VQwUp5wLRGGW48gd+Y43jbIutgbTG0ct9wE+iZgHpl BA5dwK2tYji0bnlePSxfdgw IronPort-HdrOrdr: A9a23:5YTbAKpOe26CuJA16frIbS0aV5rReYIsimQD101hICG9Evb0qy lhppQmPH7P+VIssRQb8+xoV5PufZqxz/BICOoqTNKftWvdyQiVxehZhOOP/9SJIUbDH4VmpM VdmsZFaeEZDTJB/LvHCAvTKadd/DFQmprY+ts3zB1WPH9Xg7kL1XYfNu4CeHcGPzWvA/ACZf yhz/sCnRWMU1INYP+2A3EUNtKz3eEixPrdEGc77wdM0nj3sQ+V X-IronPort-AV: E=Sophos;i="5.95,221,1661832000"; d="scan'208";a="86237829" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=oEOPmID/baK/Krzn9QyEgfUjyEvuLTwxYcLgU4BkFmms2a8PShD+RfFtvvYqKB08UnVfbswluHcsT2/W1OSrK2iIzTi84SykhqpxsWv/e8wNFEWUuTy7Ub/khx64ly5bm9oEVnZBJx9OFjlZ8a4O4CwTB7qzkqdcfOsw7FKeEj2RTfba7WSGxSOa8W6iM6Q0KgozBaV/zC5npuujq5lGQwBZnH3dvigg6eO2i4qndetPhOXoYTRTLJ57GyCiob2QvIdSTm6I9Al7JCd+Pi+uxmHsmVs3yxFCEBbdqACBhmC+w5lEdax7END8MLCALZv3ktp7xcG2aDhtIlRiq9J9xg== 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=HjwyPUUW6uvA6MFC/wsykxiv/QG5N/oHoiqE0L+rAJQ=; b=L5eVJGYFyQI9d22WjoInJ9NVjyFzrxOE/WVoOp8tkzu9l/UIJ8O2txUydPW2zQBNvL0iZ5p5nbtfNW+zGzKeSw2n9LP58arGMO/rHQzZ0PhfKR8ngFndtdZv9lc2QEHylBM+Pxy+zV5z+JN9DwetLeNdat28RbZ65v8uNLRACtJqYgnQby0upqcUqP9hL7SxaBWli1PNcQEK/zBhbctsFhySxhHMxwfIxzIR0wnTCl/J5YFmwsjpOAgTy7tt9zmIh13Mo1bI0yJEbE0Dd2UzTlPwP9EA2YAYVoiDP7Rc1ETxUkkOIRn9ECf7+0jLjzteLvZlZI2n3IXQiJTRfHHdCA== 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=HjwyPUUW6uvA6MFC/wsykxiv/QG5N/oHoiqE0L+rAJQ=; b=gqJCac6NZh7B4LdoIZ0mgGSK/cM0nDWf4o8eDJWkvZlvJ3M/nD8JXXNx7Sw1atWUAUzH7HToYa0cihSqUYgJuuhqfVH6CApomKIHJe1aTzhqSTrsauh66Q7gDtxoO54SIcFovD7eVjApqfpP5w4wD+QFMaEDkKy1yvdQQJwDQtE= 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 v2 3/3] amd: remove VIRT_SC_MSR_HVM synthetic feature Date: Fri, 28 Oct 2022 13:49:13 +0200 Message-Id: <20221028114913.88921-4-roger.pau@citrix.com> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20221028114913.88921-1-roger.pau@citrix.com> References: <20221028114913.88921-1-roger.pau@citrix.com> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: LO2P265CA0154.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:9::22) To SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|BN9PR03MB6027:EE_ X-MS-Office365-Filtering-Correlation-Id: 7bbb5d6b-ca1f-49f0-09c4-08dab8da81d7 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: HZMGuXyok84w1jfA/gyWHXKzyGHu8D+P3y/XWYqpEdj0ayu5uoME/eC34JCL/Puf8KAUb2oflfiEKloi8PluZHcZ+IZuTHYzdaMvWrxnd9I6tWz+ig3zW3gJ41dcV6CSPbNek45fP0icTbWojpC0fiET8z91+ZiQ/je93xzMTKlr8Zs746y+4+SCcMRSD/9M5nk5wtCKZThiKgaSh/rxHdAXr4Fnij63co2AIwmrQfJeC8K6tIhbv/WV6pyzkW4KHh+sgQMhnHt6G/GWSl6bYGm2L57pgIWkw1FEuBa6dJusCIhsq2PeYLT/HFSVS3FICTxfJf+8b7fPNrcosWiRErUtT8gOv3/oIrDhyhOCZ+LKv7D0e3vtpjm2mvJIvsbIDD5AL4JTAfEQNtJpma0M14zwCOCWTo1JcvtH8oa3H/XIo5J+VcKq5JsPbUYSKJLEMnfW9uaRp2hevOCakBcFaOPJp/ZIQktrtyZTX/Gt6n2Xpp5+MKToHQbEaavhKKRMRTBpeQ1UhZ7ILtURYuSJTWNP0NNAuUmNvKPjV+LbKeImVI2zhvDgVvj7yhRn7DlM46ZVywPv3UeormxUuAbwBz9gJTExcS9efkLX6PIebz2+Xs4tcij+vSkmHvSalEfNLtvQ5NBFkst0505Vgy49HlWmyR4o399NMlFqxCIoJQYiUO10EPIoaZnGHQushRTJTE5Wn0rzP1BZyqUexRz7JA== 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)(366004)(376002)(346002)(39860400002)(396003)(136003)(451199015)(1076003)(186003)(2616005)(6666004)(26005)(6512007)(6506007)(83380400001)(2906002)(5660300002)(54906003)(66476007)(6486002)(316002)(6916009)(478600001)(41300700001)(8936002)(66556008)(8676002)(4326008)(66946007)(36756003)(86362001)(82960400001)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?Q0N5QVUzV1dGRHY3MlEvejBON3VTWmRURFVmUUUwbHhkdmVhREZuQktkU0py?= =?utf-8?B?Y0dtZG1qNWtjRWtPRTRlaTNGME5Pd3ZEQ3JMMER2MTNra2NaT3pra3MreW5C?= =?utf-8?B?YTNwbmRCWjJmN2FoeUF4OGVQLzNJRmlqeERpcyt5SFhYWW5PbWMwNUd4Y1Jl?= =?utf-8?B?TjRXYjYxaFNhNWt5SmFVOWh6ZVNIR25adjJxRWNkRlZUQnZLRWZ3cXA1eWJ0?= =?utf-8?B?NFBGZlMxZVB2Y3dyQ2ZGUVAvenZ5ZlpiQmRISFp0eGUyVU5EMnM2V3J3dnNy?= =?utf-8?B?Z29PQ3poNGNldnd4VkMvUFEvV0pKQ1BCME4rdGUvT2hyaU8vS1lvYzNzbmFV?= =?utf-8?B?ZzB2VktLK0RZM0VDQTV5WGQzTGlKQUxZbVlCdDNaTGk2eVZYdmxjdlh4Q3Bj?= =?utf-8?B?Z0VYYkZiblp3OXpZU1Rrd1c5YWtVUW9tT1FQbFRnMjRJYXhYYTlzRzZjaXdF?= =?utf-8?B?R1IrMGFERDRKWkRTMUJ5UTF1ZTNyRjdPUm51WlpTMENoZ0VDM3dyUy9wTW9z?= =?utf-8?B?azN5VTJPRURoalZ3czJkTU9LWG1tZ0thZG45VVZwcUpmdzhCRG4zRjJMQ3hm?= =?utf-8?B?am9oM1NxREVRL09wb3pzSEVsa25oSFR0NktoZWhDV01qejVUUXR6cWRwMDhS?= =?utf-8?B?UDgyUy9BcVYyQUE2VTNYY04zQTdqV1ViLzBJcEx5Z1JoaXFMam5Jem5WeUp1?= =?utf-8?B?NkFZcERaenN5RWQzV2o5ZDA1SjFIYytRTy84TDdyL3NsV0NCWjNpUmJUZm12?= =?utf-8?B?TnpqMkJsaytNU2pBazE1RUZrRytmWnpHZllDSkRrUXhWQm96dVpkUEZPbS9x?= =?utf-8?B?ekFmeXlzaFZMMG9MZHJBUWQwUDIvc3ZwQXNFSzJhYWxzeDZsZmtpMVF0L3ZH?= =?utf-8?B?ekR6S3N4dG5TK2xKbzVVakZrN3ZxV0dxYWdUWktDcGV1bGQvNjRLR2dGenRM?= =?utf-8?B?RHZ3L21vNmhVUmhDc21sRW80Y3RQWDd4Mk5yVVlaQ3QvNGx0aGptQ3B5L2g1?= =?utf-8?B?eTFpTFRyM1BFT0JmSW5kUEYvNmlXc0V0ZFV4K2dRbE9Va2ZORjI5VHI1b3Fo?= =?utf-8?B?RnVlZDg1cXg4Ni9ZNkt0UXI2ME1MWDNRQXFkN3VFZzZRc0tVNU9zb2xXaDcz?= =?utf-8?B?bkZhMFFzWDJxTm9FY1RGWFk4MEpFOC9CRTVraU5PeGlBZHgveVFQZG5DZFZN?= =?utf-8?B?S3lvZHZoSWFRc3hvTHNnYXZlc3NjQTVaSHdFU1lkTk5KSXJ3YldHRzFHKzMv?= =?utf-8?B?b0V0TDdURXp6YTcwMDBBWC9QY0F2c2poMm5YREhZTzZaZWhlaHJIOHZWRWFO?= =?utf-8?B?OEF0blU2VEk5cXRjMlc0bm0xUTllaUtVQ2lNZjRlejU0MUV4aEQyNjBLWFNa?= =?utf-8?B?U0FtL3daeGszcUJ6c0hOVnJXM0ZEOXVRWnJPVTRHZ1o5cjEvSm1helgzU3M5?= =?utf-8?B?ZXJEczhwRTJmcVVaZWRETHpPbUVpWmx3MXdvd3JGTnkxMFVYb1RUYTczKzE5?= =?utf-8?B?dkduUVUrZU5DaGpERW1QM0FoRlFQTjhGWlF0ZExCOEtEVjBrb1h4b2tLSGVz?= =?utf-8?B?SHNNZENDMEhpazdFWFZiMElLMHdDNmFENjJQQVQ2d3J6c3Rtd2t4d0Y4b3lo?= =?utf-8?B?Vm9lVGNPMjV2SzhPaUFweVlhRElucm5ncWFYOHhKK0VhcGp2OWVraXJqRFNn?= =?utf-8?B?cjIyQS9HVE9rNlFHM2JJVkF0YmtFemE1bjZYVnVjZ0NEb3Jpd1JaOTR3SEdG?= =?utf-8?B?TGpKeFk3bVhtTytjWjVuampKWVBPMlZmQnQvU25WQWx4SEJ6NWpxa0ZtdEJr?= =?utf-8?B?WlJ5NC9YQnZ1R2Q2bDJuYVNKdVFxNUIwR0RBdlAwT042eFIwZ0QvVDVYWXRl?= =?utf-8?B?V2RHVnVoTkIwSFAwY1lSUGl4VTFJVzR2UXRIWi9qL0xwc1N3V3Nqc0xlUnF4?= =?utf-8?B?MExTenc2OUJFeHhySXR3TjFsZ24ySHMyS2tkYmYyZE11K0VMbDVvZElTTGVU?= =?utf-8?B?ZFAzRnUwVHhNYjhRZmRxRHlrWFcyUk5wcVVOdzBNd2Q2QkF4UTNWNmJzY0w2?= =?utf-8?B?anBBbDZtZGpGOG44OHcwWEJwblJWazVWRDVCZTdRNDZwNHBXTHVDTUlHczRn?= =?utf-8?Q?bMO/zOnODMs/95m02hNfgjRnl?= X-OriginatorOrg: citrix.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7bbb5d6b-ca1f-49f0-09c4-08dab8da81d7 X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Oct 2022 11:49:44.9581 (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: qY0hCGYjZ/zaHqN19D0DX+l3NqgmdfXKHcT/RS6UilcmmnFmLoa5Ned/Uni3HMyl/veMOgjgnTpvH3Iry6Js5A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN9PR03MB6027 X-ZohoMail-DKIM: pass (identity @citrix.com) X-ZM-MESSAGEID: 1666957811859100001 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 05d72c6501..11f8e1d359 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