From patchwork Wed Mar 22 09:36:29 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Beulich X-Patchwork-Id: 13183757 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id CD2EAC6FD1F for ; Wed, 22 Mar 2023 09:36:45 +0000 (UTC) Received: from list by lists.xenproject.org with outflank-mailman.513259.794021 (Exim 4.92) (envelope-from ) id 1peutW-0004gr-At; Wed, 22 Mar 2023 09:36:34 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 513259.794021; Wed, 22 Mar 2023 09:36:34 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1peutW-0004gk-7x; Wed, 22 Mar 2023 09:36:34 +0000 Received: by outflank-mailman (input) for mailman id 513259; Wed, 22 Mar 2023 09:36:32 +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 1peutU-0004gG-J0 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 09:36:32 +0000 Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04on061a.outbound.protection.outlook.com [2a01:111:f400:fe0d::61a]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 072af97f-c895-11ed-85db-49a42c6b2330; Wed, 22 Mar 2023 10:36:31 +0100 (CET) Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) by DBBPR04MB7641.eurprd04.prod.outlook.com (2603:10a6:10:1f7::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Wed, 22 Mar 2023 09:36:30 +0000 Received: from VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Wed, 22 Mar 2023 09:36:30 +0000 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: 072af97f-c895-11ed-85db-49a42c6b2330 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=bqWKzpJs2zGFEQpjTbCLJhH45ge/vnrvMXDsrMze0I7fT/E3u+fNB6iT6L+WAoHfjNmxZDZl5Pg5Z/Cqzk4H7k+KQr+yExP8OX8EiLelo4pYgoJ752gsjESCAhj93Ghr/sVcy2AQxnaAiDo3vcDjyeG2CiDvOOGJi65o5OMNEbD7Q3EqcobBSgphZQaE3sz79WUj4KADh+2ccAZDMNwpm5dPvWZKRfgE49Hu9nNXKJDUHyKPl4Uin7F0sjI6SD2rxGLiaya/jv4YnUEDQGJzDOjgJGRn00IakOoPsuMgEJUC/ZXlbxCrFvIKymPVfUhMEI+KYw0t8lOp17WzhdN2tQ== 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=49lynVsPvUKe3NRmbj2l3SPJzRr48ByaR2NLWqRe4tA=; b=AeoLxzGN8qDvBh7cHyW6B76s/aSaTnXXEFIurjH3hhZ6vVRBUe6Ft+s48Nc624LwfBCqjQBuQ561fsY7i/Tt0jBiNx7UMclCcYwRNC51aD67dETf7lEsLO6C/r7zsU2b1vSSFVrR+BDpQZvFETkE5x29X+nDmOqllKt2ZI09Ra4jJwadAHwQhmStiypGBfKsC/2LIx/Qp6UzRw4ZrHKwdko/Jletuufb5060ujZ3LEG90xLNZ2MpPMfxa7DOds7EfSwidB72McQX8nnpR+AltmrcRTFsoPn3TEVUYc6ytMwFoRMb9nkid7uSGzHfS3zM24rTBZOo3jWLHhwZ/s5TvA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=49lynVsPvUKe3NRmbj2l3SPJzRr48ByaR2NLWqRe4tA=; b=TfXGYLDl13YODTXJLVz+2nmV+L9Brlu/NcXNI9Gj3LYvIFmDjm3YFgeBaHeYWf2gNnYG1So/FCeFBB8hhQYkXeERmC6bzGMgy1QEx0V8Stlcx9dUFyZH+2raUCagan63H3pMkcZsfC6p5GenLGamqXsc7i/wT+8DcZGwCOqUWDeG4mX50H4+THVUBh4Ngh7Vf4OJHWHp6hvLtRKgfBR3cIE7jR12mnDGVrVutsz2keAIFPpMqqaZR6d1Q8RaGt4AEFK2yeeSoucDS00uF6cG49LAir6kIqFXx0IIltSswcmGZ16Z7efKH8MbgZRXBLcKFCsQgHebLb5PT61bLVLabw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Message-ID: Date: Wed, 22 Mar 2023 10:36:29 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.8.0 Subject: [PATCH 13/16] x86/shadow: vCPU-s never have "no mode" Content-Language: en-US From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Andrew Cooper , Wei Liu , =?utf-8?q?Roger_Pau_Monn=C3=A9?= , George Dunlap , Tim Deegan References: In-Reply-To: X-ClientProxiedBy: FR0P281CA0052.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:48::20) To VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DBBPR04MB7641:EE_ X-MS-Office365-Filtering-Correlation-Id: b2925894-c725-4e64-1af8-08db2ab8eab1 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: sXm1oaLUvtSMJk8fztQYtCCauwUJ79bgL+IVJvzv598YKWewselL2zX+2PhTKeVVk5xH+RwYeSM/xR748uX2w2nTId/5+CaUfpGBQ11L9wYAqdPSFAXK0N3xOSV7VZKHoyHRMq4oyCnx97tPGwn+cD+DlHocl5N/UU1dhMw5nzjWz/UGeD6dFxDGlncFuqq7VcCHJUdqXRsKN1OCPOyrgbYxxUZ2oOCpZDQVNI2C9GI4tYnshhpQJTyrHZyXAid5kvj4lD0/jw6ygBfElYsLImHB/tm+h2xRcMZShtFNY1RmU9frzfHlgGfa/ARvMlGmzoDmQDnAACijTD9kHwGipXjaC7+BfhWUckW3yYjrzGgw6UdlpdnODUABjwBta1te2T9DzwivZ329g3wU2Gfa2lw59Adxikyl+l/C3EBdGNkmSGIy4AwiHf1vkGuGTOwcdqy7Kz9pAY0l8uvgjtStoETvm77ngyKKDJHXFsoyPUSZr1xsJO3jv85uwIgmwpDjfpqkk5k4RpxU5bnFbBq5mQbwFzO53x28YIUZmxxIpbJIzW7NuGHLwHxusnmS++MadzoIZFAp55wt92H+hfs3qdNpK46nQO5wfMxctfAXINXdlytzQU7CMWCe5zC/xdp5fT9Lf0AonE0uv/EalBNsEfZ3/J25R38Ik/tnn6s7Htyu7VxGxSD7umFDRRJPXJKio+LEH+BB2VMs4C9vZPcEUqJY+9Df3tQ57J9rpDSrQsM= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(346002)(396003)(376002)(39860400002)(136003)(366004)(451199018)(86362001)(31696002)(36756003)(38100700002)(83380400001)(8676002)(4326008)(316002)(478600001)(54906003)(66946007)(66476007)(6916009)(2616005)(6512007)(6506007)(66556008)(6486002)(31686004)(26005)(186003)(66899018)(5660300002)(8936002)(41300700001)(2906002)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?MZORGi9TbfUiJnWwF+NMBVUJjQNT?= =?utf-8?q?v/7pF+ZMZEwcmuWJiaOrKrTJXGIeJ5GnwIxgrzmY8MTxQe5W6o2Ip6hr313gJCC+4?= =?utf-8?q?oBgj0w0nI9UallHZ03uWKTL/46cRCImtbnwkhB87jmzn1SAEmm0M3jXP+9Wi8Wsy4?= =?utf-8?q?qD9qyACG4khcD6M1eP7jOYbyvDp75M7HoLhxq/V1t5bYiFiosjcvdhQS5XKRA8U39?= =?utf-8?q?0TmV2fIASKVSeb5Aeufm+1N2igUxcQ+x9k9sJKI/zPZ9gly2I5cFe/c66/a42f0tA?= =?utf-8?q?WGd49JryNxJeqt83QqhzU6bnHVPJYhbeUZYQ8NrjSvRLrFQ/R5XAw2LJIwUfZkbkb?= =?utf-8?q?SIEQ/Pm7aoN3fjn9RL3uy6otXvUFqLHApruJap3+e159ALoYEi404+OXZi+WLMRs0?= =?utf-8?q?FvpDyZyI4Omn6xG8N0QKJqLTUlirzOyA6OjDk6FBprniYLpStQAdWOqHHidliLw4S?= =?utf-8?q?UtZyZZ/fLz2QNgKaX9nFvsLUIRcYjcIIMzM4EBnEQKgxDUOL1P2nEJFyAyx1f9NvK?= =?utf-8?q?kwlGJ+HxegEx16rMh+7lsIx+sIbymXonlZGmrzQbr0+2Iudx3xYDGkEKT+9DRIe+w?= =?utf-8?q?eoXlcz8Tqw8OYWzTblmLCu80uzruZpuLcoyQMVsVnG5KkWAvzJyAAf/KUmSRkSCT7?= =?utf-8?q?JUz3RnIerQ/g+tLcKyaXCfXKVXOCBAg2mzXYNrYgDmCCXTP27dbAeAj7roHXrMDk8?= =?utf-8?q?q5OtBySg1ytljQ1JEisS9brlv5zFBT1z273lxB3Dty/RvQ3tfPBv6WYHLd6L94+fo?= =?utf-8?q?UzrgSskCY3uYt5QlLv5XIs05LfujlgzzP84IP8KxIjCh2oxRqahLXMzVhhDIzl9kh?= =?utf-8?q?Uq1uE1yZhErYApRAFU5OZAobgAal3Da4eE9wJtmjZny5WRYnPIcr1Wvst1UL5gdaq?= =?utf-8?q?Oob+U6Hpw+rzy1uCFZ29HvhoNVbPNtA+7TJ+00UZbmPkmtUeaI44dF0WDhBc9n7LT?= =?utf-8?q?U5M+hQ+0vcLMQYgIdrMDflpbN55tVNvpOOan7XNYlmdmTi63/m2OcLvQcnDP9IPUl?= =?utf-8?q?EbQ/O/IEWRbZp1EZLk/Y4dBtS+Z1twBxNLy0tK1SZ9cckwcReys1RD9Eb7S4aYXrw?= =?utf-8?q?Q1khQe6MrFonHxwcnrnlRNBAkDD+GAnUdQQpu+2SMg0WZg+C56QBlEfkph+CLaOrW?= =?utf-8?q?7CxHL5LIeYRqeiW2pCkf1eWcA9Rybbbchd5SbfXqPq1MoUAaeXQjzAvGzDMz4pPP0?= =?utf-8?q?LQldvqGVc0hqNlTH92oV4qq2x6LpE6TTxYsOvOs99XEbCsYVnofMaBFaPgA60VwC4?= =?utf-8?q?ZLIU/lqK7YUCy766jEebjGcDuLoCtIIremBzuzAfslT+TZP4B+knKh53/eWHjKEwt?= =?utf-8?q?gORns8e5/0Qgn0/M/x9p7ID5+EHVpK1eLZxTNZaQ/xNNNJOwp4qT5N0UQHWDVUrMU?= =?utf-8?q?GzJVcRU+ffBVSTlDDRhk8ZyEk+JpJMlB/GWg/sw1qaJSEdujy8+NQYEcnc5Fr7iXI?= =?utf-8?q?Rr0rPEj+bZkCuPx165bqsBhn35yb+IESFYTVUfE9rIOYoFUJMxkHdnzZeZWc+ekWq?= =?utf-8?q?hLe1VrY+2nSs?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: b2925894-c725-4e64-1af8-08db2ab8eab1 X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Mar 2023 09:36:30.3818 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 5Grlt6sdbNUmP+0Da2NqybuVVG/RpnFcroPtY7tW2Z12GgMCpjRlCwuuQt54Vr36YjdyR/QygXlgap3xHzko7Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7641 With an initial mode installed by shadow_vcpu_init(), there's no need for sh_update_paging_modes() to deal with the "mode is still unset" case. Leave an assertion, though. Signed-off-by: Jan Beulich Reviewed-by: Andrew Cooper --- a/xen/arch/x86/mm/shadow/common.c +++ b/xen/arch/x86/mm/shadow/common.c @@ -1864,6 +1864,8 @@ static void sh_update_paging_modes(struc make_cr3(v, mmfn); hvm_update_host_cr3(v); } + else if ( !old_mode ) + ASSERT_UNREACHABLE(); else if ( v->arch.paging.mode != old_mode ) { SHADOW_PRINTK("new paging mode: %pv pe=%d gl=%u " @@ -1872,11 +1874,10 @@ static void sh_update_paging_modes(struc hvm_paging_enabled(v), v->arch.paging.mode->guest_levels, v->arch.paging.mode->shadow.shadow_levels, - old_mode ? old_mode->guest_levels : 0, - old_mode ? old_mode->shadow.shadow_levels : 0); - if ( old_mode && - (v->arch.paging.mode->shadow.shadow_levels != - old_mode->shadow.shadow_levels) ) + old_mode->guest_levels, + old_mode->shadow.shadow_levels); + if ( v->arch.paging.mode->shadow.shadow_levels != + old_mode->shadow.shadow_levels ) { /* Need to make a new monitor table for the new mode */ mfn_t new_mfn, old_mfn;