From nobody Sat May 4 22:30:18 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=suse.com); dmarc=pass(p=quarantine dis=none) header.from=suse.com ARC-Seal: i=2; a=rsa-sha256; t=1673271588; cv=pass; d=zohomail.com; s=zohoarc; b=f0zLm4DSYpkLqL4LWSYMsqZ+h5sgFWjPK2muKKZJbHTSynK6urB981JElFnvyNHuRkUsVm+6+zkgFLqhoEeBUw5hjB+rLNrIWVq1mxhiSkZY46x0mL3RgLHnlow4L6OR8Xso3qQcZoLTHiSDnF//D4atIJS9Co+mRzVmw3bpfss= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1673271588; 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=yskimPD3tXl4FmikgAtMvcJ03/xUebDIDOeJX91rW+Q=; b=BxXiNMJZJmyW0Lyu4Ve2mpabvXc0tVdFNdBnh8vcuJqGpm6WWAKjo2fOU+GszCiWgznPdaFEQeWF2zfyYeGJ6aDvBZ3RgCW7D8Sxsi2T5pjh/Mhfbg2sv7mu9aH1XVJKDg7oINHZiH411HHH9gOIOHHnwhTKaKmNesLFmWCjio0= 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=suse.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 167327158801933.55303269218962; Mon, 9 Jan 2023 05:39:48 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.473633.734335 (Exim 4.92) (envelope-from ) id 1pEsN4-0005zc-4Z; Mon, 09 Jan 2023 13:39:26 +0000 Received: by outflank-mailman (output) from mailman id 473633.734335; Mon, 09 Jan 2023 13:39: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 1pEsN4-0005zV-1s; Mon, 09 Jan 2023 13:39:26 +0000 Received: by outflank-mailman (input) for mailman id 473633; Mon, 09 Jan 2023 13:39:25 +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 1pEsN3-0005zN-HI for xen-devel@lists.xenproject.org; Mon, 09 Jan 2023 13:39:25 +0000 Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2055.outbound.protection.outlook.com [40.107.21.55]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 06bc94a5-9023-11ed-b8d0-410ff93cb8f0; Mon, 09 Jan 2023 14:39:23 +0100 (CET) Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) by AM7PR04MB6936.eurprd04.prod.outlook.com (2603:10a6:20b:106::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5944.19; Mon, 9 Jan 2023 13:39:21 +0000 Received: from VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::2991:58a4:e308:4389]) by VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::2991:58a4:e308:4389%7]) with mapi id 15.20.5986.018; Mon, 9 Jan 2023 13:39:21 +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: 06bc94a5-9023-11ed-b8d0-410ff93cb8f0 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=JJ4khDbk3cVq5YTxYUB4dk52fiu5dfEC2JdUpW/bgZv2WY4hGFK1tBOFRAKW6PERxDS3fGqBKaU5o3WgW9kF91NC79dhBf/lmHYJ/El8M1LQrCJgrghnQd+Oj2ZFAXVZN2/h1HQ7HfdDqrBZp8VJpfWXm2zBF7Y57ccWVL9ylBPuplVn7cSABZiTj3X7vrEIE1vjV1D/4K3Fmu6GFNN/oyyxwvzi0GbjPx2MYoVs2Ln7voabdMqnq0u4dHlgTQiSxvpx3IiuOQjZfYu8rGE5IZP51NCjeBB4OhMEgAfamRRA4waQ3TleAM+axyU+f4GO76YEnbi7jxfG1gfQesa5Sg== 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=yskimPD3tXl4FmikgAtMvcJ03/xUebDIDOeJX91rW+Q=; b=KHg1zGii2t2RB72aGsH9fmlw3vmZPlqXjVHO7pzslCdobHcGatCoTv9lqqku7VPFh7EH0C7B/P468G781vvy+zF+HzikvP/D2mdGQTXzrXbJFzE7/G1X5bgVwPxoJZGtTdUk1+5FwOt0OhUQGEng+ols/27ZQDIIyiLC74le5KUwrGV1SjiOSH3OzDFc0gxqDFFF59UHCY7GNjZC4FhKvSWx6cq7SGR/8l4rqmyHlcP8yarDoSbhidczflPHj/FVmWXtMxr6h3COwwG4qRG/iJ/WOPIbG2oQHTXSn1FTsT86LoGpKEHvIbxJaBOIl3+Zj3VRx3NtBXRMuWDLFawBgg== 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=yskimPD3tXl4FmikgAtMvcJ03/xUebDIDOeJX91rW+Q=; b=Xr6MwYYcMAQZp0cWnSjmdvTPUgEAldOpZaNZi1DcyPVEvdasfK2vGAWgDyMGlhDcT94jY9xLTtQWC3Upnw0ERYe7RrOBRBNmpzxygdr5eaQ2D93NcWLZuD8SvNb/+Dc8u2gLzzqTVq0RToVwkB7YHKmCAPJJdr5SePdVcPSLvTxw4BIR8fdel1N6zPRA2Keu6O5raCcgjOd/fUBGoVrJfuLrT1xmmhwPW/q4ICsUPRsEpMZ8xw3PCN06hNt1WCl6rhvnrVDjCMDUgF74nJA9fJoainBEWPJfZnEwK2dlCRCy5u7cagri84AngwnuRkPvtLRhhRwNo12ctg853aw8yA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Message-ID: <67b9378f-cf4a-f210-aa2d-85af51c51ab0@suse.com> Date: Mon, 9 Jan 2023 14:39:19 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.6.1 Subject: [PATCH v2 1/5] x86/paging: fold most HAP and shadow final teardown 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: <882f700f-9d79-67d5-7e13-e42c3c79ba11@suse.com> In-Reply-To: <882f700f-9d79-67d5-7e13-e42c3c79ba11@suse.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR3P281CA0208.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:a5::18) To VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM7PR04MB6936:EE_ X-MS-Office365-Filtering-Correlation-Id: a8da4fec-62f9-4d64-4f16-08daf246e9ff X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: X8wAcUZhned8iPJmlDUNadU0pDJVOBRfbCBt5jvVCZK43MGOY4X9xudFhiswrm6j9hbeWHRQ4C1EW3QILnI7s1A76WawJvgtGfVTA8w02zeYcDflNQbCOH1UtNbVMqxZUe3pWb0s112qQqKTITaZ5gqIr62dXjI+IaAUZK/0UovstgPdoBIuiJ7Bx5QBNCo0MeYVhg6i9e4o4TN4xfg9P6EDOVygnaaqVR/dyKkxA4XBwi6+WjZ7QwJU+bHHgWb62mbvJeBt3aGQg6u6qD27skqKJZYAqEzq5q55bY8hu6HuEFxmCyQjGMTgsZtkjCezDndY1Egw4JKuKPzMDLm5I2KkWjQXuoh6HHmK8F/AGehnyBz0Bsv58O4eb0YOCZIVCsfBwDm6BNlmLR2Eg1wmh3pSbN3GZPg3YsxAyr+mzFM+J3U973K73e4j/+lV3WHSOxvSjI+F1SptEMegEu9OIuFlqU5jgGYPlwut3QUQiywqx4yhnjjfnOb7jVI1yQOgMxVrftHcY21n64I7JOFQTr4bz1xmznEtS/9G4krLAkgj43x4OeOtGORzavZbbg3Q6vogR1pOTHoI4/h44mKKAGyLIaupwoYWQ6lkyo0g3FmrIsTOfPalB01L9BEKmbDArqm/0VgHfHZxv1T6C5YcJ/bCxbHuIVIbUHqxgUu142wHyN58wgSuODM5qu2ml9iUOhI9cwVXmOwotOtQItiO+KxG5ARLzCNWumqnEbraIl0= 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:(13230022)(39850400004)(396003)(136003)(366004)(346002)(376002)(451199015)(83380400001)(86362001)(31696002)(38100700002)(5660300002)(41300700001)(2616005)(8676002)(478600001)(6512007)(6506007)(316002)(4326008)(66476007)(186003)(26005)(66946007)(6486002)(6916009)(2906002)(66556008)(54906003)(31686004)(8936002)(36756003)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?ak5lcDF2RTFQck9BV3Q2NDZNU1ZpZnRodHhCUTZjaDZNOURvQXF3MmtPdjRG?= =?utf-8?B?MEgwTVp2WUpoQWxiQnFLck12SExheEYveXIyT2ZSaGtSQ3kyb2FWY2RZRUpG?= =?utf-8?B?ZkV4RFlWT2hTM2crcUNEcnZQMXp2WHlsUGxrMkxTZ0xwV0JVakJMZnZDSlMr?= =?utf-8?B?S21tMzVKQjREZlZFdk42S0trOG9Ja2tJTDNJZE00UUJZZHowNDhxZ1FTWTg1?= =?utf-8?B?KzFkalZkdkQ2LzRNM1lGbTA5eWFnYVVYSHZHUVdHTHMzOWJxQ1VSSkU2bkRF?= =?utf-8?B?R3dtZnI0Z0hFSlJlUUplZkRMNkZHNmFqMDV1cXkyS2pUNWlJYTQ3UlEzQlR2?= =?utf-8?B?TmEya0xIQVhnRkFORzFZdTlUVm43VGQ1Y0pJVXBCUStidG9nazhOc0hwTk8x?= =?utf-8?B?eE1XWk8rQld2MU1OM08rS2g0a2xGdHFwWVl3eVE4bUJaaTJ1Yk0xcE9iczcr?= =?utf-8?B?VDdRajlEeDJxa2V5YVRPb0l5L0JCamV2N1QrcjJyUzBxQlZ0Q1hmY1Jlekc5?= =?utf-8?B?UVBxV1I2NEF6ZDRFdktKMTJ1dW0rTkNHOXZsMWYrcDRpOGdJSkxwSmdjYlJI?= =?utf-8?B?TlR6bXh4U1NxVldHWlFrVGdzTnFwYzNrZnIwOE40L2srbGVFZldJRlZMRnNj?= =?utf-8?B?SVpSRjJESXVINStUdjJsaWFTM0czKzRXK0xWZjc0Q0J3WktsQVNyUEFHNXRS?= =?utf-8?B?L1MzdkZTaDJrbU5yajVhZ1QyRW8zZVU2TDBmTmdnYnl3aXpuY1U1ck9MVEpG?= =?utf-8?B?MW8rL2Flcy9Nc0xxb2tUMTQ5UUJoOS9HRGpKenhCQzM1TDlzRWlzQnV0VjhN?= =?utf-8?B?SnZ0Z1B6QitJU0prYWlIa0dMZm5RZ1cwOFc1bEZsTzNLUzVZaDhtSm1wRlRh?= =?utf-8?B?bVdJaGN0cmg3NG11UTJQZit2anlpWTJpTkN2ektzdVlRcFJBeW1QT0VqMHhI?= =?utf-8?B?cUlEd0R0OE5VNXJIaVFPRXJMWjlRampLUlNzVWtwbnI1ZzNaVkhwZThvb2Vu?= =?utf-8?B?WVhYeEtqMHlrZC9pV29rU1J2SnVOWU1Jb2lHN3RQUnp6NWlGREtCeU8zOW1l?= =?utf-8?B?cHNtV1FkdVVrNmNDSWJRT3RNUnQ4NExoWmZWbjVVM0pXUVo5L2ZNd3Q2UTZ2?= =?utf-8?B?OXMxaERaRzk0R1gvSGJZZDFNSXk5RVpqNDF3M0trZDl2QTZsblhZQXJjeFlh?= =?utf-8?B?RXhscHJWcXVBVzNGUjdjWmRNMHhxdGUyQy9sNmUrSUZhcDJyT0lqREVMNVFh?= =?utf-8?B?d1RXZHVQODJ3VUFDK3EwNXBSeUk0V0VIdEZjazBub1dBSUpFM2JSN08wdzdp?= =?utf-8?B?NTVDUUVmZFN5N3BneUZKbFc4Uy9aMzlWcCs5T0hYT0JQTmVabE92cTNrOU5o?= =?utf-8?B?YVhLV3h4Zk1yMHVoSkdweWxnckpGMng1MUhneHhFa09rQlp1bXlNYjZFV2w2?= =?utf-8?B?Tk5JVnJmcnVSZUFVWjM4eDl4WFpJNnIvNnUyN2l6NC95U25xVUtWWkU5Y3U5?= =?utf-8?B?d0pvdm9yd1VvdDIxU3lGeGxXYmdTRUg0eHdPc2lEWnFqaStqRWduTDNDd1hE?= =?utf-8?B?VEdqUTNmZGNnZkVWcUlVZ1VUUkduSStnd085UmplVEY4Y2p6NjRHa3U5WnlJ?= =?utf-8?B?d2tTbGpSTlNPazE2MVhISEVCaEttRUpWaDlzalF5ZWQ2bUZYKzg3U0lac2tr?= =?utf-8?B?U3JaNnpzQWNTMzdQVzdMYk84MHBSRTJVbS9WbWNkRGl0SXhmdDFmRHRUV29w?= =?utf-8?B?Uy9FQU9rMDd6eEV5Z0dSNWtKZFV2WVBzOXUzN1dseG1aY2o2L0tXV1ZkOTVK?= =?utf-8?B?WEl5SVNsRE9mZEkrRFRPeUVGZXpMSXc2NTJ5MkJ3K1Y3SEljYVZBNnN2WGRJ?= =?utf-8?B?SXg2WHUzZXBkTkFYMnBCS3lEaFJ4U1ZPcmRPb3Q3Ym0rd09Xc0NCb0tnd0N2?= =?utf-8?B?MWdlbUVFSTZVMkZ3ZDJuWlpzL1M0clA0MHdXVmM0T0JjSTErVnV3cEhPS0lC?= =?utf-8?B?R0tZQ01PcTUrV1lpeHBoMGxMdHhHV3dnODM1WTJTUEFsVzViWnM5Y1Z0WCtE?= =?utf-8?B?dFFISEFCbnduSzlWV0l2N2Y0Tmdzc3BlNGRiVFFEWGhUUDJoNzNSdlpkR1Iw?= =?utf-8?Q?1CsJJKI1TfDgxsQ/fNL6vJZQP?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: a8da4fec-62f9-4d64-4f16-08daf246e9ff X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Jan 2023 13:39:21.5677 (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: Uyl3MhlNygBrjHdR+lDpUwNRec7MV4mrWTXFOA6NSVVpznR13HuBvtfkBhV67UpiqcvBCM5WTvZkk3foDuueAA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR04MB6936 X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1673271588626100001 Content-Type: text/plain; charset="utf-8" HAP does a few things beyond what's common, which are left there at least for now. Common operations, however, are moved to paging_final_teardown(), allowing shadow_final_teardown() to go away. While moving (and hence generalizing) the respective SHADOW_PRINTK() drop the logging of total_pages from the 2nd instance - the value is necessarily zero after {hap,shadow}_set_allocation() - and shorten the messages, in part accounting for PAGING_PRINTK() logging __func__ already. Signed-off-by: Jan Beulich Reviewed-by: Roger Pau Monn=C3=A9 --- The remaining parts of hap_final_teardown() could be moved as well, at the price of a CONFIG_HVM conditional. I wasn't sure whether that was deemed reasonable. --- v2: Shorten PAGING_PRINTK() messages. Adjust comments while being moved. --- a/xen/arch/x86/include/asm/shadow.h +++ b/xen/arch/x86/include/asm/shadow.h @@ -78,9 +78,6 @@ int shadow_domctl(struct domain *d, void shadow_vcpu_teardown(struct vcpu *v); void shadow_teardown(struct domain *d, bool *preempted); =20 -/* Call once all of the references to the domain have gone away */ -void shadow_final_teardown(struct domain *d); - void sh_remove_shadows(struct domain *d, mfn_t gmfn, int fast, int all); =20 /* Adjust shadows ready for a guest page to change its type. */ --- a/xen/arch/x86/mm/hap/hap.c +++ b/xen/arch/x86/mm/hap/hap.c @@ -268,8 +268,8 @@ static void hap_free(struct domain *d, m =20 /* * For dying domains, actually free the memory here. This way less wor= k is - * left to hap_final_teardown(), which cannot easily have preemption c= hecks - * added. + * left to paging_final_teardown(), which cannot easily have preemption + * checks added. */ if ( unlikely(d->is_dying) ) { @@ -552,18 +552,6 @@ void hap_final_teardown(struct domain *d for (i =3D 0; i < MAX_NESTEDP2M; i++) { p2m_teardown(d->arch.nested_p2m[i], true, NULL); } - - if ( d->arch.paging.total_pages !=3D 0 ) - hap_teardown(d, NULL); - - p2m_teardown(p2m_get_hostp2m(d), true, NULL); - /* Free any memory that the p2m teardown released */ - paging_lock(d); - hap_set_allocation(d, 0, NULL); - ASSERT(d->arch.paging.p2m_pages =3D=3D 0); - ASSERT(d->arch.paging.free_pages =3D=3D 0); - ASSERT(d->arch.paging.total_pages =3D=3D 0); - paging_unlock(d); } =20 void hap_vcpu_teardown(struct vcpu *v) --- a/xen/arch/x86/mm/paging.c +++ b/xen/arch/x86/mm/paging.c @@ -842,10 +842,45 @@ int paging_teardown(struct domain *d) /* Call once all of the references to the domain have gone away */ void paging_final_teardown(struct domain *d) { - if ( hap_enabled(d) ) + bool hap =3D hap_enabled(d); + + PAGING_PRINTK("%pd start: total =3D %u, free =3D %u, p2m =3D %u\n", + d, d->arch.paging.total_pages, + d->arch.paging.free_pages, d->arch.paging.p2m_pages); + + if ( hap ) hap_final_teardown(d); + + /* + * Remove remaining paging memory. This can be nonzero on certain err= or + * paths. + */ + if ( d->arch.paging.total_pages ) + { + if ( hap ) + hap_teardown(d, NULL); + else + shadow_teardown(d, NULL); + } + + /* It is now safe to pull down the p2m map. */ + p2m_teardown(p2m_get_hostp2m(d), true, NULL); + + /* Free any paging memory that the p2m teardown released. */ + paging_lock(d); + + if ( hap ) + hap_set_allocation(d, 0, NULL); else - shadow_final_teardown(d); + shadow_set_allocation(d, 0, NULL); + + PAGING_PRINTK("%pd done: free =3D %u, p2m =3D %u\n", + d, d->arch.paging.free_pages, d->arch.paging.p2m_pages); + ASSERT(!d->arch.paging.p2m_pages); + ASSERT(!d->arch.paging.free_pages); + ASSERT(!d->arch.paging.total_pages); + + paging_unlock(d); =20 p2m_final_teardown(d); } --- a/xen/arch/x86/mm/shadow/common.c +++ b/xen/arch/x86/mm/shadow/common.c @@ -1194,7 +1194,7 @@ void shadow_free(struct domain *d, mfn_t =20 /* * For dying domains, actually free the memory here. This way less - * work is left to shadow_final_teardown(), which cannot easily ha= ve + * work is left to paging_final_teardown(), which cannot easily ha= ve * preemption checks added. */ if ( unlikely(dying) ) @@ -2898,35 +2898,6 @@ out: } } =20 -void shadow_final_teardown(struct domain *d) -/* Called by arch_domain_destroy(), when it's safe to pull down the p2m ma= p. */ -{ - SHADOW_PRINTK("dom %u final teardown starts." - " Shadow pages total =3D %u, free =3D %u, p2m=3D%u\n", - d->domain_id, d->arch.paging.total_pages, - d->arch.paging.free_pages, d->arch.paging.p2m_pages); - - /* Double-check that the domain didn't have any shadow memory. - * It is possible for a domain that never got domain_kill()ed - * to get here with its shadow allocation intact. */ - if ( d->arch.paging.total_pages !=3D 0 ) - shadow_teardown(d, NULL); - - /* It is now safe to pull down the p2m map. */ - p2m_teardown(p2m_get_hostp2m(d), true, NULL); - /* Free any shadow memory that the p2m teardown released */ - paging_lock(d); - shadow_set_allocation(d, 0, NULL); - SHADOW_PRINTK("dom %u final teardown done." - " Shadow pages total =3D %u, free =3D %u, p2m=3D%u\n", - d->domain_id, d->arch.paging.total_pages, - d->arch.paging.free_pages, d->arch.paging.p2m_pages); - ASSERT(d->arch.paging.p2m_pages =3D=3D 0); - ASSERT(d->arch.paging.free_pages =3D=3D 0); - ASSERT(d->arch.paging.total_pages =3D=3D 0); - paging_unlock(d); -} - static int shadow_one_bit_enable(struct domain *d, u32 mode) /* Turn on a single shadow mode feature */ { From nobody Sat May 4 22:30:18 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=suse.com); dmarc=pass(p=quarantine dis=none) header.from=suse.com ARC-Seal: i=2; a=rsa-sha256; t=1673271626; cv=pass; d=zohomail.com; s=zohoarc; b=jFvs+fWSVZEKU29gMATPIsSmMFd2U8NzaIpsVWSvp3fKzyq5jT4UyaVBq8LbEFYbcj50ceVX0Q15Zq3DEyQyyYLzC1ELNuDy+aP8Pebcg320gnBwWV9O/p+WVBOrbl4fxedeeIsrsXiHZqW0ROzUd6Tp6bSCpOQkumAXTQPsfjY= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1673271626; 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=qCeUlm4/DsmO3G3gcntNt7cjbvdyT3iGeg4tOoUssFE=; b=c5DLrreic3jiOfyAC1WrxmPmXvHcPIsMxB0X4bJ8YCDWHwORaVRw28uYHDKOu2zzkbn82/32GnGEQAVnBZf1vkG4qU5IscbMTdOM5QgWb77Jup7Pb7Shlg8QwTzVlz5grYY9Sggb+c54AIERMWy2cQVL4RTts6D7dZ+hn9EZnQE= 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=suse.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1673271626684174.91299656738693; Mon, 9 Jan 2023 05:40:26 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.473637.734346 (Exim 4.92) (envelope-from ) id 1pEsNg-0006yt-Ew; Mon, 09 Jan 2023 13:40:04 +0000 Received: by outflank-mailman (output) from mailman id 473637.734346; Mon, 09 Jan 2023 13:40:04 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1pEsNg-0006y3-Aj; Mon, 09 Jan 2023 13:40:04 +0000 Received: by outflank-mailman (input) for mailman id 473637; Mon, 09 Jan 2023 13:40:02 +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 1pEsNe-0006U7-QZ for xen-devel@lists.xenproject.org; Mon, 09 Jan 2023 13:40:02 +0000 Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2072.outbound.protection.outlook.com [40.107.22.72]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 1d298941-9023-11ed-b8d0-410ff93cb8f0; Mon, 09 Jan 2023 14:40:00 +0100 (CET) Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) by DU2PR04MB8550.eurprd04.prod.outlook.com (2603:10a6:10:2d5::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5986.18; Mon, 9 Jan 2023 13:39:58 +0000 Received: from VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::2991:58a4:e308:4389]) by VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::2991:58a4:e308:4389%7]) with mapi id 15.20.5986.018; Mon, 9 Jan 2023 13:39:58 +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: 1d298941-9023-11ed-b8d0-410ff93cb8f0 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=NIhcv3sj7hHMzNyVFwdLe1PWuBigcoIRGMpDC8tsMA/bODvEVSAaL27RqYaMEImUl13K4mpaxLlGbj/rmL52XmaVssCUuUWA/TTZkZb3yFTshLar+yv2ORSjothtefUNEebr4RVkJ5rmju1xgDE0zZUMWGUZaxvGPBttKwp+jkWM8LOPQ1O6cfmXRXYGdNoJwdE/wu/42364wwAj+d3emm0VeeBuxa5uGbxZQqe41ZQijNRkBuev5PqeYiegxtdZVo7vMsFOgSMt6rYyoOO8JRPXiO3x/N8+atwLovccpyQuBmMb2pwxfPlKIh8hJVCFoF9ps8Q/lCSaaY3oUXXA5A== 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=qCeUlm4/DsmO3G3gcntNt7cjbvdyT3iGeg4tOoUssFE=; b=Mb28XGvCoXUrcF1+Lw16yDhoZmXYAcfjSlEQK9Q9E9/7QkQ6VL84YzTOuRTmnmxNGgzYx58HTUZcdMdVGw3LK397B4UGXJ0SxAQ1lKxNhYSw1VFxwQEtOVG9sIfQfVKktS5UffBB3HKpuOtY61vkRuRxHn5KuZcMEK63+vqkt/8C2H7rbFNrYQrsakeq/N9EUWjPe2eeHj9XTpOU4znF7W/Ae+PALX26xWXRFs2HyyOFFxWsqfw05bffkg+e+MIOnZFnw7/zRmeJwYFtC17tF4EKzUU1PUgzaH/bdrDGQTgH6d1JILea/upUPDSqUIVsmNQNCj2mwqgS7adLaOzaIQ== 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=qCeUlm4/DsmO3G3gcntNt7cjbvdyT3iGeg4tOoUssFE=; b=RQLvGu4kdQVpYmpAfMhbQ8clm6tM9gVB2KHZAo+K+VXk+RA0TY1xDLpoIroxA9l7dQY2MgLklH+CL+C4oHerutN92UD+eKaIgYykQ8DXr+tJDc+zaP7gmYUWvkJaGjkffTgPHUtxpDT7V1P8kmKsK75b1Z1jCgNu5Htfqy/Ul35SBCVH/ZLQ52DSwnAzlJ4FkdZamytXuVpSBEkEwJiwzDR8xd/MZFTwwjeBEhe6jZ4556QGBF7fkcVXmvBp5Uu1Tif/LA8xpK5xpoQLTXPsSV5JaL4guXRkoZiOqfOu0FCLi+yOidWbnHRk3+0WniymMsnNMJaPM9j/pLyvn6r1Yg== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Message-ID: <99270ce9-39d8-1f3e-f922-afc2c0289205@suse.com> Date: Mon, 9 Jan 2023 14:39:52 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.6.1 Subject: [PATCH v2 2/5] x86/paging: drop set-allocation from final-teardown 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: <882f700f-9d79-67d5-7e13-e42c3c79ba11@suse.com> In-Reply-To: <882f700f-9d79-67d5-7e13-e42c3c79ba11@suse.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR3P281CA0198.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:a5::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_|DU2PR04MB8550:EE_ X-MS-Office365-Filtering-Correlation-Id: f2aad4a9-77f8-42c4-650d-08daf246fd8b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: m9tBaVBaKZbhgx18EP3tSG9OpEvRjlycY+WpeubIJEdOPBtQPibYDHuzJ1Y2C+gatL/vlWPQde7TAS0PWRY4bD4JrXpMslTtAttWfh384sPLqnvx5Xya3z6bOA3+8Ll2S0RIpRFAyDM8jygW2I4PiEbuL/m6CaMZPfQ5VCeSOOSGpVzgK8joMdowooy9QY1XqhDu0+WOGhoCCjt4KQApghc7SPLraXgUvIGNgzE9UiEENC94tEP0q1m+fMDG2fkct/Lu+38tkIZN5Wn9mZw5opMSCfeIlWSXsxJIF/9JouiBlctiSj6PrJofM1joULwUBkrBPaKobxIbGgzGw85h/ljSXszZHlHDuYGTpOUquNhLQ28Ji6RpMB3usbiEVjLJHOoDkJ+naEavCjZAJLzJRC8J4Le10VfgA1B3jYQHFJX8DBt2eZJERTrpWYf8Q/6oyImPHPTXlIRTxtXtJOsiaBs+/pT9KVLsvB8gAiVVSwzT/N8KT9Isn8Bj+F1ugyo3+SCtyoetSfGu7DoDXfeALfIzE7uAvlMJikajcP/2uoXlYIdTSP/rn/wslHhN1MvnqxkF+okSH40aYrumVy/zfk51IPlfoCFFx5WzwevMPpo3B2APjtP8YYBm51/BmR9K36uwvkugwyQ6qYNSyzmG8reH2c3OIoj7qug89HIFDyjJ9BGbisZLSRc/P5eS82gUplTfRDIPt7X1j79TGU27p/h1eSKbbMLAPk1bEbbY7/o= 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:(13230022)(376002)(136003)(39860400002)(366004)(396003)(346002)(451199015)(4326008)(316002)(66476007)(66946007)(8676002)(6916009)(66556008)(54906003)(2906002)(5660300002)(8936002)(41300700001)(86362001)(478600001)(83380400001)(31696002)(6486002)(6666004)(6506007)(186003)(6512007)(38100700002)(26005)(2616005)(31686004)(36756003)(43740500002)(45980500001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?WXJPTVRlbVA3OVk3VkV0YWdscTJvZVRSWndHUmdHVDQrOEoxWEdrMmRoZ2hZ?= =?utf-8?B?MlpMd3VGWTlhV291MXUzcDNSY2lpNjhFN0J0S1V1RzAwcklOV3hUSktzaFlz?= =?utf-8?B?L0E4VlpOZkd0ZXluZ0RJNWZvQ0ZzVTh4WVh0V1hsVHk0Y3Mwa2ZlbWxwYXRJ?= =?utf-8?B?NUh4c1NVYnVMMCtmemJ0SjFyVG1BTkZEVTRjb0plblpUMndCK0hQbkp2Mm5w?= =?utf-8?B?M00xM0lBTlMrbkc4dVR4elROTWlsMVNUN1FoeFJmdUxmZjlHTUFUN040a2ts?= =?utf-8?B?UytNNlVzTzJibEtETUpyRmxzSlpMR1ZIdTg4UTc4SkF6b2ZoaHVyN0d2SkVO?= =?utf-8?B?bW9WUWNBU1YrWXFRbkZsKy9IeTloT0dDYk1GS2MzbEU1RUs1bjhiRnJQZitZ?= =?utf-8?B?QnIxSWh1MTF2cFIyd1dkSEZXVlEyLzNvUDh1aFJKNUloTW40UXhOajhvbzlh?= =?utf-8?B?WW82QnlrS0JvQzllMnk0dTQzMEdyQTgrMms2QUdKTXpjclVBWFhyS043YzVG?= =?utf-8?B?TzU3aWExalZ4TGtwalh1azhONUlJK05oVTFEbGhMc1llMkFieTVqWXkwdkJG?= =?utf-8?B?djZ1SlYzTkNsNmczRERKczd4MnR6MkZHUW9SN1FmWkxLRmk1bzBoVlZLdGRZ?= =?utf-8?B?TEJyY2ZpMWNaRVk3ZDNOTytWa0tRaHd4TXNuYVUvTkoyMlJrMWFoaC9ZNnFX?= =?utf-8?B?UGJHb1dvdFhVWUxZRTRCcCtoZXV5NG0wdnYrVUJSY2FET2tPdGZxZEh3TDIv?= =?utf-8?B?d2M0VWY0cjFJZE1FRzU2WGF1UUpUc2FXaEIyRGxZNFYxNG5IZjRmek43YXY2?= =?utf-8?B?RDFaendrQ2dHaXMzS0FHb2s5ZDhBbG1IWjNwNlRpbzZoUjJtay9ITmtVWjJh?= =?utf-8?B?RkFRdzQ5SmVveU9GOEdwQmJ1UEpJTnlOcGF3NkhKREN6SEJrSGdnbWd0NDlI?= =?utf-8?B?S3BqQzRseHE0bjFUYUUxTEdEdVFKbXEwMGMvU2pmRXZNN2VRUjczQ3FCc1NN?= =?utf-8?B?Z3NjSEtDNmtXMWZZYmJnU0tDc0VkeFBTQ3RwSVh3eWdaaE00MDJoL05nNjE5?= =?utf-8?B?b3QrZ3UvM0JVcGtER1BDK2h5NWNLTWwraWd4cFZwNXU4WXhyYWoxYzhMOEFM?= =?utf-8?B?aFEwclloQ0VqNUkrUHE4U240WTY5OExyZnhKTk5YUDdmaXBmV1IvZUZnZHJn?= =?utf-8?B?SEZ6a3Y1dHFXSFI1UlVqRW9va2dlVDhjRG83czVXQlArRlpZYmtXMUN5bCt3?= =?utf-8?B?bm1XeG9CZ2tJZENoUWl6Z2c0UDg3RFFzY3RIcjZKL2pMamhPdUJ1WmZ3ZmVI?= =?utf-8?B?SHBFaWIrcnhvZGg5Q25GUVJSVWg3QVRxdFVEcG85RmoydmFQODl2UkVGVUN4?= =?utf-8?B?YVg4ck5EOS8yZ3hIRWZmTU5na2NDRzNHT256MXhRNEkwKzFFNUtJV3VRUzJ0?= =?utf-8?B?Vjl4THM1UVRuOEVGU3A0bFkxQzdwVDhXbEF1RHB3V3l3WHhVd3dBN0dwb1V6?= =?utf-8?B?QmZnS01jSWpiQnJIRkxuaVlLckJ5S3FHZC82TiswYXAvUjBFUkFWVHpUdWZt?= =?utf-8?B?ZE5BRUFvc2NvenlPdEtDY3lZRW04VmNHU3R4eVppVkU2U3FpakhRTi94akRo?= =?utf-8?B?dUh4NHgrRW5Qc2VCbExpMFA0bFdkVGRMbnY3VTVoUGZyZ3kxc0FJWFpPUHVi?= =?utf-8?B?ZEpVbzRvSWVVUjFoSUNuS28rcHoyOHA0aHYza20rRGpOdFZhenozK2hjazlC?= =?utf-8?B?cll6ZmxsM0hYR3BQOXlSZlRqVFptMWJtV2VSWk1FZnhSMXpEU1VTTUp6Yno3?= =?utf-8?B?bzB2NG9LWTlqWDJmdGF3Nms5MU5ZaTA5SWtYMG9ZOFFqaTVyWXVlM0Rsd1RL?= =?utf-8?B?dDYwWFNHTEl3eHpyK2UzS1J5Q012UHl1bVJjVFFTV3Zjckk2M2dmZ3I0aUNZ?= =?utf-8?B?ZElEZDZQbDBUNUdaNFUxVU0xaCtzRnIvODNFMFFqSU9LTzRnTzNmT3p2VTJR?= =?utf-8?B?VlpjdzByNHFNMk03Z1J3RllWUGRndGN6bkJrQTJtbDRwN0hGeUVFeGphQkJE?= =?utf-8?B?a2FBMENSL01oZURqV2JaeXh0T25NeHA3c0FYOG1qTXRZR2pYM3J0ZW5rR0l4?= =?utf-8?Q?yZONNtxRgBOSOyIQltmDDN5NW?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: f2aad4a9-77f8-42c4-650d-08daf246fd8b X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Jan 2023 13:39:58.3309 (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: Ko1/NrRBmWHa3rQMRF+oY26kiEWQWNFhraKKk9YOkZnubMeS/nEGTkBpjxHs/sqO8BSa0lkBY7KJk5iTyy0dNA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8550 X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1673271628580100001 Content-Type: text/plain; charset="utf-8" The fixes for XSA-410 have arranged for P2M pages being freed by P2M code to be properly freed directly, rather than being put back on the paging pool list. Therefore whatever p2m_teardown() may return will no longer need taking care of here. Drop the code, leaving the assertions in place and adding "total" back to the PAGING_PRINTK() message. With merely the (optional) log message and the assertions left, there's really no point anymore to hold the paging lock there, so drop that too. Requested-by: Andrew Cooper Signed-off-by: Jan Beulich Reviewed-by: Roger Pau Monn=C3=A9 --- The remaining parts of hap_final_teardown() could be moved as well, at the price of a CONFIG_HVM conditional. I wasn't sure whether that was deemed reasonable. --- v2: New. --- a/xen/arch/x86/mm/paging.c +++ b/xen/arch/x86/mm/paging.c @@ -866,22 +866,13 @@ void paging_final_teardown(struct domain /* It is now safe to pull down the p2m map. */ p2m_teardown(p2m_get_hostp2m(d), true, NULL); =20 - /* Free any paging memory that the p2m teardown released. */ - paging_lock(d); - - if ( hap ) - hap_set_allocation(d, 0, NULL); - else - shadow_set_allocation(d, 0, NULL); - - PAGING_PRINTK("%pd done: free =3D %u, p2m =3D %u\n", - d, d->arch.paging.free_pages, d->arch.paging.p2m_pages); + PAGING_PRINTK("%pd done: total =3D %u, free =3D %u, p2m =3D %u\n", + d, d->arch.paging.total_pages, + d->arch.paging.free_pages, d->arch.paging.p2m_pages); ASSERT(!d->arch.paging.p2m_pages); ASSERT(!d->arch.paging.free_pages); ASSERT(!d->arch.paging.total_pages); =20 - paging_unlock(d); - p2m_final_teardown(d); } From nobody Sat May 4 22:30:18 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=suse.com); dmarc=pass(p=quarantine dis=none) header.from=suse.com ARC-Seal: i=2; a=rsa-sha256; t=1673271700; cv=pass; d=zohomail.com; s=zohoarc; b=hE5ApltuEUwBjwTgTAefh38wAXgwTvmImr9fA5CxXxLorxvuATUCRmyEjAzoeRDbClxSgzytMSLutBkPEvUSjn4plA5RRCvNLC045357yV0/gzEhaKrSAGAGHW3Uu149iOOHkCpBlsCXBxWubCpLOhTVWE8RmIZeesdafQd/GoU= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1673271700; 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=vUyDk05ke+Lt65CNEbe0BSHjvjrpHd5u/KRVoCvKhts=; b=e92UdmMdUd/tzNe3jeDTAjIkrAea2SMYshS9mUZZY3j4MKnSjAvtrtFWwKLNiQjD6YJZNLIUSd2z8ASju6mUJtTomVA3rX3bRDzp/FzGxxELDLTBxs2B9+6AQpfihfZ0apK9VM7yWyEcDV6GZ17PTxYwMUBa9+HVI4IGxQt2m7M= 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=suse.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1673271700272294.1716703729786; Mon, 9 Jan 2023 05:41:40 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.473645.734356 (Exim 4.92) (envelope-from ) id 1pEsOW-0007rv-OO; Mon, 09 Jan 2023 13:40:56 +0000 Received: by outflank-mailman (output) from mailman id 473645.734356; Mon, 09 Jan 2023 13:40:56 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1pEsOW-0007ro-Lc; Mon, 09 Jan 2023 13:40:56 +0000 Received: by outflank-mailman (input) for mailman id 473645; Mon, 09 Jan 2023 13:40:55 +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 1pEsOV-0007rg-5U for xen-devel@lists.xenproject.org; Mon, 09 Jan 2023 13:40:55 +0000 Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2065.outbound.protection.outlook.com [40.107.22.65]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 3c310292-9023-11ed-b8d0-410ff93cb8f0; Mon, 09 Jan 2023 14:40:52 +0100 (CET) Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) by DU2PR04MB8550.eurprd04.prod.outlook.com (2603:10a6:10:2d5::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5986.18; Mon, 9 Jan 2023 13:40:51 +0000 Received: from VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::2991:58a4:e308:4389]) by VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::2991:58a4:e308:4389%7]) with mapi id 15.20.5986.018; Mon, 9 Jan 2023 13:40:51 +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: 3c310292-9023-11ed-b8d0-410ff93cb8f0 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=QQpHT/Nv3OY2ry+Y8Ale1DrdmBcnB0vBQjPagKUY7FTV9Cru5ZtKL2Zg2Rz7tNKu1qvQA+iaYDfNzxwaUL6FXlD2g7/6qysoNA7SfID0PgQu+lO936x8d9F8H7iucmN/IgxWQndhTd/2CxBF/GFaK/ZmKHmqHH2vWudnOj/lxX/dTHK9TxlGRqvZku9AUtk8xpiHTMoYinnbXrHPAbtkR9J6PA6gJ5U4cPU2RYhcGv66Zmw4I+vkEt8tZJ1t9fWcpXfL7/lgKVUZB/Y+AoB4Fo9cKaLIuwK4X0nwj18A+oizjVWbyDrYBV6ya+mxGxpl9p1PwpK6xhCdwcSuuOcHCQ== 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=vUyDk05ke+Lt65CNEbe0BSHjvjrpHd5u/KRVoCvKhts=; b=lGP7OYN1LiCKVZ9k0E2X2/mb+8MceoRYqBkqiSeXrzHy3wbwoLV9E9kM+pBNZUEAneOojnq+FRJQCoA2BWjS0P3cSY94RfzXeZBS/uriivXaHg5rblEHqDArzITfNYsHHW1ntmwcjc1cLNWiQ9KGcj0rWDgidgbt7FBgUPSpAusCXLrOtOQiOI37IpMlscqJ0VMK5XXxWiYQeTncNFTsaEeqm/rKyZ/XA3sMB6OUkgzEXRWXKIulth38O1aeK5MqFdWSmPWoB+KvLRjdZogFNvqnFeIk/IgddG2+2/WePbIoyKqYuASBe7/OM/1WBUCDI/A3t7QPwChCuCIpktfKJA== 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=vUyDk05ke+Lt65CNEbe0BSHjvjrpHd5u/KRVoCvKhts=; b=Tm5yIrxHS+9jHq2W4Jw1DNVTJkJGuTJJ6jzLXMQAiJEkCFNkCG8SXYXfI87/uvgBMjRj9CCZ8WPzpA5ox4jVM/Qm3po/BJ48y7Y2pQelTwimAl9FRuuXvCTLVQP1w/15ZMkX0bWIkfgY36EJU3/rGW4zTVOGhWgzrW6KztdsO4o21mIf1Oe7Ett1TgI53tgsOVtRbteVkhXZ+v8msOns8wInO8U8blQ/rGk+04FPR7wB0U7WCv3yHVCQK2CMdTBglD+OL3wX8d5TT3vfy7KMr0xO5PYv2uPu2duJ4oWoeyI7a7LhEi7r/ZoFO03+/f2VAeOn5v6sb+m16XSq1lKsYg== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Message-ID: <032e81c2-ac86-638a-1611-43bc3bea6d0e@suse.com> Date: Mon, 9 Jan 2023 14:40:50 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.6.1 Subject: [PATCH v2 3/5] x86/paging: move update_paging_modes() hook 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: <882f700f-9d79-67d5-7e13-e42c3c79ba11@suse.com> In-Reply-To: <882f700f-9d79-67d5-7e13-e42c3c79ba11@suse.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR3P281CA0085.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:1f::22) To VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DU2PR04MB8550:EE_ X-MS-Office365-Filtering-Correlation-Id: f09e2cb6-95b1-4992-45f2-08daf2471faf X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: sdWw33qHo136i0GX5j/Fo0xqKIOXT/zIlUFUuz864Q2aKElOBFPZBz4NHScC2F60po4BLRovpDpjylu8UZbbZB6r7jCRQjU9xpwc1NFDJMFiYeoEsdVFZuU3n4vFwuQ2HuOP7kpNzHWWqUJFx793qAiUYb2O4ESV3ludPTv0M0L0zZBd7CYThDnaCs9qurWt7WgurTN9GMYFIQjL3ywqRdXAuQ2cDWLwiWtJd9Mzsor3rMYj7ynv33S0LJ+d18Z/bCuNTq0a/sNbclpUGWobvRP/SDcn9QunVs1F3mb9uB6lJjv31O2YdLwBdRhAhfkou05SRiglWdGZGW901blgctH0Q0QYCnzGY/A7sYjxeNy6gcVbPfvJo3R0ZVBJMC6lRIspHNsHB8mTdO1z1lFTRZxnAaW0R5PlGd4cB53F1zE9NX++JrcKwShi1kvAbBIlutpknYyI4Rzk7XnurB+q0PLGdvui9wt5HQ/beDZdyjmXDTbBE/YqDm+rtoNqU1qeVZ5x8sMtT2lPKZ2TEG9gGYYIe1EJoqwyZNCob+F6xkBS0cPReZ7FyiHl6Kk8dN4Mb7x2lkpXq4dn7xbUfvoAELepild6pKcCDFwgyab0RyTmkeaA7mWBODb5He16YUBavB2zQ3BiUSI+uvwWUv7itUl/lruUosQUgCs19AnLkPUN2u4JuA2XxydbpIfnQJImb6/FpS4wjrTGVAI8B6oWuil4xMVjrjp0aJOnOzt2Awc= 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:(13230022)(376002)(136003)(39860400002)(366004)(396003)(346002)(451199015)(4326008)(316002)(66476007)(66946007)(8676002)(6916009)(66556008)(54906003)(15650500001)(2906002)(5660300002)(8936002)(41300700001)(86362001)(478600001)(83380400001)(31696002)(6486002)(6506007)(186003)(6512007)(38100700002)(26005)(2616005)(31686004)(36756003)(43740500002)(45980500001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?RjZHZ0pHSllWQVRhbkY4dWpLY3lSRmRXZEE2dUE3OVdXZkJzRG94eFprZ1VK?= =?utf-8?B?aXpLbGJ2MDhqTHdoVlorWHJoWjlCOGdybWV1QWJQMkcvbVhmT0NuOU85WkY5?= =?utf-8?B?OG0xd29FVERrVXFwY0dMSTBZbnAvakFFM1dyUmRUa2c1cnd1VEZvdm5vQXdI?= =?utf-8?B?ZHVuOUZWeThVV3EzWVk3bG00QUZnaGZYbmw1d1F0eTVKSVV5U2tIYk1ZNm5m?= =?utf-8?B?eWhIUUdVNHZqRVN1WU95YUJUbmQ2UEc3RHBjMGZFVXU0UmJBSGxUU0ZoOUwz?= =?utf-8?B?am45Zi9LY1lyY0pkUEErYWZ6TTNjaVYvcFZxQmNPRHRXb2N5TXdHdnlwTEdw?= =?utf-8?B?OHZKZWpzODhnMzVzbVFMK0F0QjU1TWZJVmc2dTRjNERWT2hHSnh2cm9TWnZy?= =?utf-8?B?MUk5NUE2NFZGRjRKSkthTHFuQ1JPb3h1MndYL3dVL1JabU1qM0tsWk9wL1ZF?= =?utf-8?B?L0RQTlJEaFRESmZRUitiNWI1QlBnRk9xQlhZeFFCRXE2SVZQc3RjZUp5eXJH?= =?utf-8?B?L1ZzWjNNbzU4V09relFjM2E0WDBnMG53MHJLa3JEWlFDQ3B3Z0pzUGpTb29n?= =?utf-8?B?UmhrcS9VVUtKWTA2SjFFdS96MStlaGdYbGxhMjdaSFJWcUxxV0J5akk0WmpW?= =?utf-8?B?cUQwRVlKUXdPM2lTa1I5NVh5MTg5WHFSRFppRVRZMUNnaUcweHNrSTZNekQy?= =?utf-8?B?anJnZXd1bEU5bzlxU21wcUgwVm9JN3ErVm85RC9LY3pNZktZVGhSS2RUS21Y?= =?utf-8?B?M0cxK0l3eXlGQUlHVEQvaXpYVkZnNDVXTGNtam41a3I5R2VjSXJYR0RwSmZH?= =?utf-8?B?eHV4ZHVxQ1JOVEE4ZDR0QTFEQnowR05qQm5yWVVLUTQ2bFZ1Z2dYZGdNT2NN?= =?utf-8?B?eWVaWVZOdWZZTDhuekZsQ012V3pSck50VGE3THRCZHhXd2hpYzBLUDUvWmZZ?= =?utf-8?B?Z2Z4eTI5akF2cytHR1pUaU0wdThyTHBLd1VjNG9sSzhETEtUWmJvVFFpNXdP?= =?utf-8?B?b1JiQjV4QVBRaC8xbnFxVTgrVTRqaTdNOGVDREd4dmMyNVJWL0VQVkpBWG1B?= =?utf-8?B?S0FCS0g0TVNCd2RNWHNaMDViUXVHWXBsQVNIZ051L1pmcGJSVmMycm9SRjVM?= =?utf-8?B?azdpaUZHVm9TK0lZOFB0anROWkh0NmVmMjN0amc4cDJtVEF1UDRLUHBHVXE2?= =?utf-8?B?Y2J5bmVSNEpHR1VrMC92TGUyQ0MvSmRwWDc4RVBLaXB5MU5yVWhGMVp6YW44?= =?utf-8?B?amxLWTlnR3FZTGpFTnZicHlPak1uMnNVSmgwQktIT3dOOTlkd3gzbmRGUUU0?= =?utf-8?B?SVJrbWV4VW5md1dUZG1zTStHenRqWDlObUdlUmVkTDVmZGtkb2dvRy90c01V?= =?utf-8?B?R2Jyd2VUUklBUzJTeGthbnBXTXFHSjEwYkd1clRoa3lrRGNHQTZCbkxsMjVC?= =?utf-8?B?cjhHYVhvUFRDLzQ2eWw1cVhpSXZLV3VuTktYVXdZMnNXYmRLbkN2b0MxZ01M?= =?utf-8?B?ZXA2RTJTY2k4YXBvS3FFZjYxUEN5SzVTZ3JPOUhoZGx0anZibXlBb0M2ZWIr?= =?utf-8?B?c2JXSHczT01XQ2tYOGxvK04wVFZobVZGcVNxdzlWeC9pU1NxTm5TTlVXY3k2?= =?utf-8?B?ZTJSdFJzNUZENXV2SGFsb3hya3VqOERwODBqWnFHd2wzMVZEUlJ6Q1NuUmNE?= =?utf-8?B?VlNQOTdkNUdza3Y0MUNYZlY4OVJVSGh2SEpvTnI2RmdkazBFOStJS3JsVCtO?= =?utf-8?B?M2VlbjJlYkkrdUhRcm5KRjBJNElIRzFPaWlDc0paTFd6bEhGWHpHUHp3blNE?= =?utf-8?B?bGJ5UG4vcS8rSHcweG40eWFaY2RJQVdqZzV5c2ZVdVByMlFBeWUvSWsveHN6?= =?utf-8?B?SG1aSlRmR3pLbjlVV1IxU1lBU0lLdkV2dHptSzYvSDlvNElsTUt2NXFOZkFF?= =?utf-8?B?VXpWM3htMHlzRkh1Q3JWZGFveWNkUW1vbnVWVGhneERIczNZVFh5dStCZHdB?= =?utf-8?B?TG5CcmRxZTNicmlST2dQOUZhOHNnbG91WnR5eENCSlFUaU1PWElBUE5XNU45?= =?utf-8?B?Mi9yTE5LenBZYzFNUDYrMnBYcTh5MGlvMmJRY3VpTEpnTGw4c1hGVm0zRW53?= =?utf-8?Q?XqDRkBkAkOyFyBat4RTGQVx4i?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: f09e2cb6-95b1-4992-45f2-08daf2471faf X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Jan 2023 13:40:51.5307 (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: JTgmkumJEz7iXBQOIbUDj5bHglMfbJ2w36hZK77H9b5qicC8w9rKmsMNeG6CLc/xecGtgpRE7g4YDHgyRmAquA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8550 X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1673271700960100001 Content-Type: text/plain; charset="utf-8" The hook isn't mode dependent, hence it's misplaced in struct paging_mode. (Or alternatively I see no reason why the alloc_page() and free_page() hooks don't also live there.) Move it to struct paging_domain. Signed-off-by: Jan Beulich Reviewed-by: Roger Pau Monn=C3=A9 --- v2: Undo rename (plural -> singular). Add a comment in shadow/none.c. --- a/xen/arch/x86/include/asm/domain.h +++ b/xen/arch/x86/include/asm/domain.h @@ -235,6 +235,8 @@ struct paging_domain { * (used by p2m and log-dirty code for their tries) */ struct page_info * (*alloc_page)(struct domain *d); void (*free_page)(struct domain *d, struct page_info *pg); + + void (*update_paging_modes)(struct vcpu *v); }; =20 struct paging_vcpu { --- a/xen/arch/x86/include/asm/paging.h +++ b/xen/arch/x86/include/asm/paging.h @@ -140,7 +140,6 @@ struct paging_mode { #endif void (*update_cr3 )(struct vcpu *v, int do_locking, bool noflush); - void (*update_paging_modes )(struct vcpu *v); bool (*flush_tlb )(const unsigned long *vcpu_bitm= ap); =20 unsigned int guest_levels; @@ -316,7 +315,7 @@ static inline void paging_update_cr3(str * has changed, and when bringing up a VCPU for the first time. */ static inline void paging_update_paging_modes(struct vcpu *v) { - paging_get_hostmode(v)->update_paging_modes(v); + v->domain->arch.paging.update_paging_modes(v); } =20 #ifdef CONFIG_PV --- a/xen/arch/x86/mm/hap/hap.c +++ b/xen/arch/x86/mm/hap/hap.c @@ -443,6 +443,9 @@ static void hap_destroy_monitor_table(st /************************************************/ /* HAP DOMAIN LEVEL FUNCTIONS */ /************************************************/ + +static void cf_check hap_update_paging_modes(struct vcpu *v); + void hap_domain_init(struct domain *d) { static const struct log_dirty_ops hap_ops =3D { @@ -453,6 +456,8 @@ void hap_domain_init(struct domain *d) =20 /* Use HAP logdirty mechanism. */ paging_log_dirty_init(d, &hap_ops); + + d->arch.paging.update_paging_modes =3D hap_update_paging_modes; } =20 /* return 0 for success, -errno for failure */ @@ -842,7 +847,6 @@ static const struct paging_mode hap_pagi .gva_to_gfn =3D hap_gva_to_gfn_real_mode, .p2m_ga_to_gfn =3D hap_p2m_ga_to_gfn_real_mode, .update_cr3 =3D hap_update_cr3, - .update_paging_modes =3D hap_update_paging_modes, .flush_tlb =3D flush_tlb, .guest_levels =3D 1 }; @@ -853,7 +857,6 @@ static const struct paging_mode hap_pagi .gva_to_gfn =3D hap_gva_to_gfn_2_levels, .p2m_ga_to_gfn =3D hap_p2m_ga_to_gfn_2_levels, .update_cr3 =3D hap_update_cr3, - .update_paging_modes =3D hap_update_paging_modes, .flush_tlb =3D flush_tlb, .guest_levels =3D 2 }; @@ -864,7 +867,6 @@ static const struct paging_mode hap_pagi .gva_to_gfn =3D hap_gva_to_gfn_3_levels, .p2m_ga_to_gfn =3D hap_p2m_ga_to_gfn_3_levels, .update_cr3 =3D hap_update_cr3, - .update_paging_modes =3D hap_update_paging_modes, .flush_tlb =3D flush_tlb, .guest_levels =3D 3 }; @@ -875,7 +877,6 @@ static const struct paging_mode hap_pagi .gva_to_gfn =3D hap_gva_to_gfn_4_levels, .p2m_ga_to_gfn =3D hap_p2m_ga_to_gfn_4_levels, .update_cr3 =3D hap_update_cr3, - .update_paging_modes =3D hap_update_paging_modes, .flush_tlb =3D flush_tlb, .guest_levels =3D 4 }; --- a/xen/arch/x86/mm/shadow/common.c +++ b/xen/arch/x86/mm/shadow/common.c @@ -45,6 +45,8 @@ static int cf_check sh_enable_log_dirty( static int cf_check sh_disable_log_dirty(struct domain *); static void cf_check sh_clean_dirty_bitmap(struct domain *); =20 +static void cf_check shadow_update_paging_modes(struct vcpu *); + /* Set up the shadow-specific parts of a domain struct at start of day. * Called for every domain from arch_domain_create() */ int shadow_domain_init(struct domain *d) @@ -60,6 +62,8 @@ int shadow_domain_init(struct domain *d) /* Use shadow pagetables for log-dirty support */ paging_log_dirty_init(d, &sh_ops); =20 + d->arch.paging.update_paging_modes =3D shadow_update_paging_modes; + #if (SHADOW_OPTIMIZATIONS & SHOPT_OUT_OF_SYNC) d->arch.paging.shadow.oos_active =3D 0; #endif @@ -2516,7 +2520,12 @@ static void sh_update_paging_modes(struc v->arch.paging.mode->update_cr3(v, 0, false); } =20 -void cf_check shadow_update_paging_modes(struct vcpu *v) +/* + * Update all the things that are derived from the guest's CR0/CR3/CR4. + * Called to initialize paging structures if the paging mode has changed, + * and when bringing up a VCPU for the first time. + */ +static void cf_check shadow_update_paging_modes(struct vcpu *v) { paging_lock(v->domain); sh_update_paging_modes(v); --- a/xen/arch/x86/mm/shadow/multi.c +++ b/xen/arch/x86/mm/shadow/multi.c @@ -4203,7 +4203,6 @@ const struct paging_mode sh_paging_mode .gva_to_gfn =3D sh_gva_to_gfn, #endif .update_cr3 =3D sh_update_cr3, - .update_paging_modes =3D shadow_update_paging_modes, .flush_tlb =3D shadow_flush_tlb, .guest_levels =3D GUEST_PAGING_LEVELS, .shadow.detach_old_tables =3D sh_detach_old_tables, --- a/xen/arch/x86/mm/shadow/none.c +++ b/xen/arch/x86/mm/shadow/none.c @@ -18,8 +18,14 @@ static void cf_check _clean_dirty_bitmap ASSERT(is_pv_domain(d)); } =20 +static void cf_check _update_paging_modes(struct vcpu *v) +{ + ASSERT_UNREACHABLE(); +} + int shadow_domain_init(struct domain *d) { + /* For HVM set up pointers for safety, then fail. */ static const struct log_dirty_ops sh_none_ops =3D { .enable =3D _enable_log_dirty, .disable =3D _disable_log_dirty, @@ -27,6 +33,9 @@ int shadow_domain_init(struct domain *d) }; =20 paging_log_dirty_init(d, &sh_none_ops); + + d->arch.paging.update_paging_modes =3D _update_paging_modes; + return is_hvm_domain(d) ? -EOPNOTSUPP : 0; } =20 @@ -57,11 +66,6 @@ static void cf_check _update_cr3(struct ASSERT_UNREACHABLE(); } =20 -static void cf_check _update_paging_modes(struct vcpu *v) -{ - ASSERT_UNREACHABLE(); -} - static const struct paging_mode sh_paging_none =3D { .page_fault =3D _page_fault, .invlpg =3D _invlpg, @@ -69,7 +73,6 @@ static const struct paging_mode sh_pagin .gva_to_gfn =3D _gva_to_gfn, #endif .update_cr3 =3D _update_cr3, - .update_paging_modes =3D _update_paging_modes, }; =20 void shadow_vcpu_init(struct vcpu *v) --- a/xen/arch/x86/mm/shadow/private.h +++ b/xen/arch/x86/mm/shadow/private.h @@ -426,11 +426,6 @@ void cf_check sh_write_guest_entry( intpte_t cf_check sh_cmpxchg_guest_entry( struct vcpu *v, intpte_t *p, intpte_t old, intpte_t new, mfn_t gmfn); =20 -/* Update all the things that are derived from the guest's CR0/CR3/CR4. - * Called to initialize paging structures if the paging mode - * has changed, and when bringing up a VCPU for the first time. */ -void cf_check shadow_update_paging_modes(struct vcpu *v); - /* Unhook the non-Xen mappings in this top-level shadow mfn. * With user_only =3D=3D 1, unhooks only the user-mode mappings. */ void shadow_unhook_mappings(struct domain *d, mfn_t smfn, int user_only); From nobody Sat May 4 22:30:18 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=suse.com); dmarc=pass(p=quarantine dis=none) header.from=suse.com ARC-Seal: i=2; a=rsa-sha256; t=1673271715; cv=pass; d=zohomail.com; s=zohoarc; b=ayZLQ5Cx2/c27BfO05IbhR7Dcr3SoW6GZoWwJ1LQ+63k1pUO2UVEj4JEbRRvPErdz03y0PuLWcjNveqaK8R247lXOhwOjCJJI2I+Vs41HtybJgYPNyNeRDWqmFESpHfFw+VehJrR4eDV2d1djjsU3mKLN2kyq1RKTCBP6zAVBHY= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1673271715; 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=jKVxpWRnLLsiXUS1L42o6OfU5C2lD6jrUePiBTdkwDc=; b=WqX0eAsNRFPdYVBCYYLIrAgCEXeH7AYDAf7SBHQjwHggadklxMHPGtG/iP4BRmgApygFhVGws3g62ecoSiFrfkqNa6LQky/O93H/PjOmr2/VFc2/wu9C9NBmp8Owa/9J6JnyDyKyvHMJHD0gcN0AREq5NtWJk5Xt4v9N9InJvis= 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=suse.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1673271715858857.7526868566797; Mon, 9 Jan 2023 05:41:55 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.473650.734368 (Exim 4.92) (envelope-from ) id 1pEsP7-0008RK-4x; Mon, 09 Jan 2023 13:41:33 +0000 Received: by outflank-mailman (output) from mailman id 473650.734368; Mon, 09 Jan 2023 13:41:33 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1pEsP7-0008RD-1T; Mon, 09 Jan 2023 13:41:33 +0000 Received: by outflank-mailman (input) for mailman id 473650; Mon, 09 Jan 2023 13:41:31 +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 1pEsP4-0008Qk-WE for xen-devel@lists.xenproject.org; Mon, 09 Jan 2023 13:41:31 +0000 Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2079.outbound.protection.outlook.com [40.107.20.79]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 51afb927-9023-11ed-91b6-6bf2151ebd3b; Mon, 09 Jan 2023 14:41:29 +0100 (CET) Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) by DB9PR04MB8348.eurprd04.prod.outlook.com (2603:10a6:10:25c::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5986.18; Mon, 9 Jan 2023 13:41:27 +0000 Received: from VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::2991:58a4:e308:4389]) by VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::2991:58a4:e308:4389%7]) with mapi id 15.20.5986.018; Mon, 9 Jan 2023 13:41:27 +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: 51afb927-9023-11ed-91b6-6bf2151ebd3b ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=LtmaXcXgS4IYt11xQ1Y8vbtpaMjDLWD9QtxAfrLcN2h22vqk1LIYlXhlwrAJengpnqQype31VEk70YlCffD0DQOTesj351CGLyoA1KUtZ9q288HPoZdTjGTKjmzt6cwP8oqkpI1NVJO/1MiKk56KMbWwcAu5/a1G8WjhUEww+AaMEnm4xGenu3ZpQ+UX5sxHHIPKxHlRY7YwVdXPFE4dNi+Kp3Iakj3CAEv8d0vv2DHSRIp/sm4hbZKwuIjcPTM91Zkx31dtWKlBSMM5dqZhNtOI74jVDbjygQKXRTb5Ou8HWzEEnE1uue9LAxxYUOBkLzhOOx42BJcFGhlKd7VLlQ== 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=jKVxpWRnLLsiXUS1L42o6OfU5C2lD6jrUePiBTdkwDc=; b=iHbeyBn/ssFl0VWeJAeZ/KS9Tio7CdbHTyepVjQzUqgOQyYhW2P95xCyvU6HGcqxwBmG5OwvOEt34tN6QFiIuvHLr9EoIP+aPBl4MJ/fyKlj9vK6knCqX5LJX66nKff+wplprgVxeriDgIZ2qgVXTGaNbEUrfdNc/E12d8xdBOQ8mcEqE63lDCv7ftGnLfHaAMepTB2KK9VZUEjTUywHrTL9HM4bg/kGi+AUhTGsTDQtPOG2iAgFWhT1dIu4tMo38AOuSm/SASQgYYZCks2GfE6/YNNasOPo36zAadOCJ+RmHEXctyjiCvqIk9NjCOoz6evex/kEC+fpJlDuIBxTPw== 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=jKVxpWRnLLsiXUS1L42o6OfU5C2lD6jrUePiBTdkwDc=; b=vMcMN10EbPFfT4G1KVaVUqa9ZSuTYv00rVEh7EAlmIcvHyfwZddIQ6VtD/EZCXVfpRYz3buWTr1ruyrZRDZO52FS8DsKkcirQ/2U5Zl+P1C9dTfAp4hIY478Go014eDjFSXTtTrUkotMYN3+frr27UfzY+Qyvkixu/FRrF1t5il1yTXyu0jtofT/acYuNmn3ZOTVSJhC29Fh6RrVz8jhu1kHsAIIuD2HOBr01JDRX2HR3toPSOSFXVSzSFzKZqyYZxqML2vg6SIk1VLET0SFIsHfJj3wcNIFxJ+M7sDXotNJPUguJWKjSBJantpXixdR5nuKIuvXsNIqi/ZtOX+Dpg== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Message-ID: Date: Mon, 9 Jan 2023 14:41:25 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.6.1 Subject: [PATCH v2 4/5] x86/paging: move and conditionalize flush_tlb() hook 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: <882f700f-9d79-67d5-7e13-e42c3c79ba11@suse.com> In-Reply-To: <882f700f-9d79-67d5-7e13-e42c3c79ba11@suse.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR3P281CA0151.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:a2::12) To VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DB9PR04MB8348:EE_ X-MS-Office365-Filtering-Correlation-Id: bfde1e5e-1d07-4bc2-69fd-08daf24734f4 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 0unLGsazmk15rLIvSqnFfWdz5C1osJOQGM1aoaq8KPwUdnc8n5+Abhqz+YpnFOPry4ZNZ56XAZiZz9AEERMkoJpayuTgOmnd9kBYS8G/ukVsHBKCiZXHcUcA4RaKhj3ZTv7NP9vMJUjxjiLo965cw+mFKGqgst2U/sJflSxb/rLL0txNlJD+G7nKYLBsIiiIkQPWXz1tP9SHF2iCoelV8PgBB5oc00SkiV+Obffjp/E6f39Xohf8+qhJweEhkNk6HxSFbTy8+768XSoP8Ji6iv8ECrieHApxorqSrlv1BfXwZTTKnVWTlO6QKyFlQ69GoKWPxyo/8QrwZ+06zAv/bfTyP/tC0Pb9vnAl3mbMxlztpXP40K/VFj9tnaYlFU6BhlYQ3tX6SkJyzWcYbelx3sm51dTTDd9N59xvgLWPWZPnTRvX5Tbn1jEr8UGB6OjXQfhBHy3iguns61+Xl6nLlGZg84niKnXEDJhwnR9YXkrH6NjV0FmIyi9EvoR2tMdnYybxwHNMHW9vDVsRkLLYv8RVYtWbp4ghjActDeGJfwLxLcrkmyK8QPI4f2Rxd4aRa7UYOkyRexj7mwFmjZHGUAI5AmCSQyPV+XNpfEHzk13i385t1uQ0cfNtxeqrrXa1H5Y85NEy6xqnqQfWJdVAyLLw7yCi6OAQF5e8ZU8Vxu7J/K/TY/qDC+I73FexcetisPHGTpQOx68NJaBDaMLtecNN/aOHn/WNrY7TwCl56ZQ= 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:(13230022)(396003)(376002)(39860400002)(136003)(346002)(366004)(451199015)(478600001)(36756003)(86362001)(54906003)(5660300002)(31696002)(4326008)(66556008)(66946007)(8676002)(66476007)(38100700002)(41300700001)(316002)(26005)(8936002)(6486002)(83380400001)(2906002)(6916009)(31686004)(66899015)(6506007)(6512007)(186003)(2616005)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?Y0owdkk1eXM1TjFOUW0vTFByZllScUU0MjQ1RWkyNWpmODNRYnRrc3E5RDVX?= =?utf-8?B?YytJRlRaa0toQm9aVy9aWHNLUFJQbUFsYXFVSktuQWdtcTgvWGV2R0wvbURX?= =?utf-8?B?M2dkUmZnWTAyWjZuUDJzTmRXM0UraTlUaFM5eGRqSjM4czBUUjViQ0dRSFUz?= =?utf-8?B?ZWgxNEI2dXpjZ3kraHhjOEs3S29GbWx2cmprMDZCc1gwdjJJTGRjdGZ3WHdG?= =?utf-8?B?ODM5cm5tcmV4TWw0d3hpYTN5aWhJQVNoRk1FR0RCamM5akoyZ3pBTUwvZFBZ?= =?utf-8?B?ellkdlN3OFE0TFdydWtUbTRrUEpQK2pmRTZ5R3VLRkMvZW42dmRacVpKUXZl?= =?utf-8?B?dVd3azhpR3BNVEJPLzlsR0NxSHBIZm1IczVhekF6OG5nclJtcUoxbnpET3lp?= =?utf-8?B?U21QdG9yMGtreEpib2w2bG1JUHFwY3JYNTJxY00vTHcydEVoREVqY2ZEakc3?= =?utf-8?B?b1FUUVNlWmJCeVBPQTJ5WmJDM2VhZWFHakozaGNBakcxR2E3OFhtN1Q2ZGNO?= =?utf-8?B?Yk5Nd1l5elIwdmhlN0M2SGlhUnVlQkRqMFYwT0VQckdEcE45dVJjWk5QY3Ux?= =?utf-8?B?WjRCS0kzWmZ6dk9ncmEwQStXb1UzWkp5a01xVUdWR3Y4Q2dYMUcvYTFKclI5?= =?utf-8?B?bjVGZXdSQ25STnpLdENSclZHTmZESHppcUxqVmJubDc2Q2p3cDU2Q1lIenpJ?= =?utf-8?B?UFdyRXVJa0tNNlArcXZOTHd4dkFjV09sSWtNRFJCZ0d5YTlFQXdieS9CdDgw?= =?utf-8?B?VnJPMXpwZ2h5aU9wTDUvTlE0ZVhmZjVWZzRYYkFzUEE3M3VIaEUzbnk2SVF4?= =?utf-8?B?NnpSMis1NlZYekF6RE5MdFQxSEdhYmhRME9vYndlb3VCSmkxUGYxMGpiWXND?= =?utf-8?B?cDl1eEc1T213ZkVPVjNPbmVFRVpjN3l0Yk13bGlFdTFGbVM2c3k5YVRXN2Zv?= =?utf-8?B?RHg2N01OWUNxd2h6dDdGcHNaTmwvVTdXbWE3MUhiVmRIM3gvamdaZmt3U2lj?= =?utf-8?B?WDdFcWNoMlEySC9ST2U3LzJLclR1d0crVExpSDlpWUxFM3ZUTlMxYXM1bXho?= =?utf-8?B?VGxnSFF3VVhDOStSUmVsMXFYamZoMDBybC8xU09CbncydFN5MGxpMjV3VUlL?= =?utf-8?B?TVcyOHgzamsyanIzcWNMRnVIcW81NXZ4MURyWFEzS1RJbkR3dC9OemNvWGUw?= =?utf-8?B?N0tjYXhRU2tFMG1IR0IrU01qR3pHdUxCcnJVaW9kZGpTNWxhMm9WTE52K0NC?= =?utf-8?B?dTlycFBjSEh3dEMwdlZNeC82K0pta2VBZmVKYlNCVHIra1hjNjJnaEFnTm9C?= =?utf-8?B?ZDBkeldNVXhpUXBZbWdpZDRhcnl6VS80M1pyS1ZlR21UU3lrdVFHZVEyL0Y0?= =?utf-8?B?SkJ5bUI0ZkNacmhma1F2Uy9YQUZzVTJOL0xORXpha1Z0WDZkWFVla1hTQ0V6?= =?utf-8?B?Y0tzVlYyUkU4UGJiZkQrWnp5SDFBb2NxWXBLdUNlR2UwNnZ2bnNvRTNnYzNR?= =?utf-8?B?ODk5VzkxS1hOYmVNZXhGYVhDazFoaGZXeDlmb2IwWEdkWDRrRWVTeEcyQ3ZQ?= =?utf-8?B?V1lmMjZnRDBCTFl4cURuamVZRThpT2tYUHU0aWJuc1dHdXdSWlFBd1NjdFJ6?= =?utf-8?B?dU9zZms2dDhBUGx4aUNqamFSOEV1VjJMZlIva1ZXRysrdFphZ3dRK2tMdUZ3?= =?utf-8?B?cmRVKzM0OTljTHBMTURGWmZzK3V5bFZtUXZaZ1NSalVJc1VYMjhkUFVPb0Fm?= =?utf-8?B?TytTR1NmS2tiRS9hd1pPcm5kSURObUJ3NUNaZVlyUDZQSU9LdUhUMVhTd09K?= =?utf-8?B?dFFCQ3dMaG93NUhMU3FKL0c4cllNMkJ0MHpJNWh0cy9acm5LNmJIWnpNMVVh?= =?utf-8?B?NFVxVkg2R2ZGZU5Xcm9ZcHYyL3NzNG1PZ0dBR0pxd1ZtRC9zN2JBeHJpZ2c3?= =?utf-8?B?VGlncXFxa2xlUTNDZEZZcmxSUDk5TkNITFVJVGFyT2dzdnZxU1NDQ3F1LzYr?= =?utf-8?B?dVBaczlsMEl4bzYrVFUyL2dUR3c3OXlDQmZBc2VHRHF2a0xMVytnaHhmZC9v?= =?utf-8?B?QXNla1VObFN2STRqSFMvcjVLWUdOZ3EwaElieFhRSlZlWjVPTEVjQ09vSFh6?= =?utf-8?Q?27WHGR8KeH/U0QQGCA+UcojOG?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: bfde1e5e-1d07-4bc2-69fd-08daf24734f4 X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Jan 2023 13:41:27.2316 (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: 81YsYPoRvEOYWZRseE3AHjHUeqUF1GH5K++BWi6muNxpn31yw4f1XSTE/Rrw8M/wv0Qy4yZ+TTkqECabKDkKAw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8348 X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1673271716889100001 Content-Type: text/plain; charset="utf-8" The hook isn't mode dependent, hence it's misplaced in struct paging_mode. (Or alternatively I see no reason why the alloc_page() and free_page() hooks don't also live there.) Move it to struct paging_domain. The hook also is used for HVM guests only, so make respective pieces conditional upon CONFIG_HVM. While there also add __must_check to the hook declaration, as it's imperative that callers deal with getting back "false". While moving the shadow implementation, introduce a "curr" local variable. Signed-off-by: Jan Beulich Reviewed-by: Andrew Cooper --- v2: Re-base over changes earlier in the series. --- a/xen/arch/x86/include/asm/domain.h +++ b/xen/arch/x86/include/asm/domain.h @@ -237,6 +237,11 @@ struct paging_domain { void (*free_page)(struct domain *d, struct page_info *pg); =20 void (*update_paging_modes)(struct vcpu *v); + +#ifdef CONFIG_HVM + /* Flush selected vCPUs TLBs. NULL for all. */ + bool __must_check (*flush_tlb)(const unsigned long *vcpu_bitmap); +#endif }; =20 struct paging_vcpu { --- a/xen/arch/x86/include/asm/paging.h +++ b/xen/arch/x86/include/asm/paging.h @@ -140,7 +140,6 @@ struct paging_mode { #endif void (*update_cr3 )(struct vcpu *v, int do_locking, bool noflush); - bool (*flush_tlb )(const unsigned long *vcpu_bitm= ap); =20 unsigned int guest_levels; =20 @@ -300,6 +299,12 @@ static inline unsigned long paging_ga_to page_order); } =20 +/* Flush selected vCPUs TLBs. NULL for all. */ +static inline bool paging_flush_tlb(const unsigned long *vcpu_bitmap) +{ + return current->domain->arch.paging.flush_tlb(vcpu_bitmap); +} + #endif /* CONFIG_HVM */ =20 /* Update all the things that are derived from the guest's CR3. @@ -408,12 +413,6 @@ static always_inline unsigned int paging return bits; } =20 -/* Flush selected vCPUs TLBs. NULL for all. */ -static inline bool paging_flush_tlb(const unsigned long *vcpu_bitmap) -{ - return paging_get_hostmode(current)->flush_tlb(vcpu_bitmap); -} - #endif /* XEN_PAGING_H */ =20 /* --- a/xen/arch/x86/mm/hap/hap.c +++ b/xen/arch/x86/mm/hap/hap.c @@ -445,6 +445,7 @@ static void hap_destroy_monitor_table(st /************************************************/ =20 static void cf_check hap_update_paging_modes(struct vcpu *v); +static bool cf_check flush_tlb(const unsigned long *vcpu_bitmap); =20 void hap_domain_init(struct domain *d) { @@ -458,6 +459,7 @@ void hap_domain_init(struct domain *d) paging_log_dirty_init(d, &hap_ops); =20 d->arch.paging.update_paging_modes =3D hap_update_paging_modes; + d->arch.paging.flush_tlb =3D flush_tlb; } =20 /* return 0 for success, -errno for failure */ @@ -847,7 +849,6 @@ static const struct paging_mode hap_pagi .gva_to_gfn =3D hap_gva_to_gfn_real_mode, .p2m_ga_to_gfn =3D hap_p2m_ga_to_gfn_real_mode, .update_cr3 =3D hap_update_cr3, - .flush_tlb =3D flush_tlb, .guest_levels =3D 1 }; =20 @@ -857,7 +858,6 @@ static const struct paging_mode hap_pagi .gva_to_gfn =3D hap_gva_to_gfn_2_levels, .p2m_ga_to_gfn =3D hap_p2m_ga_to_gfn_2_levels, .update_cr3 =3D hap_update_cr3, - .flush_tlb =3D flush_tlb, .guest_levels =3D 2 }; =20 @@ -867,7 +867,6 @@ static const struct paging_mode hap_pagi .gva_to_gfn =3D hap_gva_to_gfn_3_levels, .p2m_ga_to_gfn =3D hap_p2m_ga_to_gfn_3_levels, .update_cr3 =3D hap_update_cr3, - .flush_tlb =3D flush_tlb, .guest_levels =3D 3 }; =20 @@ -877,7 +876,6 @@ static const struct paging_mode hap_pagi .gva_to_gfn =3D hap_gva_to_gfn_4_levels, .p2m_ga_to_gfn =3D hap_p2m_ga_to_gfn_4_levels, .update_cr3 =3D hap_update_cr3, - .flush_tlb =3D flush_tlb, .guest_levels =3D 4 }; =20 --- a/xen/arch/x86/mm/shadow/common.c +++ b/xen/arch/x86/mm/shadow/common.c @@ -68,6 +68,7 @@ int shadow_domain_init(struct domain *d) d->arch.paging.shadow.oos_active =3D 0; #endif #ifdef CONFIG_HVM + d->arch.paging.flush_tlb =3D shadow_flush_tlb; d->arch.paging.shadow.pagetable_dying_op =3D 0; #endif =20 @@ -3092,66 +3093,6 @@ static void cf_check sh_clean_dirty_bitm paging_unlock(d); } =20 - -static bool flush_vcpu(const struct vcpu *v, const unsigned long *vcpu_bit= map) -{ - return !vcpu_bitmap || test_bit(v->vcpu_id, vcpu_bitmap); -} - -/* Flush TLB of selected vCPUs. NULL for all. */ -bool cf_check shadow_flush_tlb(const unsigned long *vcpu_bitmap) -{ - static DEFINE_PER_CPU(cpumask_t, flush_cpumask); - cpumask_t *mask =3D &this_cpu(flush_cpumask); - struct domain *d =3D current->domain; - struct vcpu *v; - - /* Avoid deadlock if more than one vcpu tries this at the same time. */ - if ( !spin_trylock(&d->hypercall_deadlock_mutex) ) - return false; - - /* Pause all other vcpus. */ - for_each_vcpu ( d, v ) - if ( v !=3D current && flush_vcpu(v, vcpu_bitmap) ) - vcpu_pause_nosync(v); - - /* Now that all VCPUs are signalled to deschedule, we wait... */ - for_each_vcpu ( d, v ) - if ( v !=3D current && flush_vcpu(v, vcpu_bitmap) ) - while ( !vcpu_runnable(v) && v->is_running ) - cpu_relax(); - - /* All other vcpus are paused, safe to unlock now. */ - spin_unlock(&d->hypercall_deadlock_mutex); - - cpumask_clear(mask); - - /* Flush paging-mode soft state (e.g., va->gfn cache; PAE PDPE cache).= */ - for_each_vcpu ( d, v ) - { - unsigned int cpu; - - if ( !flush_vcpu(v, vcpu_bitmap) ) - continue; - - paging_update_cr3(v, false); - - cpu =3D read_atomic(&v->dirty_cpu); - if ( is_vcpu_dirty_cpu(cpu) ) - __cpumask_set_cpu(cpu, mask); - } - - /* Flush TLBs on all CPUs with dirty vcpu state. */ - guest_flush_tlb_mask(d, mask); - - /* Done. */ - for_each_vcpu ( d, v ) - if ( v !=3D current && flush_vcpu(v, vcpu_bitmap) ) - vcpu_unpause(v); - - return true; -} - /*************************************************************************= */ /* Shadow-control XEN_DOMCTL dispatcher */ =20 --- a/xen/arch/x86/mm/shadow/hvm.c +++ b/xen/arch/x86/mm/shadow/hvm.c @@ -719,6 +719,66 @@ static void sh_emulate_unmap_dest(struct atomic_inc(&v->domain->arch.paging.shadow.gtable_dirty_version); } =20 +static bool flush_vcpu(const struct vcpu *v, const unsigned long *vcpu_bit= map) +{ + return !vcpu_bitmap || test_bit(v->vcpu_id, vcpu_bitmap); +} + +/* Flush TLB of selected vCPUs. NULL for all. */ +bool cf_check shadow_flush_tlb(const unsigned long *vcpu_bitmap) +{ + static DEFINE_PER_CPU(cpumask_t, flush_cpumask); + cpumask_t *mask =3D &this_cpu(flush_cpumask); + const struct vcpu *curr =3D current; + struct domain *d =3D curr->domain; + struct vcpu *v; + + /* Avoid deadlock if more than one vcpu tries this at the same time. */ + if ( !spin_trylock(&d->hypercall_deadlock_mutex) ) + return false; + + /* Pause all other vcpus. */ + for_each_vcpu ( d, v ) + if ( v !=3D curr && flush_vcpu(v, vcpu_bitmap) ) + vcpu_pause_nosync(v); + + /* Now that all VCPUs are signalled to deschedule, we wait... */ + for_each_vcpu ( d, v ) + if ( v !=3D curr && flush_vcpu(v, vcpu_bitmap) ) + while ( !vcpu_runnable(v) && v->is_running ) + cpu_relax(); + + /* All other vcpus are paused, safe to unlock now. */ + spin_unlock(&d->hypercall_deadlock_mutex); + + cpumask_clear(mask); + + /* Flush paging-mode soft state (e.g., va->gfn cache; PAE PDPE cache).= */ + for_each_vcpu ( d, v ) + { + unsigned int cpu; + + if ( !flush_vcpu(v, vcpu_bitmap) ) + continue; + + paging_update_cr3(v, false); + + cpu =3D read_atomic(&v->dirty_cpu); + if ( is_vcpu_dirty_cpu(cpu) ) + __cpumask_set_cpu(cpu, mask); + } + + /* Flush TLBs on all CPUs with dirty vcpu state. */ + guest_flush_tlb_mask(d, mask); + + /* Done. */ + for_each_vcpu ( d, v ) + if ( v !=3D curr && flush_vcpu(v, vcpu_bitmap) ) + vcpu_unpause(v); + + return true; +} + mfn_t sh_make_monitor_table(const struct vcpu *v, unsigned int shadow_leve= ls) { struct domain *d =3D v->domain; --- a/xen/arch/x86/mm/shadow/multi.c +++ b/xen/arch/x86/mm/shadow/multi.c @@ -4203,7 +4203,6 @@ const struct paging_mode sh_paging_mode .gva_to_gfn =3D sh_gva_to_gfn, #endif .update_cr3 =3D sh_update_cr3, - .flush_tlb =3D shadow_flush_tlb, .guest_levels =3D GUEST_PAGING_LEVELS, .shadow.detach_old_tables =3D sh_detach_old_tables, #ifdef CONFIG_PV From nobody Sat May 4 22:30:18 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=suse.com); dmarc=pass(p=quarantine dis=none) header.from=suse.com ARC-Seal: i=2; a=rsa-sha256; t=1673271736; cv=pass; d=zohomail.com; s=zohoarc; b=lbamEOfIRE2TRZ8S60MtbPHYhlX6JRzbPrlxYI0lfmSD5MnkOTV/Rwfx4b7EJkPCSw+5zhT2gx+kiFwf17SdUk+Ie620EY0+KFnKyUFyKK0XoWxHtf2Vstm8DqK7hdjoidhh5kz31i9eRBYvSDsi2/cKSFPNo5f7LdmZVDbAXbU= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1673271736; 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=ldmrcBpaOs88X5aWnm3c9XzMTqcT0z7U/BEsg7rlocA=; b=IC/7dT/QdK9y5eiR+mNUOJSE0lEMc1YfreRn1Bm9YU+sd7L3tfUfoVowT0/J4TRnOgRSvDA8+uD9xdm0oGP0OxDKDeiS8itosy+qT97Oadd9cJ3ie0VtVTvP0kpZd+Emete37VCAsAKk/VjpBstZyIwezNNrFZ9brJ51ei+wZwQ= 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=suse.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1673271736535359.25562348526717; Mon, 9 Jan 2023 05:42:16 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.473652.734379 (Exim 4.92) (envelope-from ) id 1pEsPS-0000We-Ch; Mon, 09 Jan 2023 13:41:54 +0000 Received: by outflank-mailman (output) from mailman id 473652.734379; Mon, 09 Jan 2023 13:41:54 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1pEsPS-0000WX-9q; Mon, 09 Jan 2023 13:41:54 +0000 Received: by outflank-mailman (input) for mailman id 473652; Mon, 09 Jan 2023 13:41:53 +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 1pEsPR-0000WK-Tt for xen-devel@lists.xenproject.org; Mon, 09 Jan 2023 13:41:53 +0000 Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2088.outbound.protection.outlook.com [40.107.20.88]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 5f5c314d-9023-11ed-b8d0-410ff93cb8f0; Mon, 09 Jan 2023 14:41:52 +0100 (CET) Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) by DB9PR04MB8348.eurprd04.prod.outlook.com (2603:10a6:10:25c::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5986.18; Mon, 9 Jan 2023 13:41:50 +0000 Received: from VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::2991:58a4:e308:4389]) by VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::2991:58a4:e308:4389%7]) with mapi id 15.20.5986.018; Mon, 9 Jan 2023 13:41:50 +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: 5f5c314d-9023-11ed-b8d0-410ff93cb8f0 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=My+JoqO6h5y27qEa+gNkIzD5XbmjuEeij+vbmCg7+wb+oDbVVbZmF+k8hPhK3yujbhBr21qZLHItaForEQSwG9QtC4WklzHJwa7qaFp4HXgLG4HwqA5JtsEHw57C3Ua2vCFxTe2JCaH1TqQ+GBHZ274vONz3eHlEr6u39etx28WmMED5srjoMKmdAJkwGsmD0mrq3WtHI5cu6X+u0GFo/n0o3DsYiZE7sf3Z2Xkdi+HEvqor9t4dAKuezNmbBCvWxUnEJfCubtekRKfjAY4f46pjYxn7yOsWR51GVMiXah3u4gfAxodMCVVeHyigp8hzrVW622mj6xc4ZZe2s2jYgQ== 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=ldmrcBpaOs88X5aWnm3c9XzMTqcT0z7U/BEsg7rlocA=; b=oOpP5kcDhrQNgTmKSkFoukYGoyZ5AeCfPw8RHlKIP28B/2cMUN/EIVwJlJbI99T3l/tmBqTCRTYIBSD9F/gxT4WmfT8DwO7CF5mHMgiE17H22BmAMolr4H+BkKtHvBHkGGQLU2T5zS3jaRCHg7iGZNx3//jM1HeJv28rhyQgg6cVPOrFs+dkIgOCt38jVDLNOdvIXuCIr+rBnXSVm+wgoSVpxBtYIR+JvS8Xzl/hw9oERG4zqj/4opGmSc6ZA/iSJ0SMy0tx7UcovYF2iFyLBGWttTjcvIyevk8tGySfqeBw7mxuxDldUOvc3axY2VfFPoyH1lLZ2OvVGKF6lEfeSw== 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=ldmrcBpaOs88X5aWnm3c9XzMTqcT0z7U/BEsg7rlocA=; b=4AWJ/z4QMmbuE+TdW4gHklaV7jUuMXm4kCBH5TEScwQ2pH+leo9Qlfy8kKfztQEjz5doiBGb9nsx7WlE2iJsIPWGt/CWf5+EZKpC3PnEM/HuPPEdgyRU2yyJ4SneWmI9ZE/2owoXVNut7QL6medqo62wR2eMASBREimJpCGkTsgQB3GfoV65eWRGzmIQjD15O+4u02hbYaKCMlTAWFU9qNftZe1KcacDm/vJN0hymupxdIWGj7jydJH2b4XPhHxqIHjdU8MSN6dzpbmhZ36HN4okSU6cn3qbiGF3MM121AbFWPmLeGUJRS7iKL6Gu/CN5TxeRUCrLfYThG6uGC1YlQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Message-ID: Date: Mon, 9 Jan 2023 14:41:49 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.6.1 Subject: [PATCH v2 5/5] x86/shadow: drop zero initialization from shadow_domain_init() 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: <882f700f-9d79-67d5-7e13-e42c3c79ba11@suse.com> In-Reply-To: <882f700f-9d79-67d5-7e13-e42c3c79ba11@suse.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR0P281CA0016.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:15::21) To VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DB9PR04MB8348:EE_ X-MS-Office365-Filtering-Correlation-Id: eebc57dd-0faa-4bb9-2a30-08daf24742de X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: /g5Fhg/WFGQ3i6EQjIuIAJrgx6d+r9ywCwbB+v8XzL0fn21OiVNDh1YoO3qgfd284PczrIxwKp/ISWhMeA6SWTD+fc7h4qOERKFWHZ3FiFu43P1snWsQwaEFLDxoFg7Xz/RnWsxVy2gzDJtjprBBLjWy1pApzjpFuO1n7hyAE98GFMF/6s7gVbJJsHGYp3ixwmrtyQb/D6+aD2gGJw+zaKuHH2WYteZDDvkR1sPGWO66G9hbUCgaiDQMeAKZKDgrzfFF67DulJ5LNXNQR2F2rUhthshatkOAomcq71fIJX6SlpYv3XBDLJA7YnBraa3zt+JnnuQN5QnpPqJwAJ3BNAtlg/Vt1kQ4tVOEGvSBHgfVIBbI/cggmOYDRmGYk7c65Mr0ETZAok6awTwcy+ZYT1SSPwS7IVsHA15CKSzYDue2XwOoVEIJwcBZl4jfqVETb23RUA4ut5EOMFjufpLG0ykBOBG0XPgHsg2toEr19TY3E0aTReC1ZbKB2uCZLQV0JjL3jVqwT7Mc+vyh+K2d6jupE647EUwTweV0QDRkj7lYt8Xu6KZ14JoJXEen84GgdurfxFl3So9H2DUOB2+JisEhqdpGLCoRZxIstVR49NOwgP82ZcDsij3gwt5QTccWUYen1TaMjKnu4lBOO2t8fOqui/mWKwWXsbYFcHAJQmNZ03a8uCUQAF/4lvPv2zTkrERHupkxKMzmVqOhyUQtjAAESjYfAwZFHnn4vlxPq+A= 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:(13230022)(396003)(376002)(39860400002)(136003)(346002)(366004)(451199015)(478600001)(36756003)(86362001)(4744005)(54906003)(5660300002)(31696002)(4326008)(66556008)(66946007)(8676002)(66476007)(38100700002)(41300700001)(316002)(26005)(8936002)(6486002)(83380400001)(2906002)(6916009)(31686004)(6506007)(6512007)(186003)(2616005)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?Ukp0RUxqdUp5aWp6RjRQSTVTR2piZFhScFhLSVdzOTVTZm1HY01La3M0QjQz?= =?utf-8?B?R2xDd1ZLWkxZYmVoM2xFMlZnbTJKMWpnRkhsOFV0cE8rMWZVUExMRld1dW9r?= =?utf-8?B?bm5VN3VoSTk0QnlNWE5tdjVkeEJIZlZUc1VBcHE1b3c2aUFFeEExUHpFVm1l?= =?utf-8?B?OUxNM2NMTlNla0pMbnNkQVJZZzZRb1pnR05nTDdaTmtMVnMyaG1rYzhIWldi?= =?utf-8?B?RlFTQjRFdW1YL3ZCa3o0UGNSVnF6ZWdRUC85TGhiNkVtc2loZ1A4d29vbUZi?= =?utf-8?B?aHdpZk1VRUNGL1hLcmpGWFUzUE1CUDBha2lLTE1lNVB3clE2VXh2UnNWL2xh?= =?utf-8?B?dFZoMjgvZ3ZRYW9HVFVyOFBENXJjTzUzOVVkbzNCd0YwNGVTSjFybkhKNU93?= =?utf-8?B?ZzRUbUhJcDJQQUJPRzVSYTJyNVl4V0NVK01xL0dOZitQbHA2M3lsdzF6eSs0?= =?utf-8?B?VjJiS0NpUkZPam1JZG9SK3lQRklOWXZSeTBpMC92NHNBTHdDTERJYVd3RGEv?= =?utf-8?B?bnNaNmJ5RUJPTHdQbEJzYXVHb2dZYXhxcFN0NjcwSFZhUk8rWkhlZ2tQREI4?= =?utf-8?B?ZVcxdytyZVJJblQ4M2gwRHdOYjhFYTZYVGpoNXQ5Y1M0a2xiT1kwQjJSUVVN?= =?utf-8?B?a2pkeXVtOWt5VGRJRDNpeE5KZStYOGpTaEc2d1ZvLytkQUxyU0VTaG02VVRB?= =?utf-8?B?Sm1sR2d2WThOcURheDFpV2k1OHk4WkpHdDBWdEtLbjhqZzB1STI2RkxPa1Ir?= =?utf-8?B?SzRNSnZOR1ZwY0hoWEl0T2pmSHkxbGlBZGgvdFIzN0ZhMzhTdHpzYUZ2ZVdF?= =?utf-8?B?YkFKL3RXRzFaUFRCVkpWR21oNTYrZ2NnVkpWWUMyODFzQlJuSldaNytNdXUv?= =?utf-8?B?eEZXT0Q5ZzY0TjEvQ2xubEJnU0ptTDRMRWlRcmc1dnFBMC9UWmFWWWd1d3ZC?= =?utf-8?B?M0ZVT3c5UUU5R3VEbUhIZ0NZdW43YngyV2p3N296ZGZDU0U1MWptYk9xNy9U?= =?utf-8?B?UU8wK3lWWTQzNmFmUXJvbVRPRTc3TnVvY3JFVlB6YTM3SzgvazBKcXlEbW95?= =?utf-8?B?U3RlUlNKM2h3TEZoQTI1cldPSXFGalI2VlFFQ01nMFZQSkxZbVQvcmxRbzdk?= =?utf-8?B?R1BZeTZPdEoraDJ2R0FHc1RvamExanpaMDA5MTdSTm5DZzZzT3JoRk5hQ1Ey?= =?utf-8?B?VmFIaU9qZXFjeTVsbVU2bzNQUDBUZ2dBbllieXdWd3JtV1FzbFE3NjNydmRB?= =?utf-8?B?RUVnMUREZkVNZWJJTmZaSS9RTnNEbG1xREZhU0RJZ0NMcnFiQTNlcExJbGxD?= =?utf-8?B?V2JNUTFHSlNtVjgwM014Y2gxM1laSGJ5ejF3ZjVBb05oNUpZQmNlOXd6WnVP?= =?utf-8?B?UnZTS0NSSTlrVCtmcnBFaVhFM0V4R2VZaFlMMDdzZCtzZFlNRnBpc3lybVBy?= =?utf-8?B?TmVSemhLQ1J0Tkh5dUkwSXY3czB4Wmd3d01PKzBOZ0R4Nis5bG12Qlo3dk10?= =?utf-8?B?dy9aalZaWW80WG1VV0dUTHJmdDhJNXhZc05jUnpuWGZjdzBSZ0cxVnM1MExo?= =?utf-8?B?UmYxeEprajQvR2RaK1c2WnlBWEdUR003MTFPa0JzZHNjY0k2RE8vNXdPdktK?= =?utf-8?B?dENKQk5tVE9iTVh0d0dORnZmaC9XRWU1L1dkVDMxTXZVSTJpeFdoT25xekxw?= =?utf-8?B?S2xtZk0wLzVPQUtwSU9zZm5iVFZrVElMdlVWY0wvMFFWS2xiNEdsLytOTWpl?= =?utf-8?B?RjhEZ01RT0xTRWNNc0M2THp0eVdHaHdGN3k5UkFlRnZkS2FyM0tKZ2xsUmpD?= =?utf-8?B?dStLaHMvYmhXemdMZS9SdEt0OWg5RGpSaitEZDAvbm9xc295cmlpZlVkaDBF?= =?utf-8?B?MTV4YW1ad3IwZ1g4TlpkYXlvZEQwOHRIc1ZzWXZENEVKdmdTV3pzb0dNOXR0?= =?utf-8?B?Z2pKL2NnWnRVdFNnbkJUeWV6RzIwckYwVTFDbFdLRzlSbWYwZVFJTURabldO?= =?utf-8?B?Rk45dVEvVUFIUE1jR0R2ZExteWkyRnA5bjVSd0JIUWs3eURsR3pxbnkyT1Iz?= =?utf-8?B?R0xack92M0dETitVQzJ4eklUT3JuUEc5UmU0ak5DbVh6U01NaitJQ3orSlVz?= =?utf-8?Q?wmbRvaLJsG4vzq7dGK4JXPJeQ?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: eebc57dd-0faa-4bb9-2a30-08daf24742de X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Jan 2023 13:41:50.6364 (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: ydGtY3AoJ3GhLG0asHd4xt16nog1wJxntn0TmoVTnoRM71INdJBM91TvfEUzCA5g2D5o2E8wImVHh8qTUVmHuA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8348 X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1673271736846100001 Content-Type: text/plain; charset="utf-8" There's no need for this as struct domain starts out zero-filled. Signed-off-by: Jan Beulich Reviewed-by: Andrew Cooper --- v2: Re-base over changes earlier in the series. --- a/xen/arch/x86/mm/shadow/common.c +++ b/xen/arch/x86/mm/shadow/common.c @@ -64,12 +64,8 @@ int shadow_domain_init(struct domain *d) =20 d->arch.paging.update_paging_modes =3D shadow_update_paging_modes; =20 -#if (SHADOW_OPTIMIZATIONS & SHOPT_OUT_OF_SYNC) - d->arch.paging.shadow.oos_active =3D 0; -#endif #ifdef CONFIG_HVM d->arch.paging.flush_tlb =3D shadow_flush_tlb; - d->arch.paging.shadow.pagetable_dying_op =3D 0; #endif =20 return 0;