From patchwork Tue May 16 07:42:13 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Beulich X-Patchwork-Id: 13242722 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 F2875C77B75 for ; Tue, 16 May 2023 07:47:44 +0000 (UTC) Received: from list by lists.xenproject.org with outflank-mailman.535018.832604 (Exim 4.92) (envelope-from ) id 1pypPF-00036Y-BA; Tue, 16 May 2023 07:47:37 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 535018.832604; Tue, 16 May 2023 07:47:37 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1pypPF-00036R-7h; Tue, 16 May 2023 07:47:37 +0000 Received: by outflank-mailman (input) for mailman id 535018; Tue, 16 May 2023 07:47:35 +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 1pypK7-0006iO-Kn for xen-devel@lists.xenproject.org; Tue, 16 May 2023 07:42:19 +0000 Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2062b.outbound.protection.outlook.com [2a01:111:f400:7e1a::62b]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 2e3d5930-f3bd-11ed-8611-37d641c3527e; Tue, 16 May 2023 09:42:18 +0200 (CEST) Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) by VI1PR04MB9810.eurprd04.prod.outlook.com (2603:10a6:800:1df::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6387.32; Tue, 16 May 2023 07:42:15 +0000 Received: from VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::e442:306f:7711:e24c]) by VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::e442:306f:7711:e24c%4]) with mapi id 15.20.6387.032; Tue, 16 May 2023 07:42:15 +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: 2e3d5930-f3bd-11ed-8611-37d641c3527e ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=bq/lQuVdBH8OJVxvLkuI7ZYKR/3R51JXaBu1RSxMhygmomyGqoeM+Lw+EHn5Q8kGVhlaJTs6wnMtHwvGDQ/HNVdhN9UEKFOdWNnxWHbnGJTZh7BuQXsoNYbZdlPL5CxK1dBNDzivvuU9Y18j01RDeijHebKkyD7sUBBgKpk6pnIgQldJ+fiN2QTziuePEwBjIL4qevJu7t354A99X0hXVm6ZEyQom+tFOek3mYKa1MFb17CkgXoY6O6B4epVvy3s/c+pSxp0bhSDC/3LgMikexMdcMNJVyy2VNbGWnIaPNMtWj07etmT8Itu29ZMPUA0F3U1TOOAr9lm1nO+hLFJug== 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=+LSqkT5W5RDveh4x9HUNVR27+X3P8oPB/8p3ASxxGxk=; b=W1oryS4xJc4AboF//dZiex3vCKd7FomkrFqFqmUCI6Xk0A4Er4nq2reCE0l1Y/tEd3iNLm5eEL/GuApuMcickx7q6KBB+sAH0D/MuCRrtG9g1dfkXWMfOGcFtKD3aZ105fPwIlOH4F8K5cYDuhF9WkkgsvFKqgyL6SPDazvRCguQ8eCwFoBbwUW787+cNxJlTVUVqZswfUeirQQ6ksEqRBPfz8BHPw14GtmrLNDJSti0Qj5ju89Z0QI8TTpl4axU0FbfGeyXbpsudwqHlLROY6K8TrhptwpY8ljTqlu7gbbtctczsVt7V/ZS8iVnSqpkBkg7lJuaXrBMn8c3TdCtGQ== 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=+LSqkT5W5RDveh4x9HUNVR27+X3P8oPB/8p3ASxxGxk=; b=HT+XURQm6DZxJNRPAre7SDdErzwHUZE9pk4XCR0lZ4WvBvcSmSQmQpA9kUehTjSBO8xEZyvE/cH90Ettd5Ha2MXHVEJ6OdaM01aKmgvOTDbW99gDX1whBakTmMvsXbmJ9Gg0jxxluttld1I11chSRc2nNw9HIV6aVpKJQ9DhujHHWR4noZGF3hvowxiUsLJjvdkE4upNieVprWdRsCRlp4D6+sBRsQvdpvrij4kAxOPIfBWfX1svM0Jz00cSvQSIaB8CI5N9ZPmPzQWell5NNTZYDoCnKFC/wd9IvHu8Fl6NVTjuZxWWjZZ47tT4lh9cKCfmsBasN6s5+bWWRlYfWg== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Message-ID: Date: Tue, 16 May 2023 09:42:13 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.10.1 Subject: [PATCH v3 11/12] 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: <184df995-e668-1cea-6f9f-8e79a1ffcbbd@suse.com> In-Reply-To: <184df995-e668-1cea-6f9f-8e79a1ffcbbd@suse.com> X-ClientProxiedBy: FR0P281CA0169.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:b4::11) To VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|VI1PR04MB9810:EE_ X-MS-Office365-Filtering-Correlation-Id: 7f0340b1-cae1-4ddf-dc95-08db55e1114a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 0yIGKYfk/tiFqWsKOXXoUYwRe5snVo7ETbsbRajTsKHM2G3KXrqRFD55NrT8eBPqAUEdkhjzn1bNmLb50u5GW+CQi31yqukXu0yeVKuTZcina60xdp3bgg81mm24EU6M/brVyI6ZOu1mAwIVKypJfHtTTyG4grCSigf3x/kGJjVKhXMzB7D7mIilRLeQbL5Q1YOvCBVO4NH7Zs2mjC7bBXbn9riWTfpoI5QkFhTyF80gwPonw9vdyGlcMFQ0JLIUf9bEas4yU05XjKDCt48IlFwWIEtsVS1zZtifkGyhXwb7oXe1rnL7KYMXFMZfK5wEwXCYdALZXMUb3bMpPPX9LufdluIYdUOPsBi2dlm8HJ9WlGx67C2/lEXcv7qAKa+ZX1hamaj5tKdArwhVqDYDm45K09qQzkPvPIm88MJckczqCRi3jah0pyEhQ2ABuXhAkvvvsh9inRYXLQol4HvUTt6GysVmGkBsOJNH2GrZAAWSZOqNaUWdl8pWlBrtz5Hn0ZZEO1QJnNH44Vg20jtAaBslof8RPpWUWeG94Fkq0boOslzfrotGsQ1nk+CeKmNyYDCAuUUcka4u3Cz6I7ocuVrWMOzt68Dzk50w2gGXBwxt0oixCTDdqUQqUPqDHaopt0caw5WfzhuRLrCUXWnV+w== 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:(13230028)(396003)(136003)(346002)(376002)(366004)(39860400002)(451199021)(26005)(83380400001)(5660300002)(4326008)(6916009)(6512007)(316002)(66556008)(66476007)(66946007)(6506007)(6486002)(31686004)(2616005)(186003)(36756003)(31696002)(478600001)(66899021)(54906003)(2906002)(38100700002)(86362001)(8676002)(41300700001)(8936002)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?nT+pBbvKrMu4SKs6AlyMOjvrSSZ9?= =?utf-8?q?JQeRUXb0+4oJzGJcYmDL84bOlwUnUf6VwQcOcgiBGUI5csPxFXLYvYliTm+citi/q?= =?utf-8?q?c24wThczBWDUM6YlEfiFvvcbQzBomMMdXn/VzL2i1JDHYZyI4xd0N0xUpAOW9wwp3?= =?utf-8?q?QB+Kb2yOEN4nEbsCDi3qjdUyrjf8NdF3/WaTkEDLUBnOE/VemE7W2PFMJpqkjQZAE?= =?utf-8?q?nIfPt7MN21SSkyWFSGdcgKbW3CL8Pet+XPmBaMcK71sJAEGdKBQYRxNMt4v+mokix?= =?utf-8?q?1zevJnJVcNvNKqN0BL9HH8GsTW8YpMRDuNjW0mD1ZqU/NUL1bfBfhW4nUb2/Z+B6j?= =?utf-8?q?OzuopoblJt8sC68ZYtluI4h6XONIve35Wq108h0yxAcpkGQgvnh3AvLFnQfihSf15?= =?utf-8?q?0X1zIAfCctHVBa1YAT+dcTNP8e/stKxGg1CyfalaZjOVHXUVFLxp7/W43wZMjfwgZ?= =?utf-8?q?VwBZ+UkMsU1eMxefV2XT4HtAmGJKSVN91Z1lYORkyTnJ7UiPcJcNM5adJqzYGvn8k?= =?utf-8?q?k2uRGuquNEtsnO28R6a/ZcDH3R8b/DuWWrNWpk1Apx7zFhG+clEcD6JHIq4cbhbP+?= =?utf-8?q?iwi4RPfkvDHz8z7JrJidlhvnRspzL2JIlpI7iURatQ/LHDT5XlSgyye60Np8hehmZ?= =?utf-8?q?9fGY+EaWbWLL46UJeML541p7cEEfhp83JPYJDMDh57zv6GySEACee1YQsnPUa9SEy?= =?utf-8?q?Zv5fYq2H5tHB/TGsJpq8O/CXrjnWxvhN6NzyKxZJrC7/1oIfUgBdbKcWB5JKY3E8a?= =?utf-8?q?8rhIi8F0PgKn/oC+329N4HX4RtPTr7DqGrQTHbEX1wq3+iMagI+Mz4Dx2veMYeslO?= =?utf-8?q?icXIZYSyHD+6CTB7Q9LdeY1/YrAPp7V85w2Q1n8N7SzCisI9KMMP9hv16QH80NaoC?= =?utf-8?q?UwtAQslFiC2Qn4VwRohzRqAZdrj7K+zX4wME9RhSrYhuV3ay4Iu80ttJp1DZtOoyR?= =?utf-8?q?BQ+aLulWijFEfHe2wExXcAqWnGEp9pCD5hSzMXbevLNVqubHuG5udkRGh90ES9Gof?= =?utf-8?q?yNALAsCINHMUpHcM442meyCX+E9fgXE0xHTTu+Kywez399hkZ7cRKu/ufjafkkEcq?= =?utf-8?q?ztjLN62mu2ZqCuE4BRK2iGDcIBmMIRpvsrxmLXM+zZOAdBCVEwLxt6GY/zPI0OSUf?= =?utf-8?q?pwhWYF7OnwgArk1l5oH7AZEYK/SyPMLIikaYQYfmoy3/FGntS5dA3sY0u09B5aD0q?= =?utf-8?q?N947Pp+Mm9+Q0DffV16L0kuczVKxtSBbX/1PuTE4bmT2j9D4wX/rO6AGSe8EHbo/S?= =?utf-8?q?W1eqFDKxejNEA5mTc7YA9HPBAhf49u6Tm6cDZk3CtygFP39VlJNDf0pqqrgNhZKtc?= =?utf-8?q?H5WaeQMocwi1BKcT43YTfVoxjS3MSIpkW7D7tEiRTktuPd5WzgKmJXXeoI993GwZA?= =?utf-8?q?Kx2BKXoeO7/g/RDIrgJR6KO3i/jT4xxoid45/3Qj+BxC69IvZV2o1Fq3flYcxq1XQ?= =?utf-8?q?SjyiHKX6bdx08pzvRH3NHL/A18H5sEmbBaPzM65x1HJHeoMxXCs1sEJAWNv5bURs1?= =?utf-8?q?3cq/Xm4hEg7y?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7f0340b1-cae1-4ddf-dc95-08db55e1114a X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 May 2023 07:42:15.0562 (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: KMeJXUNoJWeW/m+jn6x1YQ+ANK0XN2giIA+u2Ms7HMnpSQeYielmTpeTHI9xgNtKZaj69jQ0V5Xwg7H6unP8fQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB9810 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 @@ -1854,6 +1854,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 " @@ -1862,11 +1864,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;