From nobody Wed May 1 22:37:50 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=suse.com); dmarc=pass(p=quarantine dis=none) header.from=suse.com ARC-Seal: i=2; a=rsa-sha256; t=1639049242; cv=pass; d=zohomail.com; s=zohoarc; b=VB3Q2YQmOSBhwdZ4to71GCL8hbh6H44ujWkzRp28+ErfDfjJzSXbrnKUYgPUHTg77SMPlqLHGx6wzOgm8kXvXi5zctwKUDXOIaFfKAh1LeU469NBdSNU5/SkLYrpN4acUOo7/8UOlhrD8M8nD5px0dKjE9R8kt8V1wo5tsPrOCo= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1639049242; 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=byEU016lID7eSKnqJIKIFTYD83U8No8UvINs5+8b2I4=; b=NmQ8llsNBD5s5F87eNoX6cbzyXgMAibJCdomcnrw3HtD1RO/nnAFsnIFvv59/GXnxruQPDnPwOpc2UQ7KoTiJ5uN0XG0ZY2VWQTfja/SidHufHHEsjVxrk3fQxhCzVR5PrkHbRpDRUcaSqnxE18yVnA2fTgr9iPbgmYr5ECJgZQ= 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 1639049242855180.870052153267; Thu, 9 Dec 2021 03:27:22 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.242957.420165 (Exim 4.92) (envelope-from ) id 1mvHZe-0008Nd-4U; Thu, 09 Dec 2021 11:26:54 +0000 Received: by outflank-mailman (output) from mailman id 242957.420165; Thu, 09 Dec 2021 11:26: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 1mvHZe-0008NW-1P; Thu, 09 Dec 2021 11:26:54 +0000 Received: by outflank-mailman (input) for mailman id 242957; Thu, 09 Dec 2021 11:26:52 +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 1mvHZc-0008NH-Ch for xen-devel@lists.xenproject.org; Thu, 09 Dec 2021 11:26:52 +0000 Received: from de-smtp-delivery-102.mimecast.com (de-smtp-delivery-102.mimecast.com [194.104.111.102]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id e74bb42a-58e2-11ec-9d12-4777fae47e2b; Thu, 09 Dec 2021 12:26:51 +0100 (CET) Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-he1eur01lp2051.outbound.protection.outlook.com [104.47.0.51]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id de-mta-4-xf1sdbNhP6-B94oFNdODZQ-1; Thu, 09 Dec 2021 12:26:49 +0100 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) by VE1PR04MB6669.eurprd04.prod.outlook.com (2603:10a6:803:125::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4755.21; Thu, 9 Dec 2021 11:26:48 +0000 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4755.024; Thu, 9 Dec 2021 11:26:48 +0000 Received: from [10.156.60.236] (37.24.206.209) by FR3P281CA0062.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:4b::11) with Microsoft SMTP Server (version=TLS1_2, cipher=) via Frontend Transport; Thu, 9 Dec 2021 11:26:47 +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: e74bb42a-58e2-11ec-9d12-4777fae47e2b DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1639049210; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=byEU016lID7eSKnqJIKIFTYD83U8No8UvINs5+8b2I4=; b=c5RsZaBuGRgHZcu6fMqAfSyFOFEn7k0NkgpH7XlG5+zEmIzdmT79dGfhAzJ0ceoiGjt3qE OlnLNdNAKFDr/E/8YWyoW+hCIXPhH3Ww6MC0o7/bAg5p9Ll60XGAQ0abTK/f34E30ejpwu IZ1OZSzoAk5fK/EjWUm2PnjJY2aET9w= X-MC-Unique: xf1sdbNhP6-B94oFNdODZQ-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=n4GLicznotsbY2j8Cb6G1oVRKHnLZMcrSiRc9zEm7ge9ORZn0T89DxQoCsSRVlsroRH8dVwIWIre+7FHoWzdg8p/B7tTV+R7hqv0bFE8zc54bE636siBYeL9rpULCx5R/GDmwET6qhzv7PHxiw+1jmdeYpml1Wt2KcFABDFoeZ8pJ+wGvb2veQ5EEzV4YoEtx5+w0w/ZORrUw0fq9F0AKGbKE2Dm248jICjzj/KYdgSF1Ymm7P3Ns/9p5GwCMiFo88GH6CocxCQmmNoXIvKT3RUzfmZHUvYPGvZXKRylXF6YrRrhe4KRClqAsKCEovVwJps91vf2yCktwOR0blCN1A== 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=byEU016lID7eSKnqJIKIFTYD83U8No8UvINs5+8b2I4=; b=nhiqVwYBVj2wDlt8OHLFgQdr0TJa15Qb8llhfZnIgXz69RxC7XKH19M3E1g9D2bVnEUbHWirQIqsE4fyXif0xF+/6gp3ZhvCXUJBdLiz9JxVUgf26AEbdz57zCdrBmlAnZDVxFYTs1Elra7p8O0llkMUuWolyyJMwd66eM/UsHVFujCFyD8xpHpOleGjrItToEAZLEupF/KBvdackd9kBPRmAC+n241AP+r/TySQfnnIdEG1N9sRjZFZm5omrLng8q/rilxBmhsg73SFhkIBZL9OZpqW9+j2qBwFnP9MnWajdI1jSYpBhPfzcFD2Mos8G4FOn8NAA0N3/oZyaIERZQ== 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 Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Message-ID: <521b39ce-2c2e-967e-ecc7-f66281aee562@suse.com> Date: Thu, 9 Dec 2021 12:26:46 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.3.2 Subject: [PATCH 1/2] x86/shadow: slightly consolidate sh_unshadow_for_p2m_change() 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: <9ae1d130-178a-ba01-b889-f2cf2a403d95@suse.com> In-Reply-To: <9ae1d130-178a-ba01-b889-f2cf2a403d95@suse.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR3P281CA0062.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:4b::11) To VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 7bdc8952-7bff-4f76-efd8-08d9bb06c9c6 X-MS-TrafficTypeDiagnostic: VE1PR04MB6669:EE_ X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:3513; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: xVdHrffjrGgazC8hY/Wdlbj7pnONfo0zzD0Eow2U4NpM6EWkpIsuFgLRkvSiaE4yGKsolSP3vBIF/xllUvOPq68D2OWP6KWRm9mJLmsAN0W4yEY+bQfHkw8LZOyubnwWYMqbJc7NXOAd2GDOJYb46Lkw+cV6tMBcZAJc6FSnIs9LQo9258gAkvlXlnbZUhttvGdgt3QkiRRVADdMGpqySqpPwPvAFKfUNvVWg9raLcRQRuN1TSRgempU/69sA+8n21LtzfuZLJtGNYXeapWqFE/oKR1rm1Iu7TPG91yS7Ksil0WRg99mr1ea5/NqijZ3ubvUmT3rkxMCOR/HV4W4zHr5ZGDb+fLgjE1abUz5ZkvlIg9e5ltleida26ahyh3sE9rlimSrihtTtJX2tNn9MTyKeHTw0Bxuc/Hw4JC6JOE8xp/V0i4MhRxtXXL3mubS9alDjnUr/SdmVQgmWDVSzXrwunL8PlU3qzJ5HQxujaK26mkdDOZequGse4RyeUm9vYucYCxXSEetaYS2R+pxpiDKo8cBEfkwZyO09s/nfOIAnxoxaUJDEIs9YdwLJ3B3YZsay0jyRClNKkjFvAhba7VEmRQ3j0uCL2TTfr8gVADVgzwDLr7chpuAVJHeIFua6QsDHztCmHS4tVaJ/fmwYtxq92xD6E6hjnUGDB7oD5ccp3dQRIJDJuGm8KZdkzXaEfjFwiaL7ZJBFto9O2cdGS+jXRO4mFXslrplN/0hy6QVOX9vdjToBG6W9/kJAqTNoupdw1N0GFXELc4p3Byzvg== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(2906002)(66556008)(8936002)(26005)(86362001)(956004)(6916009)(66476007)(4326008)(66946007)(6486002)(31696002)(5660300002)(38100700002)(186003)(36756003)(508600001)(2616005)(316002)(8676002)(31686004)(83380400001)(16576012)(54906003)(70780200001)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?QTN0eTJQVGI1V3JsNFhqR25GMEtFWlFQNmt2N0VqTUhMdW5XZDA2ZGNvNEtL?= =?utf-8?B?TkhBK0E0VjlEY3VRRlBRd3pxZDFzNEh3UmFYU2xQd0QvSTlVckFSSXNOY0p2?= =?utf-8?B?WEVMSGcrT2F6K0M1eTdpZ2ZySFRsTmNHUFdhUWcrSlZjRUx6dFQ5aGRxdmNx?= =?utf-8?B?OUxjYmFKRGZUM2RTM2ZIUkVjeUpVb0pUTUlncFBGdHBoMXE4TDdNMDhxNGp5?= =?utf-8?B?OVdKcklJelJOUGU2STA3NStidEs3QXBvU2lmS2JSQnhielRhbEVLRkFVMmVi?= =?utf-8?B?SmZsWWE1azBvcS9JS0pTc3Z2aWhDdGlTcjN2RFd5alE0SEVxMGN3TlhGZU40?= =?utf-8?B?OGg3bzVkOVdMdktuQTRZazY0T3lvQ0ZrK1FUTTRmNFRjVFF1WEVYNGdEM29J?= =?utf-8?B?NTBCbjdoanB6VytjbUQrQ3hNWVRKaXZESlB2RTlQUENJY0tSRXdQUmxNK1dS?= =?utf-8?B?UWtVMThtU3ZGUklOd0hVUjAwRlBuMWVKby9vd1VYY214RlV0U1lpdjZwMWx4?= =?utf-8?B?KzZETUVpQkJUNEQ4bmF0L3FGaUVkdmFIVklXMXAwM25iTng4SDBSZmhYT3Y1?= =?utf-8?B?UzhVbFBjOWxWSndPN1l2YTFSVis3ZGJDZWxjb2xzdjVwVm5vSjUxeXhGQkhz?= =?utf-8?B?c2pBaU1LWENHaVlyUWNYcDdEcDB2a3ZCejNCUE9EYWI4bGJCTXpQVXdsMnEx?= =?utf-8?B?bTloL2E5NTNpOEptRWdLVklrd1lrenhRdTNQVEEwVGp4V3U1ajJqTCtqVTAv?= =?utf-8?B?czlXRlNEbWNuM1AvZnlCYTRtdmRLa3JQZWh6LzM3TDg5U3pDbXJWOU5NV09r?= =?utf-8?B?Z1pxNzdQbjhqOVpldm53bllJRG1SSW80ODc1eEFnWU1BNW9XdDZ3Z1U1TEYr?= =?utf-8?B?VE5raEVMMDV5eFVqOFZ3eHFzdHcrN3BXTktuVFp4NUZsSDRyUU0rbXcxMC9r?= =?utf-8?B?TzFEZUVGdlVFTXdudGdPVWFtSVBMTnNZbDhBRWcvanNDY1NCQUdoMmQ2OGE0?= =?utf-8?B?UFF2OEhReGhJNDRGNjl4THRxUUJ0SjBjUlBsSE9Mc0J1LzdQTHFvcFNqUUdo?= =?utf-8?B?ZzFlUVVEMDVLZ09LdVV2U25ycDcyNXkzS0NQR3lqMkJJRXRxZHdvZjRBYTRk?= =?utf-8?B?YkZUdGJSWGllcnFzSjZyL1BtdEwrWVRiNDZRUmhEaDQ3L3JnNUg3c0ZiR1Ar?= =?utf-8?B?MGF6QXZoVTM3RmFua2ZMcVRXZXNweTFseGNBTEVOaDhsbXdXTXhmM2s0MFBn?= =?utf-8?B?ZVk4QWJWM3VRZ3BCeVR6MG0zbEdmWHJqbDhhRStyTjlRUTIwSGNzaCtuZ0Nl?= =?utf-8?B?WWRzQ0FnVU13di9wTEowdDdmNkRSVmo5OCsrRTZkVXcrRmN5LzJJR3laRTZV?= =?utf-8?B?S3JIbzlSa0tMWldsN0N6NURrK0dDTWhxdmRnOU1zNFdGTTlVNm9qb3JHWktW?= =?utf-8?B?eGJrV25WUUFQWVh4bGV3ZmdpNWJ3R1l0LzdUUDFKd1dmWmMybEtYRHZtRTlF?= =?utf-8?B?ODBzcUhMK09JOHI5TXhiYmt3bjVCRUYwcEl0bGpDMlBuU2piQUU2L3BCcEVH?= =?utf-8?B?MDJWNkpVNGdScFdiNGJGdWttZzF0VTBsdlZYVDlKdlZNd21JZ3FhejU3WEZR?= =?utf-8?B?MVNnQUs5R2w4Z1ArTm56Tkd3ZjFnU2JWVGJvL0NTS0ZOSHBCc2ZIWUllWnMv?= =?utf-8?B?U1J1WERVd3NBVnNOK1JoV1dlMGxlNDFVcmZYZE1jc2ptS2dkR04ybFVlZEpD?= =?utf-8?B?RUE0VURKenRLbm1oa2d2eXErdUxzOWY1Q2U3UCtXVlU3UkZhSUVwWG1pMTV4?= =?utf-8?B?TzdlSURqZjR3RG5qZWtrNDBWK3p1cjJJTUF5RUtJMWxMY2Y1bHM4bGhYQnhG?= =?utf-8?B?eDdCbnI2NXE1eWNPMEV1ZXpieFc2aFRDamFqNnRGREo1N1FJWWpGZFZ2MHda?= =?utf-8?B?V2hOSTUrNnVLNjBPYzQ5SWFHVk5abnY3VG85V0ZjdXVxZ1p6UFc2d0s0azha?= =?utf-8?B?Q2w0L1h5b3dQQ1dPTkNXVXdhYTQ2d3d3Z05Rd1RkWllkS1llU3lBMWtvMUJI?= =?utf-8?B?OHYzRTUrSFc5YzhCTTU3UTBKcGIrNllLYlBLTXBMZmlZTnZ2dHZWckQ4dFhQ?= =?utf-8?B?cG1JdXprdWR2cnpCdFBRWXIrTUpqWHlQNEZyZkpFQVVnVmJWUi83R0ZHcWF2?= =?utf-8?Q?asxolmAQbRvr4Q5yfatQFmY=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7bdc8952-7bff-4f76-efd8-08d9bb06c9c6 X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Dec 2021 11:26:48.1430 (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: EEtHiw2NlqTMGaVYM6uMvBlBAB5M8DSHDcWph0RCWBf2KP/VOLQ7DWtxgm7u8fXurZ07iORh7/Cn0IUe6yNnUQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB6669 X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1639049243623100001 Content-Type: text/plain; charset="utf-8" In preparation for reactivating the presently dead 2M page path of the function, - also deal with the case of replacing an L1 page table all in one go, - pull common checks out of the switch(). This includes extending a _PAGE_PRESENT check to L1 as well, which presumably was deemed redundant with p2m_is_valid() || p2m_is_grant(), but I think we are better off being explicit in all cases, - replace a p2m_is_ram() check in the 2M case by an explicit _PAGE_PRESENT one, to make more obvious that the subsequent l1e_get_mfn() actually retrieves something that is actually an MFN. Signed-off-by: Jan Beulich --- a/xen/arch/x86/mm/shadow/hvm.c +++ b/xen/arch/x86/mm/shadow/hvm.c @@ -801,7 +801,7 @@ static void sh_unshadow_for_p2m_change(s l1_pgentry_t old, l1_pgentry_t new, unsigned int level) { - mfn_t omfn =3D l1e_get_mfn(old); + mfn_t omfn =3D l1e_get_mfn(old), nmfn; unsigned int oflags =3D l1e_get_flags(old); p2m_type_t p2mt =3D p2m_flags_to_type(oflags); bool flush =3D false; @@ -813,19 +813,30 @@ static void sh_unshadow_for_p2m_change(s if ( unlikely(!d->arch.paging.shadow.total_pages) ) return; =20 + /* Only previously present / valid entries need processing. */ + if ( !(oflags & _PAGE_PRESENT) || + (!p2m_is_valid(p2mt) && !p2m_is_grant(p2mt)) || + !mfn_valid(omfn) ) + return; + + nmfn =3D l1e_get_flags(new) & _PAGE_PRESENT ? l1e_get_mfn(new) : INVAL= ID_MFN; + switch ( level ) { default: /* * The following assertion is to make sure we don't step on 1GB ho= st - * page support of HVM guest. + * page support of HVM guest. Plus we rely on ->set_entry() to nev= er + * get called with orders above PAGE_ORDER_2M, not even to install + * non-present entries (which in principle ought to be fine even + * without respective large page support). */ - ASSERT(!((oflags & _PAGE_PRESENT) && (oflags & _PAGE_PSE))); + ASSERT_UNREACHABLE(); break; =20 /* If we're removing an MFN from the p2m, remove it from the shadows t= oo */ case 1: - if ( (p2m_is_valid(p2mt) || p2m_is_grant(p2mt)) && mfn_valid(omfn)= ) + if ( !mfn_eq(nmfn, omfn) ) { sh_remove_all_shadows_and_parents(d, omfn); if ( sh_remove_all_mappings(d, omfn, _gfn(gfn)) ) @@ -839,14 +850,9 @@ static void sh_unshadow_for_p2m_change(s * scheme, that's OK, but otherwise they must be unshadowed. */ case 2: - if ( !(oflags & _PAGE_PRESENT) || !(oflags & _PAGE_PSE) ) - break; - - if ( p2m_is_valid(p2mt) && mfn_valid(omfn) ) { unsigned int i; - mfn_t nmfn =3D l1e_get_mfn(new); - l1_pgentry_t *npte =3D NULL; + l1_pgentry_t *npte =3D NULL, *opte =3D NULL; =20 /* If we're replacing a superpage with a normal L1 page, map i= t */ if ( (l1e_get_flags(new) & _PAGE_PRESENT) && @@ -854,24 +860,39 @@ static void sh_unshadow_for_p2m_change(s mfn_valid(nmfn) ) npte =3D map_domain_page(nmfn); =20 + /* If we're replacing a normal L1 page, map it as well. */ + if ( !(oflags & _PAGE_PSE) ) + opte =3D map_domain_page(omfn); + gfn &=3D ~(L1_PAGETABLE_ENTRIES - 1); =20 for ( i =3D 0; i < L1_PAGETABLE_ENTRIES; i++ ) { - if ( !npte || - !p2m_is_ram(p2m_flags_to_type(l1e_get_flags(npte[i]))= ) || - !mfn_eq(l1e_get_mfn(npte[i]), omfn) ) + if ( opte ) + { + if ( !(l1e_get_flags(opte[i]) & _PAGE_PRESENT) ) + continue; + omfn =3D l1e_get_mfn(opte[i]); + } + + if ( npte ) + nmfn =3D l1e_get_flags(npte[i]) & _PAGE_PRESENT + ? l1e_get_mfn(npte[i]) : INVALID_MFN; + + if ( !mfn_eq(nmfn, omfn) ) { /* This GFN->MFN mapping has gone away */ sh_remove_all_shadows_and_parents(d, omfn); if ( sh_remove_all_mappings(d, omfn, _gfn(gfn + i)) ) flush =3D true; } + omfn =3D mfn_add(omfn, 1); + nmfn =3D mfn_add(nmfn, 1); } =20 - if ( npte ) - unmap_domain_page(npte); + unmap_domain_page(opte); + unmap_domain_page(npte); } =20 break; From nobody Wed May 1 22:37:50 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=suse.com); dmarc=pass(p=quarantine dis=none) header.from=suse.com ARC-Seal: i=2; a=rsa-sha256; t=1639049283; cv=pass; d=zohomail.com; s=zohoarc; b=PfCMYI4cyAdraCiKxJYBitbctT+QNkuzxhqi+JNQi4Sn53DjCnJXi9cPPJ+85edTUgW2Z6dpTJd4Savi/ysOynKX6uD+Rlz2DX62WGscczBApzmXPDoKpn0Tku+kQv/ol0OF4nfk+xCr1v8CWWUAS3j/K7Bnb48N1Zi/4Epkd6M= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1639049283; 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=NGYaCIoX8o17jAvi6lqGRSDxKlq7w0w9+/u0S+y8TUY=; b=ipDDJZn58DPbb7lzLfm5IxbcmdS7qJcvE3K3aG5VfDYeIpo6OSFrD6ow6cyYhD0fDQ3YiQsif2wQLBL5xfwo2m/5bcyzHZv+7ssaIjMQxOhFI7o7ut8PWfr+MibjqcfDjrtpKehwG4wS515OakHDUVHMUgj4m32+biuT9X3rznU= 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 1639049283947995.1995771310069; Thu, 9 Dec 2021 03:28:03 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.242963.420176 (Exim 4.92) (envelope-from ) id 1mvHaO-000153-HK; Thu, 09 Dec 2021 11:27:40 +0000 Received: by outflank-mailman (output) from mailman id 242963.420176; Thu, 09 Dec 2021 11:27:40 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1mvHaO-00014v-E4; Thu, 09 Dec 2021 11:27:40 +0000 Received: by outflank-mailman (input) for mailman id 242963; Thu, 09 Dec 2021 11:27:39 +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 1mvHaN-0008NH-1v for xen-devel@lists.xenproject.org; Thu, 09 Dec 2021 11:27:39 +0000 Received: from de-smtp-delivery-102.mimecast.com (de-smtp-delivery-102.mimecast.com [194.104.111.102]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 03846458-58e3-11ec-9d12-4777fae47e2b; Thu, 09 Dec 2021 12:27:38 +0100 (CET) Received: from EUR02-VE1-obe.outbound.protection.outlook.com (mail-ve1eur02lp2059.outbound.protection.outlook.com [104.47.6.59]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id de-mta-38-VYKA4X3vO5iA2lAuAVi66A-1; Thu, 09 Dec 2021 12:27:36 +0100 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) by VI1PR04MB3118.eurprd04.prod.outlook.com (2603:10a6:802:a::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4755.21; Thu, 9 Dec 2021 11:27:35 +0000 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4755.024; Thu, 9 Dec 2021 11:27:35 +0000 Received: from [10.156.60.236] (37.24.206.209) by AS8PR04CA0110.eurprd04.prod.outlook.com (2603:10a6:20b:31e::25) with Microsoft SMTP Server (version=TLS1_2, cipher=) via Frontend Transport; Thu, 9 Dec 2021 11:27:35 +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: 03846458-58e3-11ec-9d12-4777fae47e2b DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1639049258; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=NGYaCIoX8o17jAvi6lqGRSDxKlq7w0w9+/u0S+y8TUY=; b=LpmBRYfHE9dlNFkoKCcGzWb/N+7S6PyZBzi4bkAs0oya5psLRT3tHiVjIEBGQcyHFvjYHz /rGuQ1XAHDrAJo9kJzytiFuk2qxmSrA2e0Modx6IJ+GMaUUCEKycVxZ3SJxRxX7pQkKkNr hI+DJicBNs4IgXpeshVljeEmSh7DXVs= X-MC-Unique: VYKA4X3vO5iA2lAuAVi66A-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=PjoAZPmqG+pv6U9nklnjxWqnJzQv52jxnmYNlegPep8wf2uCNO83OThmM07xhTJLw+0KnZWRF0Dkz0IjzB6hpUWmpnaVCYN/UVFgmhJrc0u/TWgCnetrh/tbcQ6dSxwF43MKys4YsxAq6bEIGyhdWoudDqVY6xgiw8TePjB1nMvrpOvTNE81E8aQB1qv/L5NbWbNUAew9rhwfltLmljSJ9fHwbltUqUOVl6JSWHpYSHKXnb83hsbFv3xFA5JnBNEaNpl6QM3LE0E274PJ/dFlJ+eQWmZt+KaPw9jtB4veOYMm873t0mLouBaSCGEjdC467gVPaZZkhYe+bPCwThAIA== 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=NGYaCIoX8o17jAvi6lqGRSDxKlq7w0w9+/u0S+y8TUY=; b=NdGhAlttJ8jswFnLRbn3/OjniGL76ExAOxLXW+IM8V8k+WWOP6eCqC3pbFM2q5oAOtb06preUTciJa0TVDU/t+GypFRiuiM18ElMo2j1524l/OcIzHWJLnzGNtp65kcBuWCV5TJfgWWB+jPPF223sKRXbahPko/8nMF/GJuwQ6IhpIam/zbObX8joxBfYoNPpa54sWaeQbrdsSVewLmcpIW3C5+6Tc4dqe6BYMWivsYy2GLMt3vHL1HTmBGc7vRIKaoj/Bg1O0NTLGVOCgpER8ZyBb98YtJqKCcOHyt2HPaZKW3oKvmifXbAvTopYjpBjpxYmnLF/T7coGQJI46yCQ== 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 Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Message-ID: <7a80d08b-edd7-43c8-a7ce-42eb85d6f3be@suse.com> Date: Thu, 9 Dec 2021 12:27:34 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.3.2 Subject: [PATCH 2/2] x86/P2M: allow 2M superpage use for shadowed guests 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: <9ae1d130-178a-ba01-b889-f2cf2a403d95@suse.com> In-Reply-To: <9ae1d130-178a-ba01-b889-f2cf2a403d95@suse.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: AS8PR04CA0110.eurprd04.prod.outlook.com (2603:10a6:20b:31e::25) To VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 28a7c507-f9e7-47fb-0677-08d9bb06e644 X-MS-TrafficTypeDiagnostic: VI1PR04MB3118:EE_ X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:9508; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 0Ddf4NkC3WweEEXsO3Now6w19yOLwvZzTdfmecDSZBVidkqKb13RAH5BUex3c/e9MVBxrtnN4a+BlHAy4bBgfUjaBtcEs0o/vnWGCRQU29S1zHJazn5gU4bBJFhxN0sJcRSNB2k27iUo1AWylj02UgobcFoc/5pKJckqRv+EB7uxNhHb2N81KLsizPXhKSaID3Qw6S3Qzf9+ovl7C5I4YUtdjnydxNblttyTAutzzQfIxyVKW0uR3wOqgNgPwOZWLN98+P6pdDezxsYdFy9A50mWy/1dp3eVP7eF5m0q7oTqm1V208Q8Z95F+UR9hZlF3xT51sC9iRTrzx6mhOBYvZIsKVs8HVomVx9Vbin7nbW5Wv59auxPtMNd+/z6UBQZducpy9iXYHDi1XzdBjKD7ND4/XMLmi6yC5yoSRzj1AU19p8SpGbs6Zdb0HdESUv2WnJiF47G9HXaPEKEwuaMy7DAQrzxbAwiagYQ5wNizx9t0Zju9R45lMMwzsUpM3Oiqw6d1GHeAah+zFVM8962p7A67gUGvWDJyAyNUks/Ij4WQ0VJJtfQqK/4CYva1RTzeCGIFDjF4EQRjXUpgoP3GCylCNwvVY0VDsmsdnXcJqCwwizAo7x4D6P28x95w/akeQKWQCqhN9YzgoUVANcCCBFnJcNQNNBWCavZC/ls2QR+sT6aNwov7NTEQXTWhOBwMUx8skDWbJE2pPoOTv5T/ocdZxnvh2g/De6zLOE33B8= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(2906002)(31686004)(31696002)(8936002)(6916009)(86362001)(5660300002)(186003)(36756003)(4326008)(6486002)(54906003)(38100700002)(316002)(2616005)(66476007)(8676002)(26005)(66556008)(16576012)(83380400001)(956004)(66946007)(508600001)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?QjcrelZWNUpNUDZUNlpJSE1MbWRRZ3NKK2ZuTUVCSEdrcmR4YVJ4WDJvZzk2?= =?utf-8?B?UkRGRWNVdFc0b25Cc0k3R2srbVhmQVh1QnY3OFkwdndKclBYRWFIVHpXRytr?= =?utf-8?B?NTNJZDMxNStaK3E4b1lzaktvM2NSQy94bkk2OTU4SzFvWktlcFE2cDJ3SFAv?= =?utf-8?B?akxyR1U1Z2ViQW9WUHlVd2pPNjBMemdLakw1K1VnaUJaN0RRTVlCTVVJSlhv?= =?utf-8?B?YjZsazQ2enFZS09jY2hET3lvVjMvUEw3bjlGTzJ2SlR0a0RGbGZJZHVBaXlQ?= =?utf-8?B?cUlDVUV6S2Vnc3VkcngvcUlzaktENXRGd0NJbm82TWwwUW1JYU1DR012TTBU?= =?utf-8?B?WFdrM3FRQVZORXpXQlpCQzl0UE5iY2tTcndvek1ZRkNiUnFPK2VRSHlqZjlV?= =?utf-8?B?QUFrSjRDUjRjMUtucENpL3k5KzNrWjVnWlFoV01TNSs0UzJGcUk2ZWpnR2JE?= =?utf-8?B?aEd1MTd4TXp4OWsxTGFkUUpUUjlmWndmcXVRMG4yR0dSb0xTN2xVa1JEU3ZT?= =?utf-8?B?cjJ6KzJaMER2aGkvMnNUYlBLdDFER3pReFdqdkh2WVI1Vm9sYitLZHVzUXdv?= =?utf-8?B?QW56YnZuRWJtT2tqci9ld3JTRUpTVTlkVE1NeDZ5SFdSazdaMndqamoxQUhr?= =?utf-8?B?ejU0TEVDWSswUTBHNjg4dDgwRVJ3VmJsSnBRaHlqalc3T0hSQWNXczZ4Lzdv?= =?utf-8?B?R3psdC92TkhsNnJRcllFMS9NMGdXMHVGemZENzF5cjFmN3RheUF4YXBkSllt?= =?utf-8?B?d2MyWk1yL2tPK05kak9UczlZTFRxQ0c3NVBRV1RMK0pSRThhbVRDeU5mMkFP?= =?utf-8?B?LzczNGxhVTNxV042cThsSEJuVWNUc3B2YllUaHMzaVZwUmJkdnA1T2dkQlY5?= =?utf-8?B?QlpjdTRZazhjbjl2Wm9IVVI5bklxT25IYnVpRGRob0h1RFFmcHNNT1JkbVV1?= =?utf-8?B?cnl0MEVOTlh3T3k5b05qRlhIOE9YbXVkLy9yK3NCR0lwSTdmWHFuSUJoNFk0?= =?utf-8?B?TWk3VmJvU0JhQ1VFQVBPSERGV3JYVjRzdE50V3YwMUlBSHNkMFRZZEpWS0NC?= =?utf-8?B?ei9tMFVaUURtM0M1TlNXQVY2NmF3QkRyMXhKZ1JuR2lLVnhSZHd1K09JVkQy?= =?utf-8?B?MWRJQnNjTE1hVTVmVGlzYXFpdWE2RXJMUnVKbWpLeFRMQVNwZXpLVWZiZXJj?= =?utf-8?B?YUpDZklEbkhRRS9saHYrbUNROHg5QURZM0NFYWRiaWlwQVl0cHovRnNwSHVE?= =?utf-8?B?R1pVak5TMHZGcTJ4Ti9SK09XRERDeHdXUUhHZW9RejBCR1N2UGcxR3JQOSts?= =?utf-8?B?c3RCdmxSVEVSV2NDM0FqU0lWNTVBUU85UmVzSndtRWtDdm96ay9xREhrK3Ey?= =?utf-8?B?WFlQSnFHVkZuekFScFZyM0J6MUVxTFVCUkhvcWNsdFVmZDA0U1huRis5aDU2?= =?utf-8?B?SCtFS2YrdkszS3oxUDNNM2JIUXhMbmJoL21DS1RydVBHVHNiS0hvcE9WVzk5?= =?utf-8?B?bVBscm1CTnU0QUJsYUlraXJxbzY4Z2x3bEtuT3ZaNVA1dWpnNGNPSzlVamRO?= =?utf-8?B?cDVON0Vja3BHWEEzajBxK3cvN2pFNjdaWEQwNFJMM0hhdXNuU2hOWG9kSmF1?= =?utf-8?B?Wm0rUVBOcXZPd2hodUswYzVwVWVtYVphK3dUeVZZZFBnSHlCS3hUc1ZSNFJV?= =?utf-8?B?eDY3YzFVWUdEYjhFWlhqUUJ1UUc1Ni9SMGNVYWtFWUdoT0RBeGZtdU4zWitE?= =?utf-8?B?UFJzcmJnR1BQQjAxSnAwMDVpZERyelpsVjJqTlFxRkMzYXRDcGlrcDZpSFg1?= =?utf-8?B?cEQ5U1RvbDI5OWoyUE9Fa3VBRit6UkdZL2FSMjNkeUtmNmtpNTlyeVkzTHlP?= =?utf-8?B?ZTI4cTB0bEI2Q0NqUTVjVTh0Tlcrcks1NlpWMU9LTnRUbEpzV0pVZW1BRzdw?= =?utf-8?B?RU9TSWpGNTdaOGdTQ2I5YzRoRlhHbUszTXphL3I4blNFb21OcVFmV0NBMTE0?= =?utf-8?B?ay95aHVpVFFNYlhGWWVpNjQraldDeWV4TGNyK2JqU3lsOWpIVnN6ejlFZmZB?= =?utf-8?B?UHNibEhlQlpXZlU1TDVHTHRBVTdJNVFwZStHdlhLek9qcVNmMUROb3BUSXlk?= =?utf-8?B?NHZsZFQ5Y2RrSFhjM0pyTzQvSWFhbG96SktSYlk2dU1XQkttanZ0ZXMzM3hB?= =?utf-8?Q?hGXgLOdS6ohNguSzHj4+dtU=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 28a7c507-f9e7-47fb-0677-08d9bb06e644 X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Dec 2021 11:27:35.8380 (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: H6tDBhLtaYt1+60rrZ2DFWCECzQsD/OpM4ooXK1xvB36xdUwqZHw1fXuCyLJVMKnCf7C7PhQHHtzE1GPWUMV6g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB3118 X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1639049286314100001 Content-Type: text/plain; charset="utf-8" For guests in shadow mode the P2M table gets used only by software. The only place where it matters whether superpages in the P2M can be dealt with is sh_unshadow_for_p2m_change(). That function has been capabale of handling them even before commit 0ca1669871f8a ("P2M: check whether hap mode is enabled before using 2mb pages") disabled 2M use in this case for dubious reasons ("potential errors when hap is disabled"). While doing this, move "order" into more narrow scope and replace the local variable "d" by a new "hap" one. Signed-off-by: Jan Beulich --- Strictly speaking "fn_mask" could also be "unsigned int"; I wasn't sure whether changing that would cause objections. While at least sh_unshadow_for_p2m_change() presently relies on this behavior, it is somewhat odd (and inefficient) for p2m_set_entry() to split even non-present mappings. --- a/xen/arch/x86/mm/p2m.c +++ b/xen/arch/x86/mm/p2m.c @@ -631,28 +631,22 @@ struct page_info *p2m_get_page_from_gfn( int p2m_set_entry(struct p2m_domain *p2m, gfn_t gfn, mfn_t mfn, unsigned int page_order, p2m_type_t p2mt, p2m_access_t p= 2ma) { - struct domain *d =3D p2m->domain; + bool hap =3D hap_enabled(p2m->domain); unsigned long todo =3D 1ul << page_order; - unsigned int order; int set_rc, rc =3D 0; =20 ASSERT(gfn_locked_by_me(p2m, gfn)); =20 while ( todo ) { - if ( hap_enabled(d) ) - { - unsigned long fn_mask =3D !mfn_eq(mfn, INVALID_MFN) ? mfn_x(mf= n) : 0; - - fn_mask |=3D gfn_x(gfn) | todo; - - order =3D (!(fn_mask & ((1ul << PAGE_ORDER_1G) - 1)) && - hap_has_1gb) ? PAGE_ORDER_1G : - (!(fn_mask & ((1ul << PAGE_ORDER_2M) - 1)) && - hap_has_2mb) ? PAGE_ORDER_2M : PAGE_ORDER_4K; - } - else - order =3D 0; + unsigned long fn_mask =3D (!mfn_eq(mfn, INVALID_MFN) ? mfn_x(mfn) = : 0) | + gfn_x(gfn) | todo; + unsigned int order =3D (!(fn_mask & ((1ul << PAGE_ORDER_1G) - 1)) = && + hap && hap_has_1gb) + ? PAGE_ORDER_1G + : (!(fn_mask & ((1ul << PAGE_ORDER_2M) - 1)) = && + (!hap || hap_has_2mb)) + ? PAGE_ORDER_2M : PAGE_ORDER_4K; =20 set_rc =3D p2m->set_entry(p2m, gfn, mfn, order, p2mt, p2ma, -1); if ( set_rc )