From nobody Thu May 2 07:08:03 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=1625501159; cv=pass; d=zohomail.com; s=zohoarc; b=JiFEPI7aBzIVxxNLOebriJieEiaH8Eehh4otytrKnUZfJXEKEkidSs5FJLk1vcyLWPw9RDreMUUcPKWv5A+4tCSE4j19wlqxWAq0zf3JnLZ9+w/oOK4gw9DDJbzy2HRWfwFRygRb4sS/c+1WAeyu+65N71np7t6xqX5tilWkyz8= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1625501159; 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=Z4RpaDeng9lWcvFK84pEeyS4Y5FUQv/CbdN7CkzTyrQ=; b=NSWjXa6ZgJTYzLUNWGFknknx58f2wE+M0MJp4RiU6h0lbzu5T9E8YD5hMAKaduFByA94T8RBf6nE6GF2qnya2J8cLZgr8tz1ONS3GeMNp7ALCTvm3LNSsBs8v96Iyr06+yvch4ds3nWCpcjlSlx6Jw2XhWGIJ59zRDk2h3pk19Q= 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 1625501159491353.36485712669287; Mon, 5 Jul 2021 09:05:59 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.150429.278137 (Exim 4.92) (envelope-from ) id 1m0R6N-0001mK-EP; Mon, 05 Jul 2021 16:05:43 +0000 Received: by outflank-mailman (output) from mailman id 150429.278137; Mon, 05 Jul 2021 16:05:43 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1m0R6N-0001mD-AQ; Mon, 05 Jul 2021 16:05:43 +0000 Received: by outflank-mailman (input) for mailman id 150429; Mon, 05 Jul 2021 16:05:42 +0000 Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1m0R6M-0001lp-Nh for xen-devel@lists.xenproject.org; Mon, 05 Jul 2021 16:05:42 +0000 Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id d889d61a-ddaa-11eb-844d-12813bfff9fa; Mon, 05 Jul 2021 16:05:41 +0000 (UTC) Received: from EUR02-HE1-obe.outbound.protection.outlook.com (mail-he1eur02lp2057.outbound.protection.outlook.com [104.47.5.57]) (Using TLS) by relay.mimecast.com with ESMTP id de-mta-4-yQsuM0daNaiDx4oti__Xcw-1; Mon, 05 Jul 2021 18:05:40 +0200 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) by VI1PR04MB6861.eurprd04.prod.outlook.com (2603:10a6:803:13c::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4287.23; Mon, 5 Jul 2021 16:05:38 +0000 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4287.033; Mon, 5 Jul 2021 16:05:38 +0000 Received: from [10.156.60.236] (37.24.206.209) by PR2PR09CA0021.eurprd09.prod.outlook.com (2603:10a6:101:16::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4287.22 via Frontend Transport; Mon, 5 Jul 2021 16:05:38 +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: d889d61a-ddaa-11eb-844d-12813bfff9fa DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1625501141; 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=Z4RpaDeng9lWcvFK84pEeyS4Y5FUQv/CbdN7CkzTyrQ=; b=UwLRjneZU9oyXtDDwHpcs07V4LSnMf1PAC9Tuk0pVNzXezv8a6HgWyMwnHVYZ6ZOneKyO5 M9NbW02SSyxzbmXqJ6pL0+Bklc1ZCCmv/p995zI0XQz7Wyz/vi6RbCqABuCToDynKrLLqJ JFQPWHAwK07+N7wvGMvGamxRb3YF4SQ= X-MC-Unique: yQsuM0daNaiDx4oti__Xcw-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=RaY/l8CgDOuH0MeNIF51p8UC1Tx9HVuDubP00DOtFBgbMgYjpZxd4kwV6BDfn322YXzEsexjNqdMm5XBYn/meQWoOdMs6FGsxMTm13+myZTFCviDX5FP5Avadcs5ho/+o9+Bb+yXBxsSiYynSY5P3ev7NAEkb878mDNA5ZiIHt4gLgmNzscqapfpMXjkanQjKnmjYeuw04pobKp/ai5TegCUfB/5Ovm3YT4NRK7oNMK1PzzN54JWuNaG9upIBSXtBJmbJLadAF4oBfZgNOoCdSXs+3E1FZ/UqeZ92PZsx8mME2xYgwPFu868zD4MkgPJGEcj22n7cvgFusTC0R4l9A== 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-SenderADCheck; bh=Z4RpaDeng9lWcvFK84pEeyS4Y5FUQv/CbdN7CkzTyrQ=; b=iKscJRJE5NMYs8pB1ESmibOFyxOJPuSSmfIOGrEgsT/zejvqjPITVm4FNWQOwgMjQaSuEvwzvk5aiDijctUKaM9x/aU2JnouzjLxM9lQRIVMGew3Kh4PQ8kNrtSkdXjNGTJw8IlXYtDKBvgjpyvn2UC7zu5E9ZxFl5hQimppWMtyeSriDIsU2s05DgZdtAwH9GAOEbm/33vVQ4M4P0m3eI81btLgzW/CyddjmFW0KjW5QIcov6oXqqc81MTVLf/LqqjnIj0ETVYtHGbm/ZlqUQRx6mjnp5JIU+3uKx/iYi5Y/j9RlYbXyuqfSfH4RWFCBJyeFzW3j4vNx2IqpLl3Fg== 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: citrix.com; dkim=none (message not signed) header.d=none;citrix.com; dmarc=none action=none header.from=suse.com; Subject: [PATCH 01/16] x86/P2M: rename p2m_remove_page() From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Andrew Cooper , Wei Liu , =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= , George Dunlap References: Message-ID: Date: Mon, 5 Jul 2021 18:05:36 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 In-Reply-To: Content-Language: en-US Content-Transfer-Encoding: quoted-printable X-Originating-IP: [37.24.206.209] X-ClientProxiedBy: PR2PR09CA0021.eurprd09.prod.outlook.com (2603:10a6:101:16::33) To VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: fb5d391c-3b65-4826-aa72-08d93fcebb29 X-MS-TrafficTypeDiagnostic: VI1PR04MB6861: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:2512; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: wEbP80NctPr/Lc+EQsq/uLfvi2N2W7lO0llBUJcQjsOdQ4lnQpnIzbq05aRRhdmHxwRoWG6KoAr+0sSSAAfsTAcjd2TVEbGmTl5xHCscrZD5RI4or8n1CKfhz0OWVzEmB3AJN5L3fIcI7U4O/3vdgNDVbA1OV/lYXrjDsb1MMXThgDC17bZFPBnNISC6Ts/tHpHfdL3uZoVeKPoL6r+AySPKa9Jlxd9IDcqDheqaCBA+zTwCUC/+2MnxqF2L/FXB3OiqqAamJCi3vWIhagzZ7D8xZ/9gYzE4pqSKbeNBSVc0BDP64UZ/SBTCv1SLPSbRRB0W5O3+E8nvOOd15XXqjAu35gW+S6oZeueqUFVV3DaXe1SFZMjDcJdL0jlhF1b/vTf1rW5enoGKfLX5dzfe6mukPWT4BB/FRPUFjnAALD6EfQz9uSUkzRGE319WKMJfauusew/xd0REeV0OSp+LipVBMwjSWAJtOtOAeir8tXAxsFz05DXXAscmSDcx0S5py0AE/tbIno7CsiU0YeZP90PQatTNjlAQbXhH4IByCYKtdy57nXxBkiLvGCRButjP/HzaCwaCl2gUwwrQAOHzfH9K8tuXMVHW/Ire/VidLUU2VEu8ewLPRAsHPOG4w8XW2DYDe0UILUXutFpJqX1u0GkBJys/4tH4gDINpBg0dX28EYTKijdhFB8R6iJkhPQVx3NOVesy8VkUdhFaqmq9f7bsN1YvaBT+zDNY9hU8c00= 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)(376002)(39860400002)(136003)(346002)(396003)(66556008)(66476007)(86362001)(66946007)(5660300002)(16526019)(31696002)(31686004)(38100700002)(26005)(36756003)(186003)(2616005)(83380400001)(54906003)(478600001)(6486002)(316002)(16576012)(956004)(4326008)(6916009)(2906002)(8936002)(8676002)(43740500002)(45980500001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?L0VHZEwxQkZSOWZkTXo1L0MxREVJN3N6bFRsTGRqVFpNaHhESlhJMkRIUWM2?= =?utf-8?B?M1ZISzllWVRSaUxGZEd6YkN5Y3ptM2g0K3R1L04vcXphMVFMdzRETjJacms5?= =?utf-8?B?Vy9mTmNjaFgwZlJ1amhWUUN1TmJoZjkxdDZnZVkyZUxLM3U3NWlETFVIQUkx?= =?utf-8?B?ZGIvSjNLV0dsODlsbEN2ZWhua1ZlYU1qWERIVTB4NUV1aHZOUzZFZkI1dUxB?= =?utf-8?B?V2NGcnhCZVlaTmd0bUpKdCtXL01ZTjFvbDhFa2paVnhwTEE3VHEraXZadDdE?= =?utf-8?B?VEhoelFPMWxUK3loc1R4cVhRMUEwT2k0VWRGQnJCblhDS0o3UERoRXFjRW5r?= =?utf-8?B?R3ZqNUl6RU40MERNYVZTTjUxYkFUbkNCWG1EL3FWbFJkSTM4bldjRDVyYTBv?= =?utf-8?B?RGd2N21kVUozK1VsK2VuZHRsaHZ1OXJlOEdPcjVERTBDWnkrMzczSmJEYmlI?= =?utf-8?B?cjN4M2RXeXZzbmtRQ0Z3eDZFNzFuSVJhcE91M2Mwbk0vc1lkc1p4ejRQTU1Y?= =?utf-8?B?eTVjNTNDVG5kNkc2UnFveDBnTzlIVnpzWHhWS1ZtVHM4QTh6SlcwRlZuVnpl?= =?utf-8?B?cDZtL2t0OEVLWjczeElKZ1hYWFc2R1ZwdlpjY29pWTZXWUVnVHdxUkhiZDFK?= =?utf-8?B?QjdCMjQxNXI0eG1oc1I0WlBOMVFUOFFOQVc4M0laK0pMZHVmT1FDUWpQaFVF?= =?utf-8?B?bWlzWDIwMFkxV3A1V2p1NkQ3TGMrLzdHMFlGSXF5TGJwRHdqQXQ3aWp3Q05k?= =?utf-8?B?emJYbFJuajZCRlBpMlJNaXFicnNXRmI2c1duY3ZlOHdGckgwYjdTTlVSUUNp?= =?utf-8?B?clJtYUw0RytsSDQyR2d0R2VHajhEbk5CMElhejNqQ3VPd0xucXFpQTZGZDl1?= =?utf-8?B?em8xRDEvdnh0RGk1dTkreTB0NmU3eGowUUEzZ3pQRkF5TVBQMWMwSTZtVTNW?= =?utf-8?B?YnZNT0RjN2I2eGhtYnl2YkpxcEFtTG5BYTlrd3paR2hUNTZHSTY3ZjRZMngr?= =?utf-8?B?ai9hSC93bUNRNHNsOXpGb3daN3M4THhSV2grUXI2OXFnS2QvTEZmNCtyVnk2?= =?utf-8?B?TU9WUHpZaXNscitDek1DaEFkak5JbFU3WTc1cVBVSi96RUVTMDBMeHkxR1h6?= =?utf-8?B?Q2JTbmFaZmxBSm5GRjZGVnVuZDVHUWIwNGxuK2JrUkIyYm5QaFFRQjRDODVq?= =?utf-8?B?ZHBwUlVaODlrei9Zc2hDcWlQWDlpMG1WMWMvYk5wcHB4RUFrcUZsRGNzcUNG?= =?utf-8?B?ZER5MEFYLzBZRVRSQWhkZkVOOGE5MW5VRTh3OEVEd1NGNkEvRTkzWWYxWEpj?= =?utf-8?B?dUxNY3hQN1lvZGowOGZybURpNXZoc2tSMkdPQVdaK0xHMG9oZlNwd2phNWF1?= =?utf-8?B?ZUdqWjYwWndYalpWaUNzT1U1ckRHZTRnRjhBWGM0TXNsSE95N0s5clg3bm51?= =?utf-8?B?MDd6QnFDZTBEVTZaMkRadFhjdU15VEJiS1dtU3ZEdW9vVjFwb1REYjI3TUg1?= =?utf-8?B?dUNVSWJ1QWMyekFZL1NkckViZTR3dGVIVHZyTzFSWUdvdTdFWGhMSU4ydVBw?= =?utf-8?B?TnFFaTQycHBHZmY5c0NBczlpL0dJT0txSjdFQWVJUlBRaTZYQ0ZHSUhHRmRq?= =?utf-8?B?cEtQUHlDcEpRWDZ2eWdvci8xcU5mVGl2eiswOVpuOG53VSthQk9ZN29KTUNm?= =?utf-8?B?TjN3MFhwRmw3RFNOTmlXRDlRY01kQytVbSsvanAzeUtFVmVDSU9WTXZxeitv?= =?utf-8?Q?Gj7pVI6ufU6KDQn+Bb+uoFappoEx0gI1NcDKetV?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: fb5d391c-3b65-4826-aa72-08d93fcebb29 X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jul 2021 16:05:38.6787 (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: zOFLAA2APgav0dUOZlIWgUnGAelljeprCzswQbtb5GggJyAeJ7HpgkCyoGqSkyEXSQSXFaU7in2jUnEicS9oZA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB6861 X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1625501166319100001 Content-Type: text/plain; charset="utf-8" This is in preparation to re-using the original name. Signed-off-by: Jan Beulich --- a/xen/arch/x86/mm/p2m.c +++ b/xen/arch/x86/mm/p2m.c @@ -788,8 +788,8 @@ void p2m_final_teardown(struct domain *d #ifdef CONFIG_HVM =20 static int __must_check -p2m_remove_page(struct p2m_domain *p2m, gfn_t gfn, mfn_t mfn, - unsigned int page_order) +p2m_remove_entry(struct p2m_domain *p2m, gfn_t gfn, mfn_t mfn, + unsigned int page_order) { unsigned long i; p2m_type_t t; @@ -840,7 +840,7 @@ guest_physmap_remove_page(struct domain return 0; =20 gfn_lock(p2m, gfn, page_order); - rc =3D p2m_remove_page(p2m, gfn, mfn, page_order); + rc =3D p2m_remove_entry(p2m, gfn, mfn, page_order); gfn_unlock(p2m, gfn, page_order); =20 return rc; @@ -1009,7 +1009,7 @@ guest_physmap_add_entry(struct domain *d P2M_DEBUG("old gfn=3D%#lx -> mfn %#lx\n", gfn_x(ogfn) , mfn_x(omfn)); if ( mfn_eq(omfn, mfn_add(mfn, i)) && - (rc =3D p2m_remove_page(p2m, ogfn, omfn, 0)) ) + (rc =3D p2m_remove_entry(p2m, ogfn, omfn, 0)) ) goto out; } } @@ -2382,7 +2382,7 @@ int p2m_change_altp2m_gfn(struct domain { mfn =3D ap2m->get_entry(ap2m, old_gfn, &t, &a, 0, NULL, NULL); rc =3D mfn_valid(mfn) - ? p2m_remove_page(ap2m, old_gfn, mfn, PAGE_ORDER_4K) + ? p2m_remove_entry(ap2m, old_gfn, mfn, PAGE_ORDER_4K) : 0; goto out; } From nobody Thu May 2 07:08:03 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=1625501194; cv=pass; d=zohomail.com; s=zohoarc; b=d3ygCh+T8ApAIvNFFnTOJcDprtCGlvClKtwXAA3mvrTFb1CYMnuPLJeCZvcliRCKNnG1AJhtFVEO3ICjZzxK186C7rt2tA1206mhFXPyCjvXFdDCmyzbxR12mGwSIvZwvruKianek8i4HLM65CZkbvvzMlZRPGdCmbE2R/we82I= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1625501194; 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=5z3JNEifEYR9INV5pKVKLIur8yTgqbc2o4wLLPOUNiU=; b=CQFD/lImlpJU17fOVS0hOo7qkXOrvLy39uWqp20aIP+6gYDb2b1KGrFWNNOKV3NLWuAe8yRtSE8ONEu2nxaxgR1E1n4WzNHryfAfmIerCNPYKrXSWFsooXZ+Ej5FH39W4Y53yZKpfYeEqv4MYyvIx5o8EuksDIrbGnGq8eculc4= 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 1625501194625108.48383547707101; Mon, 5 Jul 2021 09:06:34 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.150437.278148 (Exim 4.92) (envelope-from ) id 1m0R6w-0002VR-SG; Mon, 05 Jul 2021 16:06:18 +0000 Received: by outflank-mailman (output) from mailman id 150437.278148; Mon, 05 Jul 2021 16:06:18 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1m0R6w-0002VK-Ow; Mon, 05 Jul 2021 16:06:18 +0000 Received: by outflank-mailman (input) for mailman id 150437; Mon, 05 Jul 2021 16:06:17 +0000 Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1m0R6v-0002V5-0q for xen-devel@lists.xenproject.org; Mon, 05 Jul 2021 16:06:17 +0000 Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id ebec007c-ddaa-11eb-844d-12813bfff9fa; Mon, 05 Jul 2021 16:06:15 +0000 (UTC) Received: from EUR02-HE1-obe.outbound.protection.outlook.com (mail-he1eur02lp2050.outbound.protection.outlook.com [104.47.5.50]) (Using TLS) by relay.mimecast.com with ESMTP id de-mta-2-HDXk1L9MPlq3KL9IcMYtuw-1; Mon, 05 Jul 2021 18:06:13 +0200 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) by VI1PR04MB6861.eurprd04.prod.outlook.com (2603:10a6:803:13c::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4287.23; Mon, 5 Jul 2021 16:06:12 +0000 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4287.033; Mon, 5 Jul 2021 16:06:12 +0000 Received: from [10.156.60.236] (37.24.206.209) by AM4PR05CA0024.eurprd05.prod.outlook.com (2603:10a6:205::37) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4287.22 via Frontend Transport; Mon, 5 Jul 2021 16:06:11 +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: ebec007c-ddaa-11eb-844d-12813bfff9fa DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1625501174; 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=5z3JNEifEYR9INV5pKVKLIur8yTgqbc2o4wLLPOUNiU=; b=PMISL8RLJxl9mSx7zyz3uC2T/sqNEm8Xm0bMg4eObyayEfIQULU109w7QJgUYHPwY35cYW jC990r3Wd02rb9TvAvHijehur1tk3+bgwqG7Q/l0nOhwfg7sZTuPSIOsf3SEm42fIz596b ucjS2x1MP3W/rVa0pQlfb1q8yzwtTuA= X-MC-Unique: HDXk1L9MPlq3KL9IcMYtuw-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=oLlPvQ+HIRYUxTXjhlXUl0ukKG+fB8sMimtoJkQqaEyHCLu3iD1ECHxy6fSSeK8S7zTGNccMj1XEXuSi5qADsTZBov+D4Re8cbBbi9Fe1FSfG295BKrfjQl9c3B/ZsFlM3tdb38EzfXwwGBmdeD677r3uD3xNSva0QFOXw7zh3aCV7OcpuIPYf9lHlfoTWHTxMcFxPZm5jg+MHnenBZlcRQtkJmMMroSjoFC9DRmprAakmqedUQmYIKXfziA5NX5vTcc9gK2/2QzMwKlbJsEHN4G2nRbpfwRq8wUl2I9lDpNQcOfS1YaJPA/hvqwzOHjrbFwDcVMCUhOKnwr8TAqag== 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-SenderADCheck; bh=5z3JNEifEYR9INV5pKVKLIur8yTgqbc2o4wLLPOUNiU=; b=HV3VNfIniq9NfFQQtIGHck0NXUjoDYerOb76RLAyX47NsQYGt904MEGGjBpaO9jDURQSVea2r10pWYte+G2GFkxRjgViu45qMhLV5Na8jZE2UZWlXDsjD4B0i1Mj9zzPs1MPYwj6rg2rXKW8LaaYyYZeHjPITtjdXAC4971yDnhmJdQKsKtdFqWltzNyNYY9c6B1m80Kp412D/vRFy1rZzHxcBxzJs9Gt/IfevhNYTCcfhkNyaVihbqfp1saV9kLUJ1TTtue86JlbNTFlyIugIbWk4oi+1llfAHHSP+QqWcj1zCpnuOIxNTiDuKDg1LpkC7G9CIYj13siwia9o5fwQ== 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: xen.org; dkim=none (message not signed) header.d=none;xen.org; dmarc=none action=none header.from=suse.com; Subject: [PATCH 02/16] x86/P2M: introduce p2m_{add,remove}_page() From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Andrew Cooper , Wei Liu , =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= , George Dunlap , Paul Durrant References: Message-ID: Date: Mon, 5 Jul 2021 18:06:10 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 In-Reply-To: Content-Language: en-US Content-Transfer-Encoding: quoted-printable X-Originating-IP: [37.24.206.209] X-ClientProxiedBy: AM4PR05CA0024.eurprd05.prod.outlook.com (2603:10a6:205::37) To VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 5208b57b-dd18-49c5-0177-08d93fcecefc X-MS-TrafficTypeDiagnostic: VI1PR04MB6861: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:5516; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: TTZeWjlKy5xhkYWe/Qki0cNsCx0sYsDZju2l7f78TkKSTL5nzqWORgE1yMyAXjn454IS1XzIUy9/7dnde0P1Z5wuQTHYqFvjy29ViwrokkRyGHjYZIHQFUABDCR1wdmXoG1ya6+D/rZrBR8eBNkajvREYE+YCBEq3kXU7ZgeFE21RsPWkddKt0yWVkXPO4uI9ZNwFhZmPg052hffn0twDw2B46fs4LoCFYKHwb36h7sH94+wi2R7kiOSFGOWyzoB1xPcZiGl5QIzkaOXASAwK0Tnl04mz/PNUnzhbg51fgpNNcItnzD+LBDnP0SEva4PXePKySIrSigT3otoaIK8ybIOQTw/QmYCTt8zp/Qu1lxtFThplVh3Cysqp+XiTdJSWBSXnpYIQTyu9EyQCbUtW/WBE2HTQGXgRBHQTguLZJX7SAghdW6ccuQZVRSl/YJXS6V3f95jYcwvRNyxnU7YMaEvim19JLgSVzI2WN4gR5WsBo0w1viQeFoXrjVpDkquw4a56/UIJWX0BX6bK7V1+frzziQV67dS3FyVS2FBvqHaLhjD8GPWndjxMIsShv2giGe8shKQWT6nEjrbw4KrqRMz66RLG6EOCJ55cIo0R/yTf3E+bPWhz4RFQAqPzmIr5iNRcbu8Kq7dIr5KRH9G15fn662NlQ2EEyiLspK3ABhCTXYeDeE9fIONi6r6VzallOy2S7jbH7y3tzD31qoybQ3v3w/8nBtayffNPaGamBg= 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)(376002)(39860400002)(136003)(346002)(396003)(66556008)(66476007)(86362001)(66946007)(5660300002)(16526019)(31696002)(31686004)(38100700002)(26005)(36756003)(186003)(2616005)(83380400001)(54906003)(478600001)(6486002)(316002)(16576012)(956004)(4326008)(6916009)(2906002)(8936002)(8676002)(43740500002)(45980500001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?SWg1cXQ2VWUvZlp5QTFiS2hINEphTjhJT1RWcXRuMFVXTWRVdHd0RGZnSUNF?= =?utf-8?B?UGx4ZmhrcTVFZ2E3ZnNDZkoyYnFzdU1zZG9NR3pZTENVYlQyeHU3a3ZZZlhQ?= =?utf-8?B?bUdOT2lWWnh6YjhzYURJMEo5b0kxZHM0anRIOHBiTXpMWTNuWm05a0Raek94?= =?utf-8?B?MTBwTzFtN3ZFRUg4OXdvWmh2YVRreWdwK1B0YlVNRUFJMURWU0RSQzN1c0pP?= =?utf-8?B?eVhGVi94RXZveXRFN3Y4MkxpRktDb1U2UTlGUVM0ci9FWHZkMlpTOFFTK0pw?= =?utf-8?B?eXhPN1NQQk1MZ3FOdlVUVERrNGZzUEowdlBlUFhGTDR3N1JRb3pVS1BZbXpo?= =?utf-8?B?UnJNQm92bExmYzFjSFV1c3BBZzkwWWliaHdkb09lSnBlK0tpVXJmTjJVMnFU?= =?utf-8?B?VS81dXpyOGNLZGJMRFZoelBDSTk4RENtaTdUaUEwQjlic2kwY0d6VDVsK1h3?= =?utf-8?B?Q0Jhd3NCYkoxUVpCS0ZXd2V3TThBVDIvQXlpcDNuQTRReFVvNkhmbDllOURh?= =?utf-8?B?aVEzTVNsak9vWjU2eXJUWHZaMFlIZFFjV09tbyt5NVRSanljUDU1ZmtXVzIv?= =?utf-8?B?K2lXbVkvOUFJUTJ4SEhockl0OVlweTVMUkF4a3FRay9PQ25sV25yalZYK3ZS?= =?utf-8?B?VXd6ZDNJREN1OTZoa24vK0pJZkNtdTkvTHBBVjErWUkzbGVMbWtQTmxKc0VT?= =?utf-8?B?bWo0dVQ3YzVrWUVDbXd3T3lZMFRaU0dvOGpoS0g1MWRoZ0w4TlFjak5hV3A3?= =?utf-8?B?ell5M0p3M3YweUhvY3dxcmUvYlNXZ0VPUmFhbUpQK3phcW5ieVJNMjBiVTRm?= =?utf-8?B?aTBYUGpZSVpualBWdEZDOTlNT2c2U3YxbkxzRXh0OGh3K0d1bXRJSXpDcEZF?= =?utf-8?B?ejFZYVI1Q2QvYklRbFpqVXZuZmpDQVVpc0ZMUjZlRHEzN0NYTlZEQjhINm16?= =?utf-8?B?NGVWemh6MXNHKzFjaEsrK2kzNXNoM2hENHpOdnJTODNTQWpNYnBlT3RLd2pW?= =?utf-8?B?ZlB2NGY4MjFmS1VSYVJKTzdiZXgyUWFEN0Z4dWtTMDNOdjVaVTJEai92aW1h?= =?utf-8?B?WGNCZ1JyUGlnbzBiRVllU0ZQVXJpTDhPK1M4aXFJbnlFUUppTEU1SVVURjc5?= =?utf-8?B?VkFOS3JlL3QvRkdWSnIxNnhSa3JpZnM3ZlJwQ0NiekhITFlkdFpFNDEzdk5m?= =?utf-8?B?UTJ0WVJKK1VkUkhiOWswSXlHUVRoSm1FT0h3YUtrdGs2b2ZGcGtwMWdXNUd4?= =?utf-8?B?Y3QyRzJKS0wzYllqWWJFenE4NXdLdHd3UmRxdjYyakowb0FVYk91b3oxcFlI?= =?utf-8?B?ZWlLcGZrVGdxSU53a3VCdHNGSnhaY3Q4QU1lSFJLbjFlK2s4N1IyTTJkc25i?= =?utf-8?B?VVVxYXpOOFpHZExHZWdiWnEwZVVJb1ZSQ3YvYVJUbVpNdGRJL2hkV1g2T2NF?= =?utf-8?B?V0NNT0dVS1QvTzlPUUtoeDFyQ1lQZ3NFSkJqRUlHZjdqT3FJTW9idzZqQnFY?= =?utf-8?B?UHJhUytNVUEzSVh2QXMrdmFqaTFOMFFqbkxqRDN3RzFodmtmOXJIR045QVZi?= =?utf-8?B?VDN5bjh0d0hsS3krUDRHbzBWTUtDV1ZuNE1UUVA4SDU2eVNrSjJLcjFJdkJF?= =?utf-8?B?VDc3c3FuOVhSaTZWVkVyb2RONUxHYlhyWEkrbHRIampZVWFvZ1FUUHdIaFhR?= =?utf-8?B?MEFkUFUwdHlVdlpRVW9PV2VycXhjYVROd212UnppVW9KRytuME80K0VzSDFR?= =?utf-8?Q?u34YyA0fBRaK40dmaiUQjqjYnG1xleGL+HMeWyc?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5208b57b-dd18-49c5-0177-08d93fcecefc X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jul 2021 16:06:11.9140 (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: xS7A+dLAzxxa9VfzbjjqIIkiho6eNd1eDa0vB7FQbK1iJ8vNspN1c/plNi6EWWkECzIGIw52Xizo9G+yGW16Dw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB6861 X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1625501200302100003 Content-Type: text/plain; charset="utf-8" p2m_add_page() is simply a rename from guest_physmap_add_entry(). p2m_remove_page() then is its counterpart, despite rendering guest_physmap_remove_page(). This way callers can use suitable pairs of functions (previously violated by hvm/grant_table.c). In HVM-specific code further avoid going through the guest_physmap_*() layer, and instead use the two new/renamed functions directly. Signed-off-by: Jan Beulich Reviewed-by: Paul Durrant --- a/xen/arch/x86/hvm/dom0_build.c +++ b/xen/arch/x86/hvm/dom0_build.c @@ -174,8 +174,7 @@ static int __init pvh_populate_memory_ra continue; } =20 - rc =3D guest_physmap_add_page(d, _gfn(start), page_to_mfn(page), - order); + rc =3D p2m_add_page(d, _gfn(start), page_to_mfn(page), order, p2m_= ram_rw); if ( rc !=3D 0 ) { printk("Failed to populate memory: [%#lx,%#lx): %d\n", --- a/xen/arch/x86/hvm/grant_table.c +++ b/xen/arch/x86/hvm/grant_table.c @@ -39,9 +39,8 @@ int create_grant_p2m_mapping(uint64_t ad p2mt =3D p2m_grant_map_ro; else p2mt =3D p2m_grant_map_rw; - rc =3D guest_physmap_add_entry(current->domain, - _gfn(addr >> PAGE_SHIFT), - frame, PAGE_ORDER_4K, p2mt); + rc =3D p2m_add_page(current->domain, _gfn(addr >> PAGE_SHIFT), + frame, PAGE_ORDER_4K, p2mt); if ( rc ) return GNTST_general_error; else @@ -68,7 +67,7 @@ int replace_grant_p2m_mapping(uint64_t a type, mfn_x(old_mfn), mfn_x(frame)); return GNTST_general_error; } - if ( guest_physmap_remove_page(d, _gfn(gfn), frame, PAGE_ORDER_4K) ) + if ( p2m_remove_page(d, _gfn(gfn), frame, PAGE_ORDER_4K) ) { put_gfn(d, gfn); return GNTST_general_error; --- a/xen/arch/x86/hvm/ioreq.c +++ b/xen/arch/x86/hvm/ioreq.c @@ -188,8 +188,7 @@ static void hvm_remove_ioreq_gfn(struct if ( gfn_eq(iorp->gfn, INVALID_GFN) ) return; =20 - if ( guest_physmap_remove_page(d, iorp->gfn, - page_to_mfn(iorp->page), 0) ) + if ( p2m_remove_page(d, iorp->gfn, page_to_mfn(iorp->page), 0) ) domain_crash(d); clear_page(iorp->va); } @@ -205,8 +204,7 @@ static int hvm_add_ioreq_gfn(struct iore =20 clear_page(iorp->va); =20 - rc =3D guest_physmap_add_page(d, iorp->gfn, - page_to_mfn(iorp->page), 0); + rc =3D p2m_add_page(d, iorp->gfn, page_to_mfn(iorp->page), 0, p2m_ram_= rw); if ( rc =3D=3D 0 ) paging_mark_pfn_dirty(d, _pfn(gfn_x(iorp->gfn))); =20 --- a/xen/arch/x86/mm/p2m.c +++ b/xen/arch/x86/mm/p2m.c @@ -829,15 +829,17 @@ p2m_remove_entry(struct p2m_domain *p2m, } =20 int -guest_physmap_remove_page(struct domain *d, gfn_t gfn, - mfn_t mfn, unsigned int page_order) +p2m_remove_page(struct domain *d, gfn_t gfn, mfn_t mfn, + unsigned int page_order) { struct p2m_domain *p2m =3D p2m_get_hostp2m(d); int rc; =20 - /* IOMMU for PV guests is handled in get_page_type() and put_page(). */ if ( !paging_mode_translate(d) ) - return 0; + { + ASSERT_UNREACHABLE(); + return -EPERM; + } =20 gfn_lock(p2m, gfn, page_order); rc =3D p2m_remove_entry(p2m, gfn, mfn, page_order); @@ -846,6 +848,17 @@ guest_physmap_remove_page(struct domain return rc; } =20 +int +guest_physmap_remove_page(struct domain *d, gfn_t gfn, + mfn_t mfn, unsigned int page_order) +{ + /* IOMMU for PV guests is handled in get_page_type() and put_page(). */ + if ( !paging_mode_translate(d) ) + return 0; + + return p2m_remove_page(d, gfn, mfn, page_order); +} + #endif /* CONFIG_HVM */ =20 int @@ -884,14 +897,14 @@ guest_physmap_add_page(struct domain *d, return 0; } =20 - return guest_physmap_add_entry(d, gfn, mfn, page_order, p2m_ram_rw); + return p2m_add_page(d, gfn, mfn, page_order, p2m_ram_rw); } =20 #ifdef CONFIG_HVM =20 int -guest_physmap_add_entry(struct domain *d, gfn_t gfn, mfn_t mfn, - unsigned int page_order, p2m_type_t t) +p2m_add_page(struct domain *d, gfn_t gfn, mfn_t mfn, + unsigned int page_order, p2m_type_t t) { struct p2m_domain *p2m =3D p2m_get_hostp2m(d); unsigned long i; @@ -2665,7 +2678,7 @@ static int p2m_add_foreign(struct domain { if ( is_special_page(mfn_to_page(prev_mfn)) ) /* Special pages are simply unhooked from this phys slot */ - rc =3D guest_physmap_remove_page(tdom, _gfn(gpfn), prev_mfn, 0= ); + rc =3D p2m_remove_page(tdom, _gfn(gpfn), prev_mfn, 0); else /* Normal domain memory is freed, to avoid leaking memory. */ rc =3D guest_remove_page(tdom, gpfn); @@ -2673,7 +2686,7 @@ static int p2m_add_foreign(struct domain goto put_both; } /* - * Create the new mapping. Can't use guest_physmap_add_page() because = it + * Create the new mapping. Can't use p2m_add_page() because it * will update the m2p table which will result in mfn -> gpfn of dom0 * and not fgfn of domU. */ @@ -2771,7 +2784,7 @@ int xenmem_add_to_physmap_one( { if ( is_special_page(mfn_to_page(prev_mfn)) ) /* Special pages are simply unhooked from this phys slot. */ - rc =3D guest_physmap_remove_page(d, gpfn, prev_mfn, PAGE_ORDER= _4K); + rc =3D p2m_remove_page(d, gpfn, prev_mfn, PAGE_ORDER_4K); else if ( !mfn_eq(mfn, prev_mfn) ) /* Normal domain memory is freed, to avoid leaking memory. */ rc =3D guest_remove_page(d, gfn_x(gpfn)); @@ -2784,11 +2797,11 @@ int xenmem_add_to_physmap_one( =20 /* Unmap from old location, if any. */ if ( old_gpfn !=3D INVALID_M2P_ENTRY ) - rc =3D guest_physmap_remove_page(d, _gfn(old_gpfn), mfn, PAGE_ORDE= R_4K); + rc =3D p2m_remove_page(d, _gfn(old_gpfn), mfn, PAGE_ORDER_4K); =20 /* Map at new location. */ if ( !rc ) - rc =3D guest_physmap_add_page(d, gpfn, mfn, PAGE_ORDER_4K); + rc =3D p2m_add_page(d, gpfn, mfn, PAGE_ORDER_4K, p2m_ram_rw); =20 put_both: /* --- a/xen/include/asm-x86/p2m.h +++ b/xen/include/asm-x86/p2m.h @@ -571,10 +571,11 @@ int p2m_alloc_table(struct p2m_domain *p void p2m_teardown(struct p2m_domain *p2m); void p2m_final_teardown(struct domain *d); =20 -/* Add a page to a domain's p2m table */ -int guest_physmap_add_entry(struct domain *d, gfn_t gfn, - mfn_t mfn, unsigned int page_order, - p2m_type_t t); +/* Add/remove a page to/from a domain's p2m table. */ +int p2m_add_page(struct domain *d, gfn_t gfn, mfn_t mfn, + unsigned int page_order, p2m_type_t t); +int p2m_remove_page(struct domain *d, gfn_t gfn, mfn_t mfn, + unsigned int page_order); =20 /* Untyped version for RAM only, for compatibility and PV. */ int guest_physmap_add_page(struct domain *d, gfn_t gfn, mfn_t mfn, From nobody Thu May 2 07:08:03 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=1625501221; cv=pass; d=zohomail.com; s=zohoarc; b=Buc69J3ZpYd8mLupvVjk4D667N4RoQ9H+Za9UsXXuAsUI+cObmI8zSmAl3hS+thVTc6w+/PuN9l5rmZyise/waolt/+mIAFORdOVQkF7Aj+GnuQygTv3SI4oddFogn4FL6lAU12Gutho4Yw2a3CHyqmCv8N+4mvfALaopGu+O0Q= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1625501221; 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=4cC6Un4LMCn/lFnPBKF4eFaPubNu7dvYnjhXyk0P90U=; b=O16DSFpbhlcWsb1cnCYggGWAP77/zL2cNhJSgRdsHYlOqoNQW6jXZIFs0miVAy2k1xPC8Uuw6+vzeKm8CxWX2rCRAQRMgAcigYJOJp4qnUhV73WVv03BbCPe+BmmbNlq/bSIPjy09gozhLu0DM2lRqu+UyRCuY8+AIKwiNFoocQ= 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 162550122127186.91793575909333; Mon, 5 Jul 2021 09:07:01 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.150441.278158 (Exim 4.92) (envelope-from ) id 1m0R7O-00033z-58; Mon, 05 Jul 2021 16:06:46 +0000 Received: by outflank-mailman (output) from mailman id 150441.278158; Mon, 05 Jul 2021 16:06:46 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1m0R7O-00033s-1z; Mon, 05 Jul 2021 16:06:46 +0000 Received: by outflank-mailman (input) for mailman id 150441; Mon, 05 Jul 2021 16:06:44 +0000 Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1m0R7M-00033T-Ok for xen-devel@lists.xenproject.org; Mon, 05 Jul 2021 16:06:44 +0000 Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id fd8520a0-ddaa-11eb-844d-12813bfff9fa; Mon, 05 Jul 2021 16:06:44 +0000 (UTC) Received: from EUR02-HE1-obe.outbound.protection.outlook.com (mail-he1eur02lp2053.outbound.protection.outlook.com [104.47.5.53]) (Using TLS) by relay.mimecast.com with ESMTP id de-mta-5-iB_4SG_qOdCtPzQL3FXtXg-1; Mon, 05 Jul 2021 18:06:42 +0200 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) by VI1PR04MB6861.eurprd04.prod.outlook.com (2603:10a6:803:13c::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4287.23; Mon, 5 Jul 2021 16:06:40 +0000 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4287.033; Mon, 5 Jul 2021 16:06:40 +0000 Received: from [10.156.60.236] (37.24.206.209) by AM3PR05CA0092.eurprd05.prod.outlook.com (2603:10a6:207:1::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4287.21 via Frontend Transport; Mon, 5 Jul 2021 16:06:40 +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: fd8520a0-ddaa-11eb-844d-12813bfff9fa DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1625501203; 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=4cC6Un4LMCn/lFnPBKF4eFaPubNu7dvYnjhXyk0P90U=; b=WtxWEaXzk9O4Q5kvci5yM+yWWDc/GaTWfc+VDWBH1Y8RXT0e8z3wjZdxA17w6SmtyPanuP 2RmneaDZK0930Q3ceQoeDztq/AiDuD2X9ZiPMRlN7otztAFVPKBrzmJVq3y9/FBM+bNUBi pRRlTSxG/Fp6qEMug2jfPFde9YuhiD0= X-MC-Unique: iB_4SG_qOdCtPzQL3FXtXg-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=BzloCQjGohMTksuqpX0ip/cYd/ThOCej61ZD7mj4aiGW56jodX+YKIAgJ2lrWg9x4zgbRgxnkWQTAfuMAkqVoUvfXBKd8Aq0h0jJglvWJAdj0NZSGZOIf9rSK0eDV0GnNkPFyfNCLZHJpp+Lli6dQQVbIprpaiW1zo2OVcvhUpTbm4mjZj1rjMLaJCtmMhicPpPXrqMz/YEETe0VoqZeg1pqZLEsFWVzQuPgKrNsE0dQzif4ecrre6rPAvFtapLCQ1NU+U73Txvw/C65Q0BctlEdiNLpYMgUymXKql8jidvIgDI9/oOjLUDc8IkDUE3jYKb7Wrd0x5DCaxblEps4MQ== 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-SenderADCheck; bh=4cC6Un4LMCn/lFnPBKF4eFaPubNu7dvYnjhXyk0P90U=; b=KoulVsXM5gjgidL5FZDJ7ydnAs6+gsi58Rs9VeKBxtkjW9E1Xv232QBrbOcg3+w24LQNKW98oiCM2fFLXaWcUiOf4Rexg8IVaTpNu5LpWGAOSQvHr9ca5gfYw3CJdDOWsGvZf3QA+0JzAOQf85dLr/76cOcwrhyPZr3OYgLwYKWASQBnePAD3dwvXFhaCKDrjTmpJzlS1DPZbte2HIZyOpPW5K3fkHx8IUwAFnZrMcmT/fSgC4E3kx4e9lr8BvIsQ0R1h4ftRSFwwg28a7MqPYW7XoEpJdJDkEWP2nIzAaKrR7wZBD96t3Lx9cp0BsOGlTt7rwh70zSwdlBaYeUwxw== 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: citrix.com; dkim=none (message not signed) header.d=none;citrix.com; dmarc=none action=none header.from=suse.com; Subject: [PATCH 03/16] x86/P2M: drop a few CONFIG_HVM From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Andrew Cooper , Wei Liu , =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= , George Dunlap References: Message-ID: <55643e68-432a-116a-b68e-2200e364e5da@suse.com> Date: Mon, 5 Jul 2021 18:06:39 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 In-Reply-To: Content-Language: en-US Content-Transfer-Encoding: quoted-printable X-Originating-IP: [37.24.206.209] X-ClientProxiedBy: AM3PR05CA0092.eurprd05.prod.outlook.com (2603:10a6:207:1::18) To VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 5b636fda-523e-4ec5-4557-08d93fcee02e X-MS-TrafficTypeDiagnostic: VI1PR04MB6861: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:8273; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: y9O7zrOOE6xlNPYCKJ3g8bSqYeuc68bLkIcEjlmhh/9t/kyzRQUeHU35UqT8yiPMkcrhfSHhGjU6g9kTNBvKB3HMY6EKDCKJxwKnYQ/1n0EE5QsWumK//5tAwQV95LoK5UufHtF1S68H8+b5jjryDvVxlr3haCMJZnhKhY+ylJthDbkJAhifhL+TetC7qsceUc7OuooQilxl/7PyYOKKrDtpJN2E+pS6rr+b0xOdU7wLuZfV9yex86k+goAnkfyePXRXhzDeho3TnNXj9xREQRUFiohjOTQo6QKufCuBy4PGjmea9Lepg0acEZBJXMPEwfZg/MWbq7BwuwkMmesz4+ErqES3559yFvTt2deh2LsjcaOflyYsmoffU0GdJ49Y+GYhkyCFXOxa/+h6yYYKRLzRYB8Y1fo50AFBuT1KhKHVrH7Tk68dLBDpggpV9YZ9YsfMcavz66mPZiwubh+rSBhC7q1etCcLJamPJIknRMRwIRcWTrYvQ3dMWaeS6a1zc9Qp9ZilKZJlIWEXo4v4pPLGbt8qVKj+TNF5p/zYEUS2wxLNptU5Q6QMeNjn4WQS/GTxnXvq1xAoNu666eeKMtkm1IgsrKNcGtGj1U9H5/aY4KIZpWC8IgV9BXAvmLePp4u5rBy59SchkmtaG0dGE2Gm0Y6Y78bWt9B7G/dFLX/jUHMzTCvBYHh5Suv593koZ6XUuzbHeW8ekUkfl4NDJ1INBI/gV4SqH3C6X8H62Hw= 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)(376002)(39860400002)(136003)(346002)(396003)(66556008)(66476007)(86362001)(66946007)(5660300002)(16526019)(31696002)(31686004)(38100700002)(26005)(36756003)(186003)(2616005)(83380400001)(54906003)(478600001)(6486002)(316002)(16576012)(956004)(4326008)(6916009)(2906002)(8936002)(8676002)(43740500002)(45980500001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?UElWVUttRWhHRzI1ZDBnODZkeDhzQlNKVktNWWN5QUFzakoyZEJPSy8vT0Rv?= =?utf-8?B?T0lWcEFMWTNFVWU2U2dqKzgxQlhqemx5anZmanBYQWNJTTQ2bDE1N2VubjBW?= =?utf-8?B?bFo3UE5BUDY0UTlTOTV3eCtIcFhlR2QyNHZLMXZIVkdEYnVuRHRpTDVlcFNu?= =?utf-8?B?STgvNnE2TFQwQXdheEFXK01pWk5uc1J1bHZ4S2xES1Fid3V2NWk5cm1OcVVi?= =?utf-8?B?RUdNL3ZTWUF4U0pqSXlOK2NlckdLb1ZGMUsyUGpzZFBOL2ZPbTY3L2ljSGdG?= =?utf-8?B?TFN1NHNTeHBwR2NPTTBnVVp2NE1FYktaaUUreUhVUlZuR2xkSFRtVEU5MC9Y?= =?utf-8?B?aGxwU1FlSFo2L1k5a0cwZ1h3bmI4aXlVL3B1MWFTcXpsbTQ1NGMrQWxxNk1W?= =?utf-8?B?UmNwaEFGN3IwbTlxSitFTFRyR3BiZmFoMkNBc0tpMUhWaDNySzRDWURadVdM?= =?utf-8?B?QXBhaEhoV3Q1U2RvK20wdlJoYUZuN2hNZCthOWMyY1cxbjF1T1k1bmJTOVRE?= =?utf-8?B?VmtHbkpJcE5pS2wwdUR1dXg4RmQrN0FSenpKcVNvc3ZEbmRLRXJKVmJMRmFS?= =?utf-8?B?OUFlWEk1K0RQUnN3dUdsSlVYVzRXZDZHUG5FWlhyeFlGeGlZQ1RPQ1UvT2Jt?= =?utf-8?B?bXdieGdua0tWWENhRmpLeUhGakJVemlKaXMxeEF5REtQeTRmSXBzbnpuclg2?= =?utf-8?B?dXFGNnZhVXBLakZlUHNuaVd5NEdVYUF6TTRTcEdXaXFZTXlSYUhnZkk1MUhR?= =?utf-8?B?amc5K2hocGtXOCtyL1ZuV09SMldXYU9WWEt3TzdXZ3ExSlptVmwyRmtVUFlw?= =?utf-8?B?WERLSm1IRVdJaXczM052amV5UDVvVjlLQ29XRW5xeUJCNytEOWhJdHQ2ak80?= =?utf-8?B?a1hwTnFPbVVGUElQaWdlZXJ4WjdNNHowTHhYOGF0M0RTelpWeDJkMndvUkxQ?= =?utf-8?B?MzBFSXJiNEVTUTArZDZmSG1uRDNGNkdNanR3K3BXeFp0TVRXWHBsbzdDNGtp?= =?utf-8?B?WmpEVklZUXZCblhBS2xVRlZURkducGhrZklFSldzYnRHQTdFUmE1RjcrUDZs?= =?utf-8?B?MCsrcXNjSy9GWTdOZXJnL2J3OThNRG5oMUJKS2Y5YVl5bFpDZTVWRmthZGg3?= =?utf-8?B?VVhmcGpzY202d25jdnVFamp5VnJYOXRjS1dKMWRVOGxXRUVic08rTGJwV3lQ?= =?utf-8?B?RGowRDhDb1NoQzczZGdoeGkzYy8zNlNSVkYrdFlxK08wbGxGdUpuZGFMdzlR?= =?utf-8?B?amFHWmhtd0RmMTBPWUI4b0haY1NkUk5BRlB2dEdJWmJ3UzJjRVlWN0krNXg0?= =?utf-8?B?YmVlM3hSNFZpdXVIeVN3d3dhSndSaWdwZXR2OXJkSFgvb2RVTGt2V1JFTmp1?= =?utf-8?B?OE9JZlVCZUVvNW1zVWRzb1lKbU0xbUJKc3VUb3FvVlNVZWFrSWFYU0dUY2hn?= =?utf-8?B?T2N1bjNTWWNhZ1FHdWYwS3lYMTdrcE5sNVRORUZVUmN1a2U1N2xMSndPYVB3?= =?utf-8?B?dlJjV0txVDE2eXI4L2xZeVJYWlVMeEpoa2N2NGk5c0czRVoxTEhMS0JPUnRY?= =?utf-8?B?TzI0UUpvTi8rbTc1aW5kRndIRy91b1hTVnhaQzZDUUovanprdVdwQzgySzN0?= =?utf-8?B?T2R4aUdhOUNQU1hNem9Hd1lJWFU5bS9hK2ZFclE5QlBLM2wwaHBzODdleWlB?= =?utf-8?B?b3ZRWnFzY1hRMnVkZU04T3N3a1d2MW9IK3FvYTF6V2UxandYM05OWGx2V0Fh?= =?utf-8?Q?PGDJy3ZrzkEqv2R3T/B0tsOchsoMWpi4B1bZ8Rv?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5b636fda-523e-4ec5-4557-08d93fcee02e X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jul 2021 16:06:40.7706 (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: AEJEDaLtAUNSlJANgNimyMBSi/k3gHYaJMf+MjpWB3GtkljiBkg5rLHLmuBoyMU8iflyBY/MyLr2Myyy7Y0JZw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB6861 X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1625501228070100001 Content-Type: text/plain; charset="utf-8" This is to make it easier to see which parts of p2m.c still aren't HVM- specific: In one case the conditionals sat in an already guarded region, while in the other case P2M_AUDIT implies HVM. Signed-off-by: Jan Beulich Reviewed-by: George Dunlap --- a/xen/arch/x86/mm/p2m.c +++ b/xen/arch/x86/mm/p2m.c @@ -1584,11 +1584,10 @@ p2m_flush_table_locked(struct p2m_domain * when discarding them. */ ASSERT(!p2m_is_hostp2m(p2m)); -#ifdef CONFIG_HVM - /* Nested p2m's do not do pod, hence the asserts (and no pod lock)*/ + + /* Nested p2m's do not do pod, hence the asserts (and no pod lock) */ ASSERT(page_list_empty(&p2m->pod.super)); ASSERT(page_list_empty(&p2m->pod.single)); -#endif =20 /* No need to flush if it's already empty */ if ( p2m_is_nestedp2m(p2m) && p2m->np2m_base =3D=3D P2M_BASE_EADDR ) @@ -2497,7 +2496,6 @@ int p2m_altp2m_propagate_change(struct d =20 return ret; } -#endif /* CONFIG_HVM */ =20 /*** Audit ***/ =20 @@ -2603,8 +2601,6 @@ out_p2m_audit: } #endif /* P2M_AUDIT */ =20 -#ifdef CONFIG_HVM - /* * Add frame from foreign domain to target domain's physmap. Similar to * XENMAPSPACE_gmfn but the frame is foreign being mapped into current, From nobody Thu May 2 07:08:03 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=1625501245; cv=pass; d=zohomail.com; s=zohoarc; b=b715DVz1nmb+QO8TeJTCZH9RLgo+FTxRTzZ/DP9ouJXqJIwj2DbT991viE60erFb6Na014/CEeWqmMdEpVbnKp5Izwykkp9+xiRcbV5suOiHZShAVwShnRK2MsdRZnCDDy4JfvlDOvOT913yGwuGjcEr13M6QETjaec3JOjh6Xc= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1625501245; 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=6rM44k3o2q11woEJoneKZFwdYs+k+agPXTnKUSJ4RUI=; b=R9KzixwmOHUiHp3+u6fkUQQgrQbJz+6+jJuu6eaVQA9usTrZTXpyVNzoJ2kU9s7ht1gt9l30VTgFDcN7jqgGlcMZeijxDoace3onDYC7xs7x8XskcNBEhwZUNQeDQz/NGcETTpEC9FzhBSDRChM4k/QYLNtZuBpFIQvebYRixIY= 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 1625501245755580.2875658793429; Mon, 5 Jul 2021 09:07:25 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.150446.278170 (Exim 4.92) (envelope-from ) id 1m0R7o-0003ft-El; Mon, 05 Jul 2021 16:07:12 +0000 Received: by outflank-mailman (output) from mailman id 150446.278170; Mon, 05 Jul 2021 16:07:12 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1m0R7o-0003fk-An; Mon, 05 Jul 2021 16:07:12 +0000 Received: by outflank-mailman (input) for mailman id 150446; Mon, 05 Jul 2021 16:07:11 +0000 Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1m0R7n-0003f2-2b for xen-devel@lists.xenproject.org; Mon, 05 Jul 2021 16:07:11 +0000 Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id 0d1d7ddc-ddab-11eb-844d-12813bfff9fa; Mon, 05 Jul 2021 16:07:10 +0000 (UTC) Received: from EUR02-HE1-obe.outbound.protection.outlook.com (mail-he1eur02lp2056.outbound.protection.outlook.com [104.47.5.56]) (Using TLS) by relay.mimecast.com with ESMTP id de-mta-34-tDzpL-PgPjae8nrhJsOXHw-1; Mon, 05 Jul 2021 18:07:08 +0200 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) by VI1PR04MB6861.eurprd04.prod.outlook.com (2603:10a6:803:13c::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4287.23; Mon, 5 Jul 2021 16:07:06 +0000 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4287.033; Mon, 5 Jul 2021 16:07:06 +0000 Received: from [10.156.60.236] (37.24.206.209) by FR3P281CA0060.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:4b::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4308.8 via Frontend Transport; Mon, 5 Jul 2021 16:07:06 +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: 0d1d7ddc-ddab-11eb-844d-12813bfff9fa DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1625501229; 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=6rM44k3o2q11woEJoneKZFwdYs+k+agPXTnKUSJ4RUI=; b=AJXg/fi97XXi1bFrKsfpvvcL229ZS7QHoc+AUyKytN+x/xKWAAUtk4ROSXa0EHoqAkweuu xODA0uB1JbpXElKqzpZcEBs/mAslbWcTV+VvwUZu9b5PP2y28JrZ5r9oLyH6XpVHgKmB/z yKn/MElGahD9KCM/AzoQ0GraN522obA= X-MC-Unique: tDzpL-PgPjae8nrhJsOXHw-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=YB5WSPbuvEIeX5HZf6PM6jZHn84WurshqPMLz1bpQCMV22mez4tC6oJkmDdTcXrub3V+R6tE/WCREglZ3D150xAAbql06GquYcNSCh/9RdjWMeextbRyULal3Y36RoMlANh6mcJgebm9LT99KuCtgXBL07SPUd3aO5OGo/n1XFGEo01Z2Vdk8/t+j8BxIgkMak0JBL0eUgrtqbBy2I3jxRO79ppF9koaEMQ1iTO1S1KfwOK8zNJerO6GLvtvQrkQ84Qa9BCPSmV5K27yn4hBFLVi83yRngWY1hfPLyHKoB/gd6ioXBuqJEb8TIpFr1SFVVUTvv1Rf2OD1iE3t2Wh6Q== 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-SenderADCheck; bh=6rM44k3o2q11woEJoneKZFwdYs+k+agPXTnKUSJ4RUI=; b=J7evhxc717kKriMazwBwp8xQh/VJ/lgTc0EdM6PTLp63L74ja7zsKobjtqW6ivVN/k80JEuy6/SWUC39giSN33XY3ETAZcodwYkjNBxTE2Mf6Ske+C1m2FRwPUj+n40O0NAazhmKJ0zT/JCGit1dDqaFWjMFhS/MUMCOHB+coBx/4L3CvJDdZsis7DJu93Mzepgs3PBS2PDym3a7hu9p8OKM25eWhHmrVOL4YM82wYCIjFsoEbC4dWCqw9YxFF1Zzsnq/eA2mW1FAmCbk48drgB6+Bclh6b0UJbeW7lqdzvRTwbCgzhR61qsRWqBuTb/dMuz/Wsd8PRKqBY9u2V7Lg== 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: citrix.com; dkim=none (message not signed) header.d=none;citrix.com; dmarc=none action=none header.from=suse.com; Subject: [PATCH 04/16] x86/P2M: move map_domain_gfn() (again) From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Andrew Cooper , Wei Liu , =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= , George Dunlap References: Message-ID: <2b9d4562-1d44-d038-ea43-fe8b067c6070@suse.com> Date: Mon, 5 Jul 2021 18:07:04 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 In-Reply-To: Content-Language: en-US Content-Transfer-Encoding: quoted-printable X-Originating-IP: [37.24.206.209] X-ClientProxiedBy: FR3P281CA0060.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:4b::10) To VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: a8731208-2287-4183-1bd0-08d93fceefb1 X-MS-TrafficTypeDiagnostic: VI1PR04MB6861: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:8273; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: UzMbmNCgbd144QW0tKZ6Sqshxvd+isgDMTJOviz5OFWKF8hsYzgw0xnPTZm1Pjs3T11FChs8fZ4S2Zumvr2gMeO6AbNJwaI1UhF3LeTOGK650atI1xU0lRhYAXdlQx0/O1wuLClnsNcKL+BI1pI/U4qpP00hl1hGKdhPnsrWtgeu5gIFQHplnR+7VjhKwPqA6W9+5KZFizJ5ZmLQtNNP+Hs8eB0f0A82I7+lyoqv6kSn55vikqAvfA9ZJZFXTVzOgdtz/Chb0sVIktDPeTcdf+NW+H+kDaCu9gA/RIIwNCH4meTsy8O8PB5H+rmN4ADlLcI7j052891ia7xib8T5pnbpHHFCB4qRJI84+JUfiA8pQVdW7aP4jQVep9qXIte88p6s4pj5xfolSTx6FAa9OlbPbk+Nqv5dix5V1qOT/0DJWD5AQbbrcJIrb2vD+onAzg9lALhKhX0rbqZXgOEAQoAa25Cx5hHrUEgCNYEknGbU0+AaLTHiP7C1L8g/PrIykL7iCrGSM5K6oXMeTQY84bKMx6Hf1Z/Ljxp+QY9BQQ6lgebqgGZX7lnvOhRhMZYQN5+/fO4Pi6QUf3rWzkeSLuzqWkNEPt0e9FlAHySjC1c6ljd+mBi0Coe7SaVutSMyad01wNFYGq2Q82TVvDpWjiYcAGt/rJwj0xpzt4BwPavpE7Wt6Q9OvF8ivi/V08AAM+eO+EETmbqQJER9r8kUolt43uZ5/oKh7rJ5guxKM5g= 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)(376002)(39860400002)(136003)(346002)(396003)(66556008)(66476007)(86362001)(66946007)(5660300002)(16526019)(31696002)(31686004)(38100700002)(26005)(36756003)(186003)(2616005)(83380400001)(54906003)(478600001)(6486002)(316002)(16576012)(956004)(4326008)(6916009)(2906002)(8936002)(8676002)(43740500002)(45980500001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?MWY5UXRXNU5PSU5wVUZLenphYk9lc2ZpR3hqdG52aEZMSHkwUTNSOFR6Kytj?= =?utf-8?B?Q0VXSkhxZTZnRnJ2STdjamk5dlhjVnlybDIxaHpobUZLTTRJOHRzSHlocWVs?= =?utf-8?B?dCs2cmFWWDVZc2h5TXh2TFhTUm9iMjU2c3dBMEx3SmlEQjZhSTl5T2Mzd01H?= =?utf-8?B?RGxtZFdOb2E1U0orQStJWnVsWnFpbFFERVVDeW1ZVkJLWVlCeUM4Z2lIeHo1?= =?utf-8?B?OUtNQnJKblBQYVBWZFIvcXlFVXdCVWxuQVppNWRZNFhacWc1NmplQTNORHhm?= =?utf-8?B?OThlR1FkcERnWWZ0VXBITzEzYU5mbEdTSTdmSzJmQVVpKzd1WjU4K0p3WldW?= =?utf-8?B?Ty8rZFZWM1hacUtUMXE1cWk5WjRTRU0vMG1vcU9peStqVmtEdUMwZkRvNUlY?= =?utf-8?B?T25ta21LbHBhb1drbXNQRzJNVVhZaDZUWFJsVnkrM3RwYW41Rzl5Q1J4U0pQ?= =?utf-8?B?VUhzem9YQTNHZnRGaWJaNFpRaHQrRmRvR010RGdBb1N2S3hiQUIzRWRyL2ti?= =?utf-8?B?Z0VHNVlXTDY1cjE1eE8wRzIzc09kcWNjY2pSZy9JMlpUYjJiMkFpTUhka3pX?= =?utf-8?B?UjBVQi9udExqOXo5TEpQU3B0QlNtek9FMVFzU1JZWmpBTCtYTFlpbXNNUzhM?= =?utf-8?B?UTNRVUdocy92RVJVcU5tUnRZKzBORDdqZFpUWElzMUNRWFBnS0FTM2hYRWVH?= =?utf-8?B?NVYyVHRGd0pnUG9BUmNmaFlLaDJQRnFOZjUrUXQrRTRQTWcvWVZ4eHNmZU44?= =?utf-8?B?MmltWEdGL3BTdzVyRWpCa3lRZTFTODJMbEJhWGQ4KzRIOXEwUFh2NlIrZEpK?= =?utf-8?B?ei9lMi85L1FiY09KTlRWL29BZ2pIbzZ3Mk9JNzZNME95YmE4QWRPNW9Obm5a?= =?utf-8?B?enJIRU5aQWpoUDdWOFRVWnBnTWpGR05FRzVtL3JHQjMrU0VrM2gwcmdJbnhm?= =?utf-8?B?VXg4MnBJbzlsQTB3YmpWRndIK2psSW9hc1BkK1E1eC9SZVlMK2RLdzQ2L1NI?= =?utf-8?B?d2dVKzF6cm9NWXlqRzZsTHp6Ym54WTRZYURseFl5ZGNRSVdsVTRrOG9qOHQ4?= =?utf-8?B?MlUvQk1PT042eEwycU5XcGFMK0dhNDEyMkFlTTNJdGRzQVlIVHhoNExIQnpq?= =?utf-8?B?WlorYlZSS1N2eDljdk5yUkhpT2JOTlFpckIxZmI0bmlqc0VyQnBVR0g1NERz?= =?utf-8?B?UUtCZkl4UUJmT3Z5MVArS3FKT09hSGxrbEZBRFJ0SG1SMkNpUWxjeFRKdUpy?= =?utf-8?B?ZWxrdWVqRjlxWFpNV0tKN1dUajRmRDNYWm9MVC9LU1ZyZnpyalRpb3JTUUpR?= =?utf-8?B?dXl1dHR5Unl0SnNickZudStKSlhSam1ZTTJac3F0b3hJbVN6NHZWTndlVlRN?= =?utf-8?B?RU1CcS9BMXRzKytsdFBHKy81aWNDVXVyTnZoam9Zb2ZGejJDN2hXdHBBUnhI?= =?utf-8?B?WVhNSHJYSWdCYkZ4UzhJRHRZNkpXSXNhWG9KanZKNFdWL1JlbTRMSzY0Z2JV?= =?utf-8?B?bDdBd0dBc0U3cHlGekhCQU9jV0daWEhXVForOFJOazArQTFNaCtkY1JKY0JK?= =?utf-8?B?SnVYL255OUlKcCtWcTlzVVNNeXVQQlNWdHovRGRkUHJaWkozaFFadnhJZngy?= =?utf-8?B?UXJXV0ZYMGk2ZzRydzVaTUp5WGRQMzdVanliZXUxNnU5T2FEclh4UEI0eDl3?= =?utf-8?B?SkdMejMrVlJoS2FFVFJncTJ5c1VrWTR4SitrNEUybnFIL0p0Y3FRN0FTUUNE?= =?utf-8?Q?kwJg9PWqzb12h9eMR2ptBoI/68dsFr7ZhOWcLgX?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: a8731208-2287-4183-1bd0-08d93fceefb1 X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jul 2021 16:07:06.8139 (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: 79o9fp1B9gBRFqR6ZMgTW+lJ0U3Vtx1vbWVYJsHL4rfQe9vWPWWmO6ZUgDmA6CkdhReyfYDfrE1Vj47oM+rpww== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB6861 X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1625501251937100001 Content-Type: text/plain; charset="utf-8" The main user is the guest walking code, so move it back there; commit 9a6787cc3809 ("x86/mm: build map_domain_gfn() just once") would perhaps better have kept it there in the first place. This way it'll only get built when it's actually needed (and still only once). This also eliminates one more CONFIG_HVM conditional from p2m.c. Signed-off-by: Jan Beulich Reviewed-by: George Dunlap --- a/xen/arch/x86/mm/guest_walk.c +++ b/xen/arch/x86/mm/guest_walk.c @@ -535,6 +535,56 @@ guest_walk_tables(const struct vcpu *v, return walk_ok; } =20 +#if GUEST_PAGING_LEVELS =3D=3D CONFIG_PAGING_LEVELS +/* + * If the map is non-NULL, we leave this function having acquired an extra= ref + * on mfn_to_page(*mfn). In all cases, *pfec contains appropriate + * synthetic/structure PFEC_* bits. + */ +void *map_domain_gfn(struct p2m_domain *p2m, gfn_t gfn, mfn_t *mfn, + p2m_query_t q, uint32_t *pfec) +{ + p2m_type_t p2mt; + struct page_info *page; + + if ( !gfn_valid(p2m->domain, gfn) ) + { + *pfec =3D PFEC_reserved_bit | PFEC_page_present; + return NULL; + } + + /* Translate the gfn, unsharing if shared. */ + page =3D p2m_get_page_from_gfn(p2m, gfn, &p2mt, NULL, q); + if ( p2m_is_paging(p2mt) ) + { + ASSERT(p2m_is_hostp2m(p2m)); + if ( page ) + put_page(page); + p2m_mem_paging_populate(p2m->domain, gfn); + *pfec =3D PFEC_page_paged; + return NULL; + } + if ( p2m_is_shared(p2mt) ) + { + if ( page ) + put_page(page); + *pfec =3D PFEC_page_shared; + return NULL; + } + if ( !page ) + { + *pfec =3D 0; + return NULL; + } + + *pfec =3D PFEC_page_present; + *mfn =3D page_to_mfn(page); + ASSERT(mfn_valid(*mfn)); + + return map_domain_page(*mfn); +} +#endif + /* * Local variables: * mode: C --- a/xen/arch/x86/mm/p2m.c +++ b/xen/arch/x86/mm/p2m.c @@ -1869,58 +1869,6 @@ unsigned long paging_gva_to_gfn(struct v return hostmode->gva_to_gfn(v, hostp2m, va, pfec); } =20 -#endif /* CONFIG_HVM */ - -/* - * If the map is non-NULL, we leave this function having acquired an extra= ref - * on mfn_to_page(*mfn). In all cases, *pfec contains appropriate - * synthetic/structure PFEC_* bits. - */ -void *map_domain_gfn(struct p2m_domain *p2m, gfn_t gfn, mfn_t *mfn, - p2m_query_t q, uint32_t *pfec) -{ - p2m_type_t p2mt; - struct page_info *page; - - if ( !gfn_valid(p2m->domain, gfn) ) - { - *pfec =3D PFEC_reserved_bit | PFEC_page_present; - return NULL; - } - - /* Translate the gfn, unsharing if shared. */ - page =3D p2m_get_page_from_gfn(p2m, gfn, &p2mt, NULL, q); - if ( p2m_is_paging(p2mt) ) - { - ASSERT(p2m_is_hostp2m(p2m)); - if ( page ) - put_page(page); - p2m_mem_paging_populate(p2m->domain, gfn); - *pfec =3D PFEC_page_paged; - return NULL; - } - if ( p2m_is_shared(p2mt) ) - { - if ( page ) - put_page(page); - *pfec =3D PFEC_page_shared; - return NULL; - } - if ( !page ) - { - *pfec =3D 0; - return NULL; - } - - *pfec =3D PFEC_page_present; - *mfn =3D page_to_mfn(page); - ASSERT(mfn_valid(*mfn)); - - return map_domain_page(*mfn); -} - -#ifdef CONFIG_HVM - static unsigned int mmio_order(const struct domain *d, unsigned long start_fn, unsigned long nr) { From nobody Thu May 2 07:08:03 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=1625501280; cv=pass; d=zohomail.com; s=zohoarc; b=Co/bEHgMXVu8Qfx/cXxTjnzIHnVmPLaFcnM/hc9aPJJ3kji1XRI5sTCvFxl9cZiGiXnmFAd7Ud1KbEUEe56B/MG1gsEwsF/jFECbfzA/vl5y4kQdcNViPvNIxUrM8NsYShKPeBnorg9q4Z356qkwFvf0LmJjTmkqASWE08m2tYY= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1625501280; 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=N7RY0ShcVxtWtMMh0NcPG5/m8X13IHxRvG2X5xqTlt8=; b=iU1R3+OnalyuDGAMo+2xMxRWNJH/cOvC4sFGdCOmrZ82ZiQiIhBQ6F3hFNMl4o/6zaoEyOHa7uoySMGRLP5Pfmsw9pfE+W5PB4tvmb45pRIzz4JOFN76WTVtqNtSSzIF+3jkbc6wbKoQXgSaP64mTHCtVA/wCKDQdd/uPPDaQ+k= 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 1625501280151896.259238739375; Mon, 5 Jul 2021 09:08:00 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.150452.278181 (Exim 4.92) (envelope-from ) id 1m0R8H-0004NL-St; Mon, 05 Jul 2021 16:07:41 +0000 Received: by outflank-mailman (output) from mailman id 150452.278181; Mon, 05 Jul 2021 16:07:41 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1m0R8H-0004NE-P4; Mon, 05 Jul 2021 16:07:41 +0000 Received: by outflank-mailman (input) for mailman id 150452; Mon, 05 Jul 2021 16:07:41 +0000 Received: from us1-rack-iad1.inumbo.com ([172.99.69.81]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1m0R8H-0004N0-6U for xen-devel@lists.xenproject.org; Mon, 05 Jul 2021 16:07:41 +0000 Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS id f4d68a52-91e1-4eff-845d-77691daf922a; Mon, 05 Jul 2021 16:07:40 +0000 (UTC) Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-db3eur04lp2055.outbound.protection.outlook.com [104.47.12.55]) (Using TLS) by relay.mimecast.com with ESMTP id de-mta-33-Oxut-bkkPS2x5yl46VHnWQ-1; Mon, 05 Jul 2021 18:07:38 +0200 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) by VI1PR04MB3293.eurprd04.prod.outlook.com (2603:10a6:802:11::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4287.32; Mon, 5 Jul 2021 16:07:36 +0000 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4287.033; Mon, 5 Jul 2021 16:07:36 +0000 Received: from [10.156.60.236] (37.24.206.209) by FR0P281CA0051.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:48::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4308.8 via Frontend Transport; Mon, 5 Jul 2021 16:07: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: f4d68a52-91e1-4eff-845d-77691daf922a DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1625501259; 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=N7RY0ShcVxtWtMMh0NcPG5/m8X13IHxRvG2X5xqTlt8=; b=cQ/nUa8Loejs08bjMaiFJe0Zyp3oZKmiqzDJm1X8cbnLCigwz0s3+U8AfudDox61vPVvXi x6v3+YWdpYIfJVvoeIbcK+mdqIts5jpHxQTZI5kPIdsY0zN0CwLrM8LV4yTCXw1WhbjtG4 GIzWEl080ms01B6v9QTSQHr8Kmg1oDQ= X-MC-Unique: Oxut-bkkPS2x5yl46VHnWQ-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DBsnk7wSt5nL0G7mXPGv/H4EWT7NFSx2vj9tuzRLgrFeha3NNbjHwnkzcfxKElkOE5O/cb0gGK5aLQ4ZLes+Q76iaGnnj4eXVCseGQAdqRHOyhA+KMHc2TSPIVQCV21LSgX3+DFnz9GnydEB6sCb8K5ksFA/CRoqemJ1VNMS8PByElqAPDjg7xRzFwWVTnZrfffrr5e2q42oHU2UvP24dYcXR7VT9lVe3gE+Za4gcjBsdB3/NGkCiBYXJTMCcI3VJ3KkX0ynnymc46iREexPrPMnjvV0xaVym8lBYdd51e+UfwHBLYTJmZ2cKmIsJLRpZUPR6QLUTJpS4elcPa40hg== 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-SenderADCheck; bh=N7RY0ShcVxtWtMMh0NcPG5/m8X13IHxRvG2X5xqTlt8=; b=iAIdm5gBc+r4UOukFmdNtoYlH++g0QQj0za86VOBAj/c8gV8q569yqlqulNPAshs8tl2VfOTzpT/a9pDkC6orDUO+Z2UUjRzyBD2TF3gkufPI7k8YV2c18RYMBEScPR5adtmRHRH7K2Q8FmroKYEvHUekPTCPwtY40BzAh2RsMyO3Rl9x7SKY8WJXVsbQJCFK0xmFn8aa1E1CE/6M+8sURvnJTwppIkvzEdCdSk+Ow2s03+xZ0kO8NvEa4tYPyCj+1KsqeEE3UIMEBxDNZgLJj/UVUhITMkGLjMT3RO6pICvQu8XfmGf0Y3UJ4o+lQeHXIl4eYcbav6xtPiJ6Z4clw== 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: citrix.com; dkim=none (message not signed) header.d=none;citrix.com; dmarc=none action=none header.from=suse.com; Subject: [PATCH 05/16] x86/mm: move guest_physmap_{add,remove}_page() From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Andrew Cooper , Wei Liu , =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= , George Dunlap References: Message-ID: <3636b781-d84e-6e95-6bb8-bc6a7c596912@suse.com> Date: Mon, 5 Jul 2021 18:07:34 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 In-Reply-To: Content-Language: en-US Content-Transfer-Encoding: quoted-printable X-Originating-IP: [37.24.206.209] X-ClientProxiedBy: FR0P281CA0051.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:48::12) To VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 7791f0e0-853a-4850-b426-08d93fcf0103 X-MS-TrafficTypeDiagnostic: VI1PR04MB3293: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:9508; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 1YVyOdy23sRq0DQ99yWPBvPzhXf9EnxvijT76e4gJgHlyFCtWwQiBZ4Ui1oitAdXFn+LQ1oklQPv7UsRwWiHACecuSRJAsaX56CpE/39gzXo+w692gAkn85NgIeFaGhnytaVugl8bWCwUtBuLXUOQ7VEoOM4C05fHJXDrRPuoyJsPJ8HoGsEXJB7mubVRDMC1ZxpAwyJVYEymom6eOdT7jIEQ1nFZ32bZCP7Z/zikpK0HWZJHG09lMoO+KYXrAPiYS1g9yrO2R/ptEn3xE2wuwmDzNIukTsZSE1g9HHtUwY/U5weMwz6r9hwum7xSWZEh+Hj4RjutifRbSfggWCOtvtYWxA0wu/aCd8l8o9DZKP3zWSD9bgRXmnufWUQN86bf4nGZHCePUUXjd/23An+hmgye1xPKCIZfAvCqT1/qGAxDa6JAz4YK9HV+XLpnfz0LrbEbg8I7CoAXuV+B/XRoYGtJUchMUwA6V7FUnsu3dBEnXjFMNihpNsaDLVnPIaIIX8D03Cs4VSopHYDeXGkTx7VUpzNKjjPKMvyD4mF5SMPlsrYs5Uo2PUJt37jtMvyCXAU9KgYkEcPHjw91/OjP/EyoVnD0gdTuCuE24O2nchuQ31T/NwEfqmMlLKAXj3OcoaxSo4aZcV3FTr1mPhk2iVT6oDZKzrMCpUzrvmC7U3EXP6GnyeYH5oO4APrna9NNRo94RP1ZO84zy+4O7q2L7DMdh9ZI55kaeIYV3SE31zsxTpvsEWjwmLgmArkTYjeKJMtrdE1wmNI0wCWbcBhTFIiE6o4xOnIS/9wdrXaywOhp/Z3B+uwLEHmRwGWChTdpFRJy2ByBekmocE6kvNMEQ== 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)(346002)(396003)(136003)(376002)(39850400004)(5660300002)(316002)(956004)(66946007)(2616005)(16576012)(26005)(38100700002)(186003)(66476007)(66556008)(2906002)(36756003)(16526019)(86362001)(31686004)(6916009)(54906003)(83380400001)(31696002)(4326008)(478600001)(6486002)(8936002)(8676002)(2004002)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?TGgzU25qUFJmTzJ6aDVtWFZ3ZmJEcWpCODhqTGZ2SThwL0xTWWxoOE5CMkhM?= =?utf-8?B?UGpaZ3kyUG5rSlpYc3RIMmt4eFFBODR5ZStYUVdQUE1GcHMzNHowcUwwbTdQ?= =?utf-8?B?T0VoRHJaNWhWRVRlU2tiM1MvR0Z0WFIvQ0t3SHY1K2tiQUJMbXRrYlVqeDkw?= =?utf-8?B?OEVqV1hXZlFkSWgvNytrVnp5TnFtWC9mYXJ6YW5jeVhyYU9LellmR3RyMUcv?= =?utf-8?B?U0QvQk9pVXJPa204TGdJaGRGVENBcU5uM1ByaTN1blI0QTlyZ0RZUHZGYUV5?= =?utf-8?B?Sm0xQjZGRjdMeitLYmFxUXhhSmJGWVpMQk8wSk1CR0xvcldIOE9odmlvbUNK?= =?utf-8?B?K1JIL2tRRmp6dTFyajVVRjhzNFAyS0x6Yy9hSkN0THQyQm9aNEw2aGxGZXJm?= =?utf-8?B?azc2aTF3RUVOclVjRUpXYVFEZng0U2RFVExQaGRoRm9wa3BjaWM2VFI1TnJj?= =?utf-8?B?czZLS2xYeUFoRnMxYnBlaVE5bGh4aVBCOFMrN0xQVHlyaytUVmMzNmEyYnhr?= =?utf-8?B?dEtIU2NuUy9KdzZpNS9zTEtIWVdINjVOaWpscjR6ZUtBN1ByUERIeXVJN3hv?= =?utf-8?B?VSthcnl6RzZBN3hLOUd2eXlSL3VNTkV0eWZ2WVdRZGNJVFZuTEQ2d2RVSFkx?= =?utf-8?B?NmRsS0lJK2dLZlh1NlYwaFk0QTZ4cllrR0J5aWRWWmMyUzd2eTBtKzBnei9z?= =?utf-8?B?REdhZUljT2NWT0diY2VqRTBLSXVuZGwxdnBDZVh3ZEdEUVJjTGdaOVlkdXEv?= =?utf-8?B?RWNxT3V1MSs0UkdUUVg1N3d4ZW1keTdhL1hOTndRQ0ZJT3dVODZNTG9ZVWhu?= =?utf-8?B?UjFqYmFoMDhXYW9mdVBQd0d1USt1bU5OWGUzcWFva2thdzlDSTFsL0ZGWDMx?= =?utf-8?B?Q0RNaCsrTnJyNWt1NUVjQmtjeFZmUWZ3M21LRDNQeW9vYmdXdnl4RTNpb1RH?= =?utf-8?B?Z2ZpdTJ0NE1lRFVhbDBLNldvVitZL2xQRnp0b1N0d213aUdDVDRBNndwTzYy?= =?utf-8?B?NnFiajVuMTBlVGZ5aGE4NjZJS0huUm5ZK2VkL2VlaTBlQVFUUWx2WUhxaTZJ?= =?utf-8?B?aXhLWjZMNUticzgwZE4xZ3hTL2hodHdwQlpTY050Y0lQR0U0VHBLMkN3MjJj?= =?utf-8?B?WFVJOStCdENQb1dpVllnc0Y5dFQ2YmhpelFZS2FwQ0hrVGhHOGtHUHhRdE5V?= =?utf-8?B?Q1psRlh2aXowM2RlWkRwMDJ6SDBQbzR1QzRjakdLckhMb1dmODRlS08wQWx0?= =?utf-8?B?OE14bTBJY09xWmRFQWtpM0NXN3UwTW5DMmNEQUJVdWJTdG5VVHc5VWsyWVVo?= =?utf-8?B?dkZ3KzUxNzh2Lzg3NXZNb0VSRVZuZEVxTmR0MCtYbGlWaW5kd05pcnFRYVRj?= =?utf-8?B?NCswUlZXWkZDeG5MQ2hQNE5PQTJXT1pndUlIcHQ4dEdUWHBpV3JHeVc4M2Js?= =?utf-8?B?UW1JVmpzcVphY3BPeG15WktjWUE3cWJzT2dXclc1czZhV2FNSHhqU1R6aW9I?= =?utf-8?B?Zm9tSjdBMXN1OTJRM1UraWxjeTJ0ZzR0cTJaeW11NzBjR0p1TzlhN0QwYlJW?= =?utf-8?B?d3hCMjNsVUF0TjdqL3IwZmQyYnBpVWIyalZ0Q2dIOStzT0pmT3NSU1hOVjBV?= =?utf-8?B?eDZHcXFJZU0xSEtnMHk2OU90QllXSWFxOXM2ZXgvcVZhblk4a0xZN3hCcG1G?= =?utf-8?B?cDNKNGtuQ3o3OUNQL0xaQ0k0WXdJczJZaHFuMEtGRDBCOG0vaTlBZE9DNWdQ?= =?utf-8?Q?dYZCBA876cyn/DF2B6m8DsF+aCCs4rhTozjIgr1?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7791f0e0-853a-4850-b426-08d93fcf0103 X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jul 2021 16:07:35.8665 (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: dR7gufbQyESy6d5i/Nks8VEHBKWbvJgqaEfr6ItiVBxOWomhlAmOM8bPy7fxvj4L7b2BjGilJR+q7u9ou71lFg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB3293 X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1625501287137100001 Content-Type: text/plain; charset="utf-8" ... to a new file, separating the functions from their HVM-specific backing ones, themselves only dealing with the non-translated case. To avoid having a new CONFIG_HVM conditional in there, do away with the inline placeholder. Signed-off-by: Jan Beulich Reviewed-by: George Dunlap --- a/xen/arch/x86/mm/Makefile +++ b/xen/arch/x86/mm/Makefile @@ -10,6 +10,7 @@ obj-$(CONFIG_MEM_SHARING) +=3D mem_sharing obj-y +=3D p2m.o obj-$(CONFIG_HVM) +=3D p2m-ept.o p2m-pod.o p2m-pt.o obj-y +=3D paging.o +obj-y +=3D physmap.o =20 guest_walk_%.o: guest_walk.c Makefile $(CC) $(c_flags) -DGUEST_PAGING_LEVELS=3D$* -c $< -o $@ --- a/xen/arch/x86/mm/p2m.c +++ b/xen/arch/x86/mm/p2m.c @@ -849,60 +849,6 @@ p2m_remove_page(struct domain *d, gfn_t } =20 int -guest_physmap_remove_page(struct domain *d, gfn_t gfn, - mfn_t mfn, unsigned int page_order) -{ - /* IOMMU for PV guests is handled in get_page_type() and put_page(). */ - if ( !paging_mode_translate(d) ) - return 0; - - return p2m_remove_page(d, gfn, mfn, page_order); -} - -#endif /* CONFIG_HVM */ - -int -guest_physmap_add_page(struct domain *d, gfn_t gfn, mfn_t mfn, - unsigned int page_order) -{ - /* IOMMU for PV guests is handled in get_page_type() and put_page(). */ - if ( !paging_mode_translate(d) ) - { - struct page_info *page =3D mfn_to_page(mfn); - unsigned long i; - - /* - * Our interface for PV guests wrt IOMMU entries hasn't been very - * clear; but historically, pages have started out with IOMMU mapp= ings, - * and only lose them when changed to a different page type. - * - * Retain this property by grabbing a writable type ref and then - * dropping it immediately. The result will be pages that have a - * writable type (and an IOMMU entry), but a count of 0 (such that - * any guest-requested type changes succeed and remove the IOMMU - * entry). - */ - for ( i =3D 0; i < (1UL << page_order); ++i, ++page ) - { - if ( !need_iommu_pt_sync(d) ) - /* nothing */; - else if ( get_page_and_type(page, d, PGT_writable_page) ) - put_page_and_type(page); - else - return -EINVAL; - - set_gpfn_from_mfn(mfn_x(mfn) + i, gfn_x(gfn) + i); - } - - return 0; - } - - return p2m_add_page(d, gfn, mfn, page_order, p2m_ram_rw); -} - -#ifdef CONFIG_HVM - -int p2m_add_page(struct domain *d, gfn_t gfn, mfn_t mfn, unsigned int page_order, p2m_type_t t) { --- /dev/null +++ b/xen/arch/x86/mm/physmap.c @@ -0,0 +1,85 @@ +/*************************************************************************= ***** + * arch/x86/mm/physmap.c + * + * Parts of this code are Copyright (c) 2009 by Citrix Systems, Inc. (Patr= ick Colp) + * Parts of this code are Copyright (c) 2007 by Advanced Micro Devices. + * Parts of this code are Copyright (c) 2006-2007 by XenSource Inc. + * Parts of this code are Copyright (c) 2006 by Michael A Fetterman + * Parts based on earlier work by Michael A Fetterman, Ian Pratt et al. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; If not, see . + */ + +#include + +#include "mm-locks.h" + +int +guest_physmap_add_page(struct domain *d, gfn_t gfn, mfn_t mfn, + unsigned int page_order) +{ + /* IOMMU for PV guests is handled in get_page_type() and put_page(). */ + if ( !paging_mode_translate(d) ) + { + struct page_info *page =3D mfn_to_page(mfn); + unsigned long i; + + /* + * Our interface for PV guests wrt IOMMU entries hasn't been very + * clear; but historically, pages have started out with IOMMU mapp= ings, + * and only lose them when changed to a different page type. + * + * Retain this property by grabbing a writable type ref and then + * dropping it immediately. The result will be pages that have a + * writable type (and an IOMMU entry), but a count of 0 (such that + * any guest-requested type changes succeed and remove the IOMMU + * entry). + */ + for ( i =3D 0; i < (1UL << page_order); ++i, ++page ) + { + if ( !need_iommu_pt_sync(d) ) + /* nothing */; + else if ( get_page_and_type(page, d, PGT_writable_page) ) + put_page_and_type(page); + else + return -EINVAL; + + set_gpfn_from_mfn(mfn_x(mfn) + i, gfn_x(gfn) + i); + } + + return 0; + } + + return p2m_add_page(d, gfn, mfn, page_order, p2m_ram_rw); +} + +int +guest_physmap_remove_page(struct domain *d, gfn_t gfn, + mfn_t mfn, unsigned int page_order) +{ + /* IOMMU for PV guests is handled in get_page_type() and put_page(). */ + if ( !paging_mode_translate(d) ) + return 0; + + return p2m_remove_page(d, gfn, mfn, page_order); +} + +/* + * Local variables: + * mode: C + * c-file-style: "BSD" + * c-basic-offset: 4 + * indent-tabs-mode: nil + * End: + */ --- a/xen/include/xen/p2m-common.h +++ b/xen/include/xen/p2m-common.h @@ -8,18 +8,9 @@ int set_foreign_p2m_entry(struct domain unsigned long gfn, mfn_t mfn); =20 /* Remove a page from a domain's p2m table */ -#ifdef CONFIG_HVM int __must_check guest_physmap_remove_page(struct domain *d, gfn_t gfn, mfn_t mfn, unsigned int page_order); -#else -static inline int -guest_physmap_remove_page(struct domain *d, gfn_t gfn, mfn_t mfn, - unsigned int page_order) -{ - return 0; -} -#endif =20 /* Map MMIO regions in the p2m: start_gfn and nr describe the range in * * the guest physical address space to map, starting from the machine From nobody Thu May 2 07:08:03 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=1625501297; cv=pass; d=zohomail.com; s=zohoarc; b=lcPNHqquKWYkAj4ta3/ayLSf2J/fy+940FIMZU+RBHf5i6blVESqYosWsB8oOLHRk21cWsYidwkOmeBUaoSIu4vfk4DnXFQd/yTvKPyxNlh0jEwGF2l2xTWTUFUzVB1Jw/1K9b5mq480GQizF/v811GB1olp2SFGuMb2F2q3N3Y= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1625501297; 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=iBgTpLP5pTg+FKHioK50yatmWjfVI9UtWtf8wOQ70wI=; b=aAHqUUfQEq2jL64SGUToQPl+Y1jJgKFBFxbuf3jNIkUBuewFHqUqKnTudhyb4TIJRuxaTenm1rDGFuovCav4lzgiS2dPFAwLFeV1hoPmRucNLwltUzx51J2IkwEwbLX/gA6XhOvLHEnjK0acEQ3jQLzq8P7MCXUGdd9N2bl+7h8= 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 1625501297602745.3890938410918; Mon, 5 Jul 2021 09:08:17 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.150456.278192 (Exim 4.92) (envelope-from ) id 1m0R8c-0004sq-5r; Mon, 05 Jul 2021 16:08:02 +0000 Received: by outflank-mailman (output) from mailman id 150456.278192; Mon, 05 Jul 2021 16:08:02 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1m0R8c-0004sh-1a; Mon, 05 Jul 2021 16:08:02 +0000 Received: by outflank-mailman (input) for mailman id 150456; Mon, 05 Jul 2021 16:08:01 +0000 Received: from us1-rack-iad1.inumbo.com ([172.99.69.81]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1m0R8b-0004N0-5v for xen-devel@lists.xenproject.org; Mon, 05 Jul 2021 16:08:01 +0000 Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS id cf0e1f0c-2eb6-4f86-8953-b58e1e1eba0c; Mon, 05 Jul 2021 16:07:59 +0000 (UTC) Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-db3eur04lp2057.outbound.protection.outlook.com [104.47.12.57]) (Using TLS) by relay.mimecast.com with ESMTP id de-mta-14-rkRy333JM72jeNLP9nOx8w-1; Mon, 05 Jul 2021 18:07:58 +0200 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) by VI1PR04MB3293.eurprd04.prod.outlook.com (2603:10a6:802:11::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4287.32; Mon, 5 Jul 2021 16:07:56 +0000 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4287.033; Mon, 5 Jul 2021 16:07:56 +0000 Received: from [10.156.60.236] (37.24.206.209) by PR1P264CA0035.FRAP264.PROD.OUTLOOK.COM (2603:10a6:102:19f::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4287.21 via Frontend Transport; Mon, 5 Jul 2021 16:07:55 +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: cf0e1f0c-2eb6-4f86-8953-b58e1e1eba0c DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1625501278; 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=iBgTpLP5pTg+FKHioK50yatmWjfVI9UtWtf8wOQ70wI=; b=K7KvQTg6U6OrJEVA9Ft7OMY1HxBM0pQA4xTLPR79LnvTUc6gbX6jo/sBVNzx1OSIaPaE14 baX+5kEBUqJW3bGldyNix0nvxGCXa6xw4ieYQy02d+s1BuczjDNoz0xAoWpi3pIUi5/Kxv 1Aw4wYEt35iB2lNYE9CnC6bQypl6FVg= X-MC-Unique: rkRy333JM72jeNLP9nOx8w-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=BMC15kGCXhT9hkXmzZrqZbdMMLUTcMWIyIJRugT5zBPY2WFHm1+B7IqLN9ElHrQVY7P/QomXet2w37hG51d6wE8dHHsM0vdmoqFdsnYf7DY4IQ+4/alAh2aQdtc9ZCwAKiaUNXRpKZh5DZjgX1AQzrO/QwpYxTo9dA9jm0pHIBkQ/f/XQpIxyOZ9rrvfe0JyuzrgErA0jpYa53T6aEdccZMaISohsVlzdBliHJ0F+1kU6zzsyKhPedV+p7wVw7o4HsE+iQbh+p6BkU2NFTUSkXDmsxDvYggda37GBFgYkhb4L9fw8OafnsBRiSjf/YjhPfTJ5HjuR1dwoQjRRsFO3g== 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-SenderADCheck; bh=iBgTpLP5pTg+FKHioK50yatmWjfVI9UtWtf8wOQ70wI=; b=ZM9dNWbE52xCj3hzUh2UcNng0J9gZwOle5sGqabVrpHVZT7DUuU1yhc/uQjm3tB6BxN19k6Wh8G+gH9gRbhERaY90dx/ccrFui2Ri+i7oFz4jAmNC5niakQhZah299jW19zz4W788QT9r6JNRyNllMnkthNn/Fde5jFZqLNgS3vveTFYTfHp5cuJgVUdDbmOlTGVP3yWJF68Nqck1cy8DZ12yQA1xJKemocxeuE5N/qjxWsahB7LtL0btYe2s5X7vrBiQJ34o4uBSTZhraO0SIH3/9x6/0IUkScUpImi9w3q3T+qBDwKbFdjIvdPwzm2QktGdl1zZlsDKq/gFBF8Zw== 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: citrix.com; dkim=none (message not signed) header.d=none;citrix.com; dmarc=none action=none header.from=suse.com; Subject: [PATCH 06/16] x86/mm: split set_identity_p2m_entry() into PV and HVM parts From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Andrew Cooper , Wei Liu , =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= , George Dunlap References: Message-ID: <90ea840a-0966-0cf8-39f0-f8ef3fb45786@suse.com> Date: Mon, 5 Jul 2021 18:07:54 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 In-Reply-To: Content-Language: en-US Content-Transfer-Encoding: quoted-printable X-Originating-IP: [37.24.206.209] X-ClientProxiedBy: PR1P264CA0035.FRAP264.PROD.OUTLOOK.COM (2603:10a6:102:19f::22) To VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 94d23ad7-b080-4da9-8869-08d93fcf0d6d X-MS-TrafficTypeDiagnostic: VI1PR04MB3293: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:9508; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: CfLZqNR+sLYyKaAeTcrafHeyxWKK2aZnizw2lElQWJtWKfz8IZaUamD/3uSev0XkEvtVBT2mwmEva79roXsAZ7vT4ULJoVKyeIHw4mjX6kqu27lpO5nKG+BGkUimHHPPtZeDADb6AYg3eH87Rd9H69OP4wJ/VgI+cJkuYigkFWNcTRrlURaJzLLIxRblRXbwrpUbtN4qv3gEvHtNjYXo0l/VX65FhDLBL2rsdHyRbyocRicYSyxeP0lS2AK5eVpfP+m+MHFWOLn2mBAGkG11CQvUCrZH7cMmhM06MHJKqUtQDgVXmQgiKuet9UtSx8yv55bpyTNJH1vT01e7JTp96Z212A4zH/bOCIsmoiV/nRIAdQ41U9V8gpGQMlz/5C5SK+VWr1Wj7085VPkq6TqqjdktXlh6Wr6+YO/YtFEhFV24uFq6GS4afPpzl1P789YcA+gINUydgEMpdUS6kgZSPa0pdcDHfjuR4Rjggq0oEXxmDVFNkP/lsWRBHN5nbe+wTrmQ4NMRH5G6Fn8i9bUN3nKE3WFArBlX+1QTJMAXVZcUvxNauLUiVyG9pR+RX6aGeLG/fCUqMXifH7JywlAP6WyyTORQTL/BkA8XOOQljDWN5WkX/AxUnET+tD55gKoQIwJbnW6xkoUmhCa1A33LV9Q3mueqH9c7WIuD9s7bBT1PPSONSVJKTQEZG6cVE+oqUG16UBaYY54Q0FOZ0vWNNr9YsRKD0nIq1asEZJHV1gJN5f6eN2lfR3OkV+lUFSHmfpAPX+exDcH4x+t0I3bTbcctzINtS+ULZllZ38mJYEOnw9X7Swkx7Xl4snkYtXjH7Ojj2/tj7nUZYOST6EQ2ied0fMndBMi2Z2bxsgsvPc2Kof9uejDY5dIU75ma/VwZ 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)(346002)(396003)(136003)(376002)(39850400004)(5660300002)(316002)(956004)(66946007)(2616005)(16576012)(26005)(38100700002)(186003)(66476007)(66556008)(2906002)(36756003)(16526019)(86362001)(31686004)(6916009)(54906003)(83380400001)(31696002)(4326008)(478600001)(6486002)(8936002)(8676002)(70780200001)(2004002)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?a0pPZW8rZUFRdHJaL0s5dnNGYkVTakFEelJ0VTA2U1lOdUorL3VBS3ZBSWd0?= =?utf-8?B?ZkxLRStjU2RvaThoazIweU53TS8zaUp4ckZqYzVrRjFLcU94TFpJSWp4a3Nz?= =?utf-8?B?SXUrRXVLVnYyMFBvWFZsSnAycDNxcXBTbVFtV2hCdE95MlB3WGxtbUprWDBs?= =?utf-8?B?ajd6ZlNpKzFNWFZmWnZwcXBqQTVHaXhDZXpwVWViRFFjdWwzRTRDM1ZlbWxl?= =?utf-8?B?cUZmTFNXTWxTb1p3SGxmVFYyYlV6alRZZm1Rd1NuYjYzVG1jM1B5WnpFb2JE?= =?utf-8?B?UkdIVDdpajhsUkVoR0FNUHNhQ28wZncyZUdiU0Z5QkxjK0ducEUxQUpMc3ZJ?= =?utf-8?B?R0ozdjlWalN0d2k3RHZtbGZ6MDNNUlE3bzZ0ZGhxenpTM1Y3NVlBbmJEeXkr?= =?utf-8?B?WmRlWlB5QTB6ZzJBVkJ2Yys4TjJnajlGT3dadmtFNG43bEVnOFdpa1RQdENa?= =?utf-8?B?eXJtbFNGWWw5WXZVb0todHpUandIU0wwNzBVSnRiRjg2YnplRVRzeVhNblN0?= =?utf-8?B?MWRmZGJEYmpaNW8rU1NBR1FDMG55MHBsZUxSYVV3OURoUnJWSGd6NW1rK2x5?= =?utf-8?B?cG5YZkM1U25hT05WNDUwQWhFRDhVZ1o4YVZ3eGhUZEp3MlpTMGttVHU1cG9Z?= =?utf-8?B?dndnc1lXMmk1R3I0QkN4eU83SVFNbExjT1pvazFVbWE5NzZzYjlFcWRxMCtG?= =?utf-8?B?TDdMc2o2YTlFRlJ5dzROVGhSYXp4MG1MR1JMSWhsT2RtRUhvWTRwaDZXbHFi?= =?utf-8?B?RnhCMXhuN0RSRDgva3o1b1lvd3cwR1E4VnFtMmtvME8wcFJWSHNpZmJNcVZu?= =?utf-8?B?MEYyS3k3L2RNYkNwSzdUaTZBWEpXblVmenhJTnFLSTVIb3QxaVRFNEgxbzZW?= =?utf-8?B?UlZWbDJwZXhuQk5NRkcweCtSSEVGVEIwTDFycEM4VExtdThQT3ZMS2tmYVlt?= =?utf-8?B?cVhPRWpaeWxlQVFsWStkQlRPQkJQejlUMi9ySHFXbmdBU05hSDh0NGRMbEJR?= =?utf-8?B?bnJFbUNGOGI3NndGc1ZMbm5XK3FSNkZEd2M5bVQwTkZHdlZkSWhwQTcyOWpM?= =?utf-8?B?QXE3TXJEY2pBSU14YU1xYWxOamZmSS9oNFhadjdXUGdwVWtieE1xbWlVWjRF?= =?utf-8?B?bklRK2NHaGRIODI3d3kybENTVmJIZFdaWkdwSEZQZFZ6WUhBKzJaSkc3ZGxH?= =?utf-8?B?V0lBT3RQT3pTZi8zbnlPbmRtWVNhZVA5V2srMDd0UTZiV2YwYVR5OUliTjM5?= =?utf-8?B?WTdUSno1dDdJb2xMOXNtN0ZpR3hiZnRQUnV4d3A0QW9NeVBHbnFWUU5pRHVZ?= =?utf-8?B?UldyTVVUd2I0eHI2MG9qbkFTYnRWM01BeXBUSjgrMU53SmY1SHZ6eEdobDY0?= =?utf-8?B?ZDQzdm9KY2tuTng5clVRaHg0NXQ0N0d0cFQ3Z29BaktnMk50Uk9hVG5nRy9i?= =?utf-8?B?cTZWNDZDeml5aUl4Vk43dC80bmdoamoyQXN1VXVWSlhWeDdkUHp0MFNyYVNr?= =?utf-8?B?TUd5Yk9YejJrT0lLMXJyQjQ5V0lZNmNqdWRFK0FyU1A2TTlrTmtBMXVXS0RH?= =?utf-8?B?dFArV21iZDVLUlVHeHdOTHd5NHZCY2oya1BGODR5ZGdQTE5GT0RzQWZEQVJh?= =?utf-8?B?MldLUHAzcnNPYWREaGRmUGtnL25sQ0tLZldnTDRDa2ZzTm1oQ01iU2NLQkdR?= =?utf-8?B?RFBQVUw0bmNNZHpXUnVvTGdNUHkydUtHMXNYckg2dVJmNlZGN1pjcFZXSVd0?= =?utf-8?Q?kdeZRDiI7tf1w5EJhqySFOKpuZEJBvMohnIEoXs?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 94d23ad7-b080-4da9-8869-08d93fcf0d6d X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jul 2021 16:07:56.6877 (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: k0BhAxqtwXUW3Pl4iH3u4Vo/tiJUmvQBiNG4eqtaZ6NHK07tVBGKO9ST7zN8LLVNjvwShUDMpEurWxsxeBE93Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB3293 X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1625501304075100001 Content-Type: text/plain; charset="utf-8" ..., moving the former into the new physmap.c. Signed-off-by: Jan Beulich Reviewed-by: George Dunlap --- a/xen/arch/x86/mm/p2m.c +++ b/xen/arch/x86/mm/p2m.c @@ -43,6 +43,7 @@ #include =20 #include "mm-locks.h" +#include "p2m.h" =20 /* Override macro from asm/page.h to make work with mfn_t */ #undef virt_to_mfn @@ -1366,12 +1367,9 @@ int clear_mmio_p2m_entry(struct domain * return rc; } =20 -#endif /* CONFIG_HVM */ - -int set_identity_p2m_entry(struct domain *d, unsigned long gfn_l, +int p2m_add_identity_entry(struct domain *d, unsigned long gfn_l, p2m_access_t p2ma, unsigned int flag) { -#ifdef CONFIG_HVM p2m_type_t p2mt; p2m_access_t a; gfn_t gfn =3D _gfn(gfn_l); @@ -1381,13 +1379,8 @@ int set_identity_p2m_entry(struct domain =20 if ( !paging_mode_translate(d) ) { -#endif - if ( !is_iommu_enabled(d) ) - return 0; - return iommu_legacy_map(d, _dfn(gfn_l), _mfn(gfn_l), - 1ul << PAGE_ORDER_4K, - IOMMUF_readable | IOMMUF_writable); -#ifdef CONFIG_HVM + ASSERT_UNREACHABLE(); + return -EPERM; } =20 gfn_lock(p2m, gfn, 0); @@ -1413,12 +1406,10 @@ int set_identity_p2m_entry(struct domain =20 gfn_unlock(p2m, gfn, 0); return ret; -#endif } =20 -int clear_identity_p2m_entry(struct domain *d, unsigned long gfn_l) +int p2m_remove_identity_entry(struct domain *d, unsigned long gfn_l) { -#ifdef CONFIG_HVM p2m_type_t p2mt; p2m_access_t a; gfn_t gfn =3D _gfn(gfn_l); @@ -1428,11 +1419,8 @@ int clear_identity_p2m_entry(struct doma =20 if ( !paging_mode_translate(d) ) { -#endif - if ( !is_iommu_enabled(d) ) - return 0; - return iommu_legacy_unmap(d, _dfn(gfn_l), 1ul << PAGE_ORDER_4K); -#ifdef CONFIG_HVM + ASSERT_UNREACHABLE(); + return -EPERM; } =20 gfn_lock(p2m, gfn, 0); @@ -1454,7 +1442,6 @@ int clear_identity_p2m_entry(struct doma } =20 return ret; -#endif } =20 #ifdef CONFIG_MEM_SHARING @@ -1499,8 +1486,6 @@ int set_shared_p2m_entry(struct domain * =20 #endif /* CONFIG_MEM_SHARING */ =20 -#ifdef CONFIG_HVM - static struct p2m_domain * p2m_getlru_nestedp2m(struct domain *d, struct p2m_domain *p2m) { --- /dev/null +++ b/xen/arch/x86/mm/p2m.h @@ -0,0 +1,31 @@ +/*************************************************************************= ***** + * arch/x86/mm/p2m.h + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; If not, see . + */ + +#include + +int p2m_add_identity_entry(struct domain *d, unsigned long gfn, + p2m_access_t p2ma, unsigned int flag); +int p2m_remove_identity_entry(struct domain *d, unsigned long gfn); + +/* + * Local variables: + * mode: C + * c-file-style: "BSD" + * c-basic-offset: 4 + * indent-tabs-mode: nil + * End: + */ --- a/xen/arch/x86/mm/physmap.c +++ b/xen/arch/x86/mm/physmap.c @@ -21,9 +21,11 @@ * along with this program; If not, see . */ =20 +#include #include =20 #include "mm-locks.h" +#include "p2m.h" =20 int guest_physmap_add_page(struct domain *d, gfn_t gfn, mfn_t mfn, @@ -75,6 +77,33 @@ guest_physmap_remove_page(struct domain return p2m_remove_page(d, gfn, mfn, page_order); } =20 +int set_identity_p2m_entry(struct domain *d, unsigned long gfn, + p2m_access_t p2ma, unsigned int flag) +{ + if ( !paging_mode_translate(d) ) + { + if ( !is_iommu_enabled(d) ) + return 0; + return iommu_legacy_map(d, _dfn(gfn), _mfn(gfn), + 1ul << PAGE_ORDER_4K, + IOMMUF_readable | IOMMUF_writable); + } + + return p2m_add_identity_entry(d, gfn, p2ma, flag); +} + +int clear_identity_p2m_entry(struct domain *d, unsigned long gfn) +{ + if ( !paging_mode_translate(d) ) + { + if ( !is_iommu_enabled(d) ) + return 0; + return iommu_legacy_unmap(d, _dfn(gfn), 1ul << PAGE_ORDER_4K); + } + + return p2m_remove_identity_entry(d, gfn); +} + /* * Local variables: * mode: C From nobody Thu May 2 07:08:03 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=1625501374; cv=pass; d=zohomail.com; s=zohoarc; b=ncAnhjkcZKHHXmnf+HM2nlJnCEzuprjI5nGFi9djZPazRKZn1wwjxfbbQ27CaZi4HarZ5ykYxKBFGAGP5DDgnMhQNB+Kkjrh+FaHb1ks517QSCDgNcYbsMoYVb8R8RjwukoeE8mRAQJL/ell4bYia35ZclvlOCCW2AU2lmFPGEk= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1625501374; 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=Tx30m7l+7/J2j/vr4dWWnozovQ/2dZxCTcm2hzQLKDs=; b=gKSZi3uAPryy+r0+KAk0TpaL7OrB8N3brXCosToS7P7s7WmQEDSP6wZ6iF1JaC3r2r9dhwfYiI95+oJsGlz5k3EEibRJb90N5v2JHqE2a7E8ZwjtkzBeUM01KL9Q8kms1gpb48I7WpnjmX5kW4yqnOR9iGi9xLkMCWALcJqH5uY= 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 1625501374296272.41420821586314; Mon, 5 Jul 2021 09:09:34 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.150467.278203 (Exim 4.92) (envelope-from ) id 1m0R9n-0005lT-LE; Mon, 05 Jul 2021 16:09:15 +0000 Received: by outflank-mailman (output) from mailman id 150467.278203; Mon, 05 Jul 2021 16:09:15 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1m0R9n-0005lK-I4; Mon, 05 Jul 2021 16:09:15 +0000 Received: by outflank-mailman (input) for mailman id 150467; Mon, 05 Jul 2021 16:09:14 +0000 Received: from us1-rack-iad1.inumbo.com ([172.99.69.81]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1m0R9m-0005l4-5B for xen-devel@lists.xenproject.org; Mon, 05 Jul 2021 16:09:14 +0000 Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS id 78ae2efa-562e-45d5-98f4-8aede0b8acb8; Mon, 05 Jul 2021 16:09:13 +0000 (UTC) Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-vi1eur04lp2053.outbound.protection.outlook.com [104.47.14.53]) (Using TLS) by relay.mimecast.com with ESMTP id de-mta-26-0O_MTB6WPxeQNjzxabADng-1; Mon, 05 Jul 2021 18:09:11 +0200 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) by VI1PR04MB3293.eurprd04.prod.outlook.com (2603:10a6:802:11::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4287.32; Mon, 5 Jul 2021 16:09:10 +0000 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4287.033; Mon, 5 Jul 2021 16:09:10 +0000 Received: from [10.156.60.236] (37.24.206.209) by PR0P264CA0075.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:18::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4287.22 via Frontend Transport; Mon, 5 Jul 2021 16:09:09 +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: 78ae2efa-562e-45d5-98f4-8aede0b8acb8 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1625501352; 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=Tx30m7l+7/J2j/vr4dWWnozovQ/2dZxCTcm2hzQLKDs=; b=mXHwmU+dXBPm+qtIpbaOPMnbt+AFylARS6CeRsU/H3C+BHY/g6BHxarBQsKeDGaCMUIwOt mIu6YJX6pB8e8fRYYi9na5DT5jlYkboV0OPU5k5YcTrY5RU8BguBmoVfvmhfkdKjIQ63Tj e/stn1IQURKvgX+33xZQG2GyPumRLBg= X-MC-Unique: 0O_MTB6WPxeQNjzxabADng-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WJKn1phpWKtXaOfTLDb86BWsbuUPFXBkK91sNo7joEVX+uDtymQF8dkzyeEb34rphxfSLg4JIoCiJ6eJd2NgnbeR0Ilz3LhRw607ym/lPVqo136HXq517hmugLwOuWjlruPlRMz0QDaEMaB5LfKK3Ndn6PH43F/qHZFmt7O9jq6P43NcJDSqeDKgXyuI6Kp9rYPN2ud8kleOnWbfLkCych5o7BM8IDxvBYtH0XOn/K5vQwo6g67aFpBshl/KYt64lFV57nUkl9AhysptPzOTEaDEzYPOn2E4C0qgBhOyokKeRKgTWRUjOBQ6YbjYa1CcDfrakicwz90yYUO2F85flA== 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-SenderADCheck; bh=Tx30m7l+7/J2j/vr4dWWnozovQ/2dZxCTcm2hzQLKDs=; b=JKv+R4/+DvMwTIYh8Or7jBiLBPtx5CPLK32M+2NWt8XUpy7wL+zTVEE5dMuxy4jZ/dNq945CoX9qzjRcWarspQeHTFaUSDtNOuJwXngU4ddp0uJPFZS9vL/bYKqiTykf0Y5heE4uZfWUR68dPkQO2p5zlOjcm0IgjGtcxINzHwtocagLhk/FNK+8/WuMtBsYZANyKlq37jTEYmcKvBymaoZSAr1Ps9AxB/lGmfiXzu7kBHPHQqcE0HlTNs7VwE4D1KkdzGqwONmW8A2kvbY2HJWPZnjkhJt83ZB1n/opN1ee+hOwErtY6mlqxKR9Hod6hUsvGsMW3LDlQYti9WTV+g== 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: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=suse.com; Subject: [PATCH 07/16] x86/P2M: p2m_{alloc,free}_ptp() and p2m_alloc_table() are HVM-only From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Andrew Cooper , Wei Liu , =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= , George Dunlap , Kevin Tian References: Message-ID: Date: Mon, 5 Jul 2021 18:09:08 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 In-Reply-To: Content-Language: en-US Content-Transfer-Encoding: quoted-printable X-Originating-IP: [37.24.206.209] X-ClientProxiedBy: PR0P264CA0075.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:18::15) To VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 53500c0f-4bd4-42f0-be2c-08d93fcf3932 X-MS-TrafficTypeDiagnostic: VI1PR04MB3293: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:4941; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: kMH6Jkw6+UNMXlkq6qZoY56fAMLgcq0Iey5ZynVcCry3kOUYt1GDSC+MaKlBHGXl0u/7M49bvKObmi/cLAdWkuKGmORGOOgGxFLm3JllDn9sKWC4y+n42ZWz8kWlD5vfEvYado4J6Be4mMkpXe2Dfqzrd7UVUaHha26G8m22zOgrEfuNQPZhzTMevhY0yWvpgVbwhf/KXFEeBLe+xz8TGnp3NONK41dZ5NhruFmFU7yr2oQLG85Tp85H9Gwptsq6Um523RA7MyQbxz1LxNRsVXTD97c9cdHeuK3jbftc6Gqp2m8MLUSzps4MAslt/ForNLCo49ei3PclMYyPmBoSnYXhk/dN7CA3vPhzkbez7X+r4fkwQc8IEJUZs2ntTJyJmPWyq1pK69kPiyTvpmkINPoOyMkGYt0fRCB4Qh0EB7X4Uf8a0NNvVcLdnUvT+v+PC3+0frrhjtz/k2qJTIrF8FsznlKnvUUjd+FwkteOUR0xTHSiqheuAihH2wHvDJErjCuRMtTMwUKRhzKNN55mNdNNSdyAoSWCO+v89e69ojd4IW8+FNRsYxU7ErlYPRSazb4PAwPNw7MoohIMnsAfJFgMJAQqDE1uWQp0SNHqgfpa9PS3pNVBRT0mPTuEEvDlOc94QzKV2b+nUNb4FZeOnFSaW+01rA70IRI8kWkQgjugOLM4RwHie0aKjBw85MASE3cRT33tWM8Mu/eAmPEFeQCekdj4pB0v6mBNi2p/iKo= 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)(346002)(396003)(136003)(376002)(39850400004)(5660300002)(316002)(956004)(66946007)(2616005)(16576012)(26005)(38100700002)(186003)(66476007)(66556008)(2906002)(36756003)(16526019)(86362001)(31686004)(6916009)(54906003)(83380400001)(31696002)(4326008)(478600001)(6486002)(8936002)(8676002)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?VlRiQUtJRU1zZWN3eEozQW5lNVhvUUdod0EwZnhBSnpQRGIzTURBdnJHUEJP?= =?utf-8?B?MkUycTVNdzZoL1lZODlnRlhYcytqOFlsSFl4dzdaMUtzYnFDT0t0a2IyUUU5?= =?utf-8?B?N0RoY2d6eFRiV3ZRZ01mTzRlb2oybytGZTJ6bm9rRHp2a2h3MXJ6VXk2RTNK?= =?utf-8?B?SjhneW1CcmRkU2o5L3hIbTQrSXpVMFhiekdMVkNyaUh1Rnp1cDJ6aXJ5Zkxo?= =?utf-8?B?aXlwSnZ6NXpFS0VaVFR3Q010cG9WQ3N4Sy9wUU5oT1d4Rkl5NnRma0Z6d0xz?= =?utf-8?B?SkNpWXNPdkc3Wml6WHJOa09NcGpNS0xvSlpiczlxa0RGMUVlZzNYNVRZRzRE?= =?utf-8?B?SFRVeFBkME5aRmpHYUo1L0NPNFVQLzU3cGxpUnZGWEd4eFhFd0ZXUG9JV3dw?= =?utf-8?B?aUR5VkpFa2V1cDF5WDh4amZsMW5hWHBpUFRiblhWZmtMMDQ3aWIrR0xPMUhj?= =?utf-8?B?aUlSczZoTXJaZmRxdUJreThCVHRndnZIRU9wTFh5WXRVZ3R6Y1k3V3VTa0Ra?= =?utf-8?B?OHZDcGJHUnpLc0x2Qzh4YlMzd3M4OTBURGE0eTBua2FGTEtaTmQ4MVUyZDBj?= =?utf-8?B?cWd0S1B0YktiNE1OaW1uVy9FbUp3L0crUGJ2SWhMcTh1aUVNaXFUaUNNUGtJ?= =?utf-8?B?WHZNTG9VVWVKMGNKNmNlWTV3VTVNTGZGcU1GYTN2Sm1udjhCZ1M5Y201d1I2?= =?utf-8?B?ckN3MzlhRGxFYWtVUFVZV1kyU0p1WTdCMk9id1RBVVlZRUppWEY5M243R09r?= =?utf-8?B?OERWbktNY1R5VGE2U201b1NNYWVzalNvbVNFS2gzTU54RUNOakFIV0poN29I?= =?utf-8?B?V2RwUlVMUjZUMjV5RTNwMW1vQWRPYm5YaDdEQUlMei8wYXRtRVlWR2c4UlFz?= =?utf-8?B?SGdYZCsvQnVPb1p1d2pGWSt2QjJwV0lxWHJ1ZzRpWWpIclNYekttNGVkN0ND?= =?utf-8?B?MzhJNHZDYmhVN2VEeVFZaUswQWZ0ZUZzaVJYcVUxcC91dGZmY25hc0IxN0Nz?= =?utf-8?B?MWpSODIrV3czZ1pTMGt4bHR3SVpnTHhPa1p0Vkd0ZzZ4Um1YSTRvdVJvWVdM?= =?utf-8?B?NWhSUGd4b1k5TkNEWm90dHV6V1M0dnkxd0d5ZzZIQlZwOXQ1S3d3NnF1dEdH?= =?utf-8?B?ZjNCbGRGdFNkQUFXcFdjSUVFeEJjYkJNU0ZwUWQxQTF2Vm10anZoU2tGTHlZ?= =?utf-8?B?TVZhMVczT0tMMUJQcmh0a2VyQ3RpR2ZaSlRqZ2VjVytsUElDSVZ6QTRRWnE0?= =?utf-8?B?UW9kaVVqTHZWUXhNc2d6ME1aWXpkSmsrdjA1Sm5NU0l1VEdZUCtleVBIYmc3?= =?utf-8?B?bGV5T2lidE50TCtGMGgrYU03QURXQzhhQlZTN1R2eDFPN29kdHFseU5FVWpK?= =?utf-8?B?RWl3cnA2c1MxY1YweGdqdFNzUDBsY3ZrWWRhZTUrSGl4a0c3dVZQUTEzTW04?= =?utf-8?B?MC8wZnJxN0VFR3lHb1BTQUJRTzVlVkxiNFc2eGhFZE5GbkJ4NmFON1Jzc0N0?= =?utf-8?B?bVBJM3FzaDlGRWdqa0E4MG01UDB1d0hmOEtLd2ZVSkdxQXJKRWh1KzljUnZw?= =?utf-8?B?Wmg1MlhqdXVrZFNFcG9HWXZJMXNxOTM1NEsyeCtxa0ZOY2x3dTFFNTZ6Ri9l?= =?utf-8?B?UUk4R205U1Fodmx4c0NEU0xiUGE4dGVjY3VMVklWdmxYSnlQUjZOWllyUGlz?= =?utf-8?B?ZTFYblh5Q0xOUHB0Q1krNUt1T2VFSmlwM1F5aTliRTVwRlhTUVlHOXVPMUtu?= =?utf-8?Q?GdIHjxmayNle13MC8n6h56dNMoIjEJ17RSpvbTS?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 53500c0f-4bd4-42f0-be2c-08d93fcf3932 X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jul 2021 16:09:10.1142 (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: VUdBhF/qJ8KGxQAldHRc1AQAGsaHcCs+0Qtz/B7Y5mSXOX7AGDiKe6FOgcw2TGgLQtTtBvggov9l/WEcaCRISA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB3293 X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1625501380463100003 Content-Type: text/plain; charset="utf-8" This also includes the two p2m related fields. Signed-off-by: Jan Beulich Reviewed-by: George Dunlap Reviewed-by: Kevin Tian --- a/xen/arch/x86/mm/p2m.c +++ b/xen/arch/x86/mm/p2m.c @@ -94,7 +94,9 @@ static int p2m_initialise(struct domain int ret =3D 0; =20 mm_rwlock_init(&p2m->lock); +#ifdef CONFIG_HVM INIT_PAGE_LIST_HEAD(&p2m->pages); +#endif =20 p2m->domain =3D d; p2m->default_access =3D p2m_access_rwx; @@ -628,6 +630,7 @@ struct page_info *p2m_get_page_from_gfn( } =20 #ifdef CONFIG_HVM + /* Returns: 0 for success, -errno for failure */ 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) @@ -667,7 +670,6 @@ int p2m_set_entry(struct p2m_domain *p2m =20 return rc; } -#endif =20 mfn_t p2m_alloc_ptp(struct p2m_domain *p2m, unsigned int level) { @@ -746,6 +748,8 @@ int p2m_alloc_table(struct p2m_domain *p return 0; } =20 +#endif /* CONFIG_HVM */ + /* * hvm fixme: when adding support for pvh non-hardware domains, this path = must * cleanup any foreign p2m types (release refcnts on them). @@ -754,7 +758,9 @@ void p2m_teardown(struct p2m_domain *p2m /* Return all the p2m pages to Xen. * We know we don't have any extra mappings to these pages */ { +#ifdef CONFIG_HVM struct page_info *pg; +#endif struct domain *d; =20 if (p2m =3D=3D NULL) @@ -763,11 +769,16 @@ void p2m_teardown(struct p2m_domain *p2m d =3D p2m->domain; =20 p2m_lock(p2m); + ASSERT(atomic_read(&d->shr_pages) =3D=3D 0); + +#ifdef CONFIG_HVM p2m->phys_table =3D pagetable_null(); =20 while ( (pg =3D page_list_remove_head(&p2m->pages)) ) d->arch.paging.free_page(d, pg); +#endif + p2m_unlock(p2m); } =20 --- a/xen/arch/x86/mm/shadow/common.c +++ b/xen/arch/x86/mm/shadow/common.c @@ -2700,8 +2700,10 @@ int shadow_enable(struct domain *d, u32 out_locked: paging_unlock(d); out_unlocked: +#ifdef CONFIG_HVM if ( rv !=3D 0 && !pagetable_is_null(p2m_get_pagetable(p2m)) ) p2m_teardown(p2m); +#endif if ( rv !=3D 0 && pg !=3D NULL ) { pg->count_info &=3D ~PGC_count_mask; --- a/xen/drivers/passthrough/vtd/iommu.c +++ b/xen/drivers/passthrough/vtd/iommu.c @@ -339,12 +339,14 @@ static uint64_t domain_pgd_maddr(struct =20 ASSERT(spin_is_locked(&hd->arch.mapping_lock)); =20 +#ifdef CONFIG_HVM if ( iommu_use_hap_pt(d) ) { pagetable_t pgt =3D p2m_get_pagetable(p2m_get_hostp2m(d)); =20 return pagetable_get_paddr(pgt); } +#endif =20 if ( !hd->arch.vtd.pgd_maddr ) { --- a/xen/include/asm-x86/p2m.h +++ b/xen/include/asm-x86/p2m.h @@ -202,9 +202,6 @@ struct p2m_domain { /* Lock that protects updates to the p2m */ mm_rwlock_t lock; =20 - /* Shadow translated domain: p2m mapping */ - pagetable_t phys_table; - /* * Same as a domain's dirty_cpumask but limited to * this p2m and those physical cpus whose vcpu's are in @@ -223,9 +220,6 @@ struct p2m_domain { */ p2m_access_t default_access; =20 - /* Pages used to construct the p2m */ - struct page_list_head pages; - /* Host p2m: Log-dirty ranges registered for the domain. */ struct rangeset *logdirty_ranges; =20 @@ -233,6 +227,12 @@ struct p2m_domain { bool global_logdirty; =20 #ifdef CONFIG_HVM + /* Translated domain: p2m mapping */ + pagetable_t phys_table; + + /* Pages used to construct the p2m */ + struct page_list_head pages; + /* Alternate p2m: count of vcpu's currently using this p2m. */ atomic_t active_vcpus; =20 From nobody Thu May 2 07:08:03 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=1625501392; cv=pass; d=zohomail.com; s=zohoarc; b=iEk0yIFW1IhI55RBmbhcz+W8xz3tRoiztnSa96S4mN4chN0axU9M9NyMFibQqsiNm+7Nnh9gg1EBH30ZEp1tN8tjuaLtekOirqwXuZKh5SAoQP8pKKD7KO26Fwl3kVkg7xLNfhS/LdRlqkeKfex62vkfUXd3OsZJaRYWE4RFw3c= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1625501392; 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=y519G2kPDVMzATqyC7RjCSlK3dqw0cUbYWZl2eMBtQs=; b=HCbaJEVM2L/Ym9k8vLBki0oMPq3ueLImF8gX5rf7NjidhpL565b/RbpIN6ojORlJl/4bCVfmHRujAzBlnN2ziZ7zjj8cCHe9OZ/dwXdOzlyhVxwBICl3RxLuXAXzp/w+2i+RhxlmJCmu+s7g0Io1ohDHXFL8pswSJqRb9MH98EE= 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 1625501392711179.28506941485603; Mon, 5 Jul 2021 09:09:52 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.150472.278213 (Exim 4.92) (envelope-from ) id 1m0RAB-0006J6-Tm; Mon, 05 Jul 2021 16:09:39 +0000 Received: by outflank-mailman (output) from mailman id 150472.278213; Mon, 05 Jul 2021 16:09:39 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1m0RAB-0006Iz-Qm; Mon, 05 Jul 2021 16:09:39 +0000 Received: by outflank-mailman (input) for mailman id 150472; Mon, 05 Jul 2021 16:09:38 +0000 Received: from us1-rack-iad1.inumbo.com ([172.99.69.81]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1m0RAA-0006Hc-G3 for xen-devel@lists.xenproject.org; Mon, 05 Jul 2021 16:09:38 +0000 Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS id 2648351e-e4d4-447b-9e30-6bbd54dd1573; Mon, 05 Jul 2021 16:09:37 +0000 (UTC) Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-vi1eur04lp2054.outbound.protection.outlook.com [104.47.14.54]) (Using TLS) by relay.mimecast.com with ESMTP id de-mta-27-PRlD6ZXqMw-ewHfLXKsgHg-1; Mon, 05 Jul 2021 18:09:35 +0200 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) by VI1PR04MB3293.eurprd04.prod.outlook.com (2603:10a6:802:11::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4287.32; Mon, 5 Jul 2021 16:09:35 +0000 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4287.033; Mon, 5 Jul 2021 16:09:35 +0000 Received: from [10.156.60.236] (37.24.206.209) by PR0P264CA0094.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:18::34) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4287.22 via Frontend Transport; Mon, 5 Jul 2021 16:09:34 +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: 2648351e-e4d4-447b-9e30-6bbd54dd1573 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1625501376; 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=y519G2kPDVMzATqyC7RjCSlK3dqw0cUbYWZl2eMBtQs=; b=KDpeV6GW/bMOoOD1k/8gR0VhncPpMA0wtT5ialf2U/LGh8ziTjxGKZ2DyQ/OfWWLEYAHKn BrQDYSixHbPYt/w3U+jq3rIsI1MrU181UMEk6XbXZzBna5Pc9VuFPTNZTxPAA43dgrw7Sk 8a+zQoUREfxVkwaLMvfXQ51EcqgB0rQ= X-MC-Unique: PRlD6ZXqMw-ewHfLXKsgHg-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=cJdjbEC5SB16phTMi/MrUCGzUiYVJd4uQX2zRH+NJtrdkLVxLUnHWAXh/8e2s69G1totuRJt2GmPJKworjtUyQgV1G+TkZPJkJcbXaCDwhrzS0kY4MAGoOYgQEnTf4YMczbRuPTQF6evL+bhMFmYIrmEw8VQgDIkAWFWOx/yLjMm9mbvCv5WT10IESKL+vkQVA9kcJfyCU2x368fjCCyloN6ALzQ3/RhTY9XTFoT6cKpNZR728a77K5Za5qrQsPDaNBd9gk8UUsqzX0Xf5DFbj+8BdhQcx0yvuPfFyKgciIAKpO9og0+Ve92BIW0qz24jHat/RpBlMXIL7Ez8OxWhw== 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-SenderADCheck; bh=y519G2kPDVMzATqyC7RjCSlK3dqw0cUbYWZl2eMBtQs=; b=R3r9ck0aSgjbU+5YnKfVp4jm+EBKwVav06ughNPFLddzzCjjXeEEnqCS+bHlcmyCUKLc3yxDll0SyrrOijxCOvdFv2qJS/ewPVZOcS13qs9djGFPFK41s4re75ZrRYtndpTDqI3x0+GfVJCicbGIhQ+fX1/LkABNB2Ujch85W5wmfPP+TzEMgb/Uy3Gk2BcZmB+TI6HlubhxaP+GwUmWP28HHztVXBxKuz+QSYazuknEAvZdKXr2eEvYC3hb6/AhUta2rsXo323nKPexpTHQaGeCvhrEnJjLl0OhG4iwFM+fUuiEGSJVyT4ddevpJyEPo0wSqUlM/uJfiAIhxaLtnQ== 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: citrix.com; dkim=none (message not signed) header.d=none;citrix.com; dmarc=none action=none header.from=suse.com; Subject: [PATCH 08/16] x86/P2M: PoD, altp2m, and nested-p2m are HVM-only From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Andrew Cooper , Wei Liu , =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= , George Dunlap References: Message-ID: <694a6590-0018-223a-c796-3e1469ec354a@suse.com> Date: Mon, 5 Jul 2021 18:09:33 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 In-Reply-To: Content-Language: en-US Content-Transfer-Encoding: quoted-printable X-Originating-IP: [37.24.206.209] X-ClientProxiedBy: PR0P264CA0094.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:18::34) To VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: e302bb8e-d98c-4ade-d562-08d93fcf47fb X-MS-TrafficTypeDiagnostic: VI1PR04MB3293: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:2582; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 8ydcXRPs2clSuuB5QbUaMYADcAxwhQv9YM0i9FIHTVyVPenHCNJtbMH5x07YXfos5mu0S/nm9j39D3MbmeTuE8+jtxJUboTQIreFoGFzJbpA4PqKLQ5vXhCe71enCsydtk9ptQ1rfa8xWBdWFeR9gQ9d5TmzC16AA4qn6OTxQ0hfNQZd+QOgMbAmMukqzuXLINgCJTkph0ATtFpF++CgYY5VQNzbRKp/zDbbToM9LxT6HGrGXlmFY8YIvmPp8/lji8qWsnN+r8hCJYeCsgubeJ/8xS7Cs7HTzNl7/r6v90njsWaC3yRSF/v8uKHyo8CjHWrKYETiz1le4ybWT5rtVTMUeUqiOEtXRK4LHxQuE8M764Er6mrYoaw7lPhSdPzgY1rSzU6Iuj5XsaV6jcXlLtNKfowUmsyP8e08ZqSSUZECpOOp9iZfu9jgqK2/SeGwn6enqSTWnT99XgNWML2faktxGrOyWm/ljxtJM18u9IX4gtS3GvoUpGFa2NjWbZT2ucCxpwL1s2iOWeU9weUcEHVOsBd9/q423dsUmiz735kbeTEBRH6zIBCKy+NrZbTi5Mxzg32qx2v0BVQ+yeZ5V1syDbBBJ1WJZ+39pijxhFgh8EUh0ufYT71Z4f+mOZiqmULScnyEzfel3ZAsheIo4vClJqPMCuriDtfQVWQzbx1deF0BPHAkFZZW+ApjH5mz3h1oQ/4gT2xnPvr0jF8J4zrpIeygEsEiQpz9JUAGMd4= 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)(346002)(396003)(136003)(376002)(39850400004)(5660300002)(316002)(956004)(66946007)(2616005)(16576012)(26005)(38100700002)(186003)(66476007)(66556008)(2906002)(36756003)(16526019)(86362001)(31686004)(6916009)(54906003)(83380400001)(31696002)(4326008)(478600001)(6486002)(8936002)(8676002)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?WUhqcFRXRnNlQWxGRW9WUTQxVm0ya09qUS9HUVRId0VmSHF2OFFlSGNSVEkz?= =?utf-8?B?dVVDV1FTTGw4bWtCSFdxWTZQWHhnTG51NE56L29aK2tVOGthNk1nLzVzZUNH?= =?utf-8?B?RktSMmpNVFkrY25WTnBRdUFHZU1WaE4ydGkwYzRuVUpzWFNCem9yWmw5S2Ns?= =?utf-8?B?N2hLNkhDT0F2V0VtV20xdWdXY2pIRzdEek8vSnI1TEg0djlvWEZRVGFtRlpy?= =?utf-8?B?N3ZKc29nY1h5eS84RTVxNGJCUDFJMm9GR3c3UEovOFFxcDVxLy91YlhUOFNH?= =?utf-8?B?Ny80NUR6cmh0ajF3dWVyU25TV1BITlpNU2NYcWlYenpNVzkreHd5N3hudGxw?= =?utf-8?B?cS9USVUwRDFnZzNGRzZwME94VTV1OHFhelNVaTJMbjRZTkp2cENSbDNNcGl5?= =?utf-8?B?dUZaOHhHQlEzellPL1A3ZHFmOFBMd2FJd0lTdndTZDd6Vk5reFl2emRseXVC?= =?utf-8?B?S0E5RngyKzBYRXlWcks3U0FKNThjUmVld3Bpd0U1U2VLVHNac1BGQmpsaEFI?= =?utf-8?B?T0ljcXAyYURVTStKZUM2QS9aUFdVV0NCcTFZWk40Yy95V2NEMkYvbWNWWjNy?= =?utf-8?B?ZzJ0bWhMQ05PK2l6L1EzcDd3U1p3bnBvMklqTmFHYTViMTlZaWVmZlhqWE5t?= =?utf-8?B?aFpLem9UTDhLSVRpZnpseEpSbWlxbktlY3lsMjlqTzlYMmhobzY0dXlJT0hC?= =?utf-8?B?MG1kbi9sbXRwK0ZOb0ZZdGxXOXFKdE0xeE9RUjJuRndOUUhwWisrYjZ3T2pX?= =?utf-8?B?b1R5d0J2Szd0TjhOTGdLeEV4QndFM01jZkoyUEZQNU9xRDBzelREdE1KcmM0?= =?utf-8?B?Q2d4YVVLQUcwNnl1M1dRSmZVRm0xTExxbEcrQkdsTmFPZEZkSlJTWTRRT3BY?= =?utf-8?B?d3JWdXB1clZoQmsrM2lCb1pMUDlpa0Fka0R0ekkvbjZ1a25VY0IxVkpEZEoz?= =?utf-8?B?YWRybGJsSE9aMlZTYTJ5L28xVm5RcHJqcFQ0M0pQeFFpbG1Kb001NzBoSW9G?= =?utf-8?B?ZHYrSjZBbExGL0xQZTFsZUNCK05KekFDcDNjQjIzcnFpQ2k5ZGl2dC91Y1Z3?= =?utf-8?B?K0dPVy9VYjRHc1ZqZnpBZjJVdDJ3SWs0RVJrZ1MyWDQ0SVBwR0IySGZQRURF?= =?utf-8?B?NEdUZVFJMHB5TGwwVmhYNmlBRjRJRlN2ZjFZQ1hIQ1o2bmZjMWdkR0ZVdzR4?= =?utf-8?B?Y1Y0L1VHLzdycnhEWnArRzdMTkFnVEsxdlZXb1p3N0tobEMvbzVWMytmakVR?= =?utf-8?B?MXlsUWlRelFVK2s2ODlLQU53TUR2VDRNQWJRM1VqbmZ3ZHRrNGdlWWRqTUx1?= =?utf-8?B?OWRYRXN1WXJKRkJ5b1Uva2FwL2FMeW1CWExZWGg4d3Z4eUU3bXV0c2p4d1ow?= =?utf-8?B?Unh6dHFaZTZ2bTJkRHRDWk5pNGtrZ0luQmQrVVV6bVNQTnNSNk1FNFdsTGow?= =?utf-8?B?dzZMalowV0xrUUNTb1ZNZ0RsaGxWbU5HdjM3UkJONDlOeVkrQS9oZTZudk5x?= =?utf-8?B?bGJrR0FpcHVxQ0lhNEIrSGFFdy9aejVmek9kTUI2blEwVEdQNkdTeXBJaUw0?= =?utf-8?B?azAxL3E4NmU5dS9RbHd5QXBFR2VXV2RYQS9vK1puRllBUGg2elRxUWtkTnhW?= =?utf-8?B?NWJkQWRvcHZwM2tzWE1lTFR5cmxsbUpzR1BvOUNrSEg5Y2d3TlNRT2FVaWZG?= =?utf-8?B?OW4zOWZnVmozanIrem42dlY5UFMwWUJyNCs1cTRvclhuMHFDL3EwQ3BMSjNZ?= =?utf-8?Q?gdT5tag+LJ6pNxD+9SXX0dHnbPMrsMAvkW0p+at?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: e302bb8e-d98c-4ade-d562-08d93fcf47fb X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jul 2021 16:09:34.9151 (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: dXDI9Ms6SN1FjMQOc+eRrKRqZ0fZwWW/D69fSFEukTyyNdS8eV8CGQf8Srbk00XFOzkqXL/MhcWNvTttUJ3nqg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB3293 X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1625501397973100001 Content-Type: text/plain; charset="utf-8" There's no need to initialize respective data for PV domains. Note that p2m_teardown_{alt,nested}p2m() will handle the lack-of-initialization case fine. Signed-off-by: Jan Beulich Reviewed-by: George Dunlap --- a/xen/arch/x86/mm/p2m.c +++ b/xen/arch/x86/mm/p2m.c @@ -102,6 +102,9 @@ static int p2m_initialise(struct domain p2m->default_access =3D p2m_access_rwx; p2m->p2m_class =3D p2m_host; =20 + if ( !is_hvm_domain(d) ) + return 0; + p2m_pod_init(p2m); p2m_nestedp2m_init(p2m); =20 @@ -259,7 +262,7 @@ int p2m_init(struct domain *d) int rc; =20 rc =3D p2m_init_hostp2m(d); - if ( rc ) + if ( rc || !is_hvm_domain(d) ) return rc; =20 #ifdef CONFIG_HVM --- a/xen/arch/x86/mm/p2m.h +++ b/xen/arch/x86/mm/p2m.h @@ -17,6 +17,8 @@ =20 #include =20 +void p2m_pod_init(struct p2m_domain *p2m); + int p2m_add_identity_entry(struct domain *d, unsigned long gfn, p2m_access_t p2ma, unsigned int flag); int p2m_remove_identity_entry(struct domain *d, unsigned long gfn); --- a/xen/arch/x86/mm/p2m-pod.c +++ b/xen/arch/x86/mm/p2m-pod.c @@ -1135,6 +1135,12 @@ p2m_pod_demand_populate(struct p2m_domai mfn_t mfn; unsigned long i; =20 + if ( !p2m_is_hostp2m(p2m) ) + { + ASSERT_UNREACHABLE(); + return false; + } + ASSERT(gfn_locked_by_me(p2m, gfn)); pod_lock(p2m); =20 --- a/xen/include/asm-x86/p2m.h +++ b/xen/include/asm-x86/p2m.h @@ -679,8 +679,6 @@ static inline long p2m_pod_entry_count(c return p2m->pod.entry_count; } =20 -void p2m_pod_init(struct p2m_domain *p2m); - #else =20 static inline bool @@ -709,8 +707,6 @@ static inline long p2m_pod_entry_count(c return 0; } =20 -static inline void p2m_pod_init(struct p2m_domain *p2m) {} - #endif =20 =20 From nobody Thu May 2 07:08:03 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=1625501453; cv=pass; d=zohomail.com; s=zohoarc; b=dHDFjNDga3FqNM2ubiCIpZ3YaHrLimMjU4/gN06e5UvgKhjj6544YoDZjr46XRCBWNsURNl4eWWi2+2MyekSi2hlZ9AZi20M2qQcMB+HlV0sND/gdjYNo3+5aACVRbz1IwO0mXcXXvKSDQ4weGGemFFlwzpSupX2NCh05HrANTI= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1625501453; 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=KPGxH8re/zFguGwgrpavyMsiFmWQkEU9gtkRkREhVRQ=; b=br/lTXDGVWFL4WT2cBOdzoAghUypy8+bFbdGpOm/dge9dpfjK2eFsoCxty0u12Xn4DhL4w3+U3lzibKfeHub1zqDBN49lQ7LOevSKup0aI19OU5LgX85QpWPWB7SB9x1OucT806eXiwKPpmLXGSdmuNFB+8XvClv7yBxfAD1ZR8= 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 1625501453009362.863220571448; Mon, 5 Jul 2021 09:10:53 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.150480.278224 (Exim 4.92) (envelope-from ) id 1m0RB1-0007h2-7Z; Mon, 05 Jul 2021 16:10:31 +0000 Received: by outflank-mailman (output) from mailman id 150480.278224; Mon, 05 Jul 2021 16:10:31 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1m0RB1-0007gv-4b; Mon, 05 Jul 2021 16:10:31 +0000 Received: by outflank-mailman (input) for mailman id 150480; Mon, 05 Jul 2021 16:10:30 +0000 Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1m0RAz-0007gl-UP for xen-devel@lists.xenproject.org; Mon, 05 Jul 2021 16:10:29 +0000 Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id 82e5c6c8-ddab-11eb-844d-12813bfff9fa; Mon, 05 Jul 2021 16:10:27 +0000 (UTC) Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-vi1eur04lp2055.outbound.protection.outlook.com [104.47.14.55]) (Using TLS) by relay.mimecast.com with ESMTP id de-mta-6-qB3jOu3wNkaUmLvdoDMhpg-1; Mon, 05 Jul 2021 18:10:25 +0200 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) by VI1PR04MB3293.eurprd04.prod.outlook.com (2603:10a6:802:11::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4287.32; Mon, 5 Jul 2021 16:10:24 +0000 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4287.033; Mon, 5 Jul 2021 16:10:24 +0000 Received: from [10.156.60.236] (37.24.206.209) by PR3P195CA0017.EURP195.PROD.OUTLOOK.COM (2603:10a6:102:b6::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4287.22 via Frontend Transport; Mon, 5 Jul 2021 16:10:24 +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: 82e5c6c8-ddab-11eb-844d-12813bfff9fa DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1625501426; 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=KPGxH8re/zFguGwgrpavyMsiFmWQkEU9gtkRkREhVRQ=; b=ikAXLgycNis9EO7JiaGHmHciJVG61PL7m8sT6ypFdxjSFFUBV7U8gG3z5q3/c6t1GPZqZT 5NIzl9HAFRs/RTQPyVs29UqL8eU78l1XELWyek1diPHSWPLEgwE89SHIgw0q3NQnB52VR8 pybcY3f/9XsElZIY6v+qaKPu/xdRGV0= X-MC-Unique: qB3jOu3wNkaUmLvdoDMhpg-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=L/nR9zIhBNr7cyvBTdwDGgg4Cmnwf9DVCEFe2xh/5rBtZgMkJc/s3oWA6LV9sxCqgM2Uwe6gjfeYdP1uRiT8YuBbvk0yBjVuzqreRB9jUOeor+2icyrADpKcThKxcDm48k4dPyPhHEoj5utvL2VGSdfgT22mxYsguQLUoRfkaRrmMRpjvos4tap1y7Hc7qXr4mgOGL1oGCYVN51B+32YCH41SmtSRN73si5iD1PdIYFe81/P9yTgpaSF3xgC0MVsVhd9UxIQ+2vRJVdEpnmvtELnKFl51P0SOpK6QlamvC6LaJwH5bKnH5Q5gG/PIQsNzkUqAJAD541DH7bpnShY5Q== 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-SenderADCheck; bh=KPGxH8re/zFguGwgrpavyMsiFmWQkEU9gtkRkREhVRQ=; b=WO1Xd+wKOZMJtDQprdTOXuEb0wK4TwEHQBooRG0DSlhFiXCJxoEOozOX+BJ1nkMqNgRcxt35d5cJTI2QhHyRa9MkC/v5r6asfMPx68sRCox4TUrNYpFXH0eqcY27PpKgwU88d2A2FwWAAHPTdMj19pVy7BQ+EigiCGD8Po0JYy1PhVVW30AayOVjnzYZ2BesGe+ENBfEHMAPdMRlNKWzOhbwMVJ0Ibjr9ABfD5MMQz2P5h/YEmevrMO3dyJXABZA3sFrBI0payHATLpTvgpUGmbPF1zIbh/450vBUwHb3tHxpqoexyz4DgRGLOi2Cqvqudgi1HJLBFx8Hr3ZfJNKSQ== 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: citrix.com; dkim=none (message not signed) header.d=none;citrix.com; dmarc=none action=none header.from=suse.com; Subject: [PATCH 09/16] x86/P2M: split out init/teardown functions From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Andrew Cooper , Wei Liu , =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= , George Dunlap References: Message-ID: <01024f3c-22e9-cdf5-46b7-c9479c8937b1@suse.com> Date: Mon, 5 Jul 2021 18:10:22 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 In-Reply-To: Content-Language: en-US Content-Transfer-Encoding: quoted-printable X-Originating-IP: [37.24.206.209] X-ClientProxiedBy: PR3P195CA0017.EURP195.PROD.OUTLOOK.COM (2603:10a6:102:b6::22) To VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 1b1b2756-8e18-473f-5ac6-08d93fcf658a X-MS-TrafficTypeDiagnostic: VI1PR04MB3293: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:3383; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Qz0/5LYN+Dv7k2GCan7aUwwq/1iD8M22aSfjwPScg+BSDjIBZEMsGSfg11EdFhH/DnWBiJwfA3k2WrKtu233ldWvBX98xuNyZRKQ2FHVcJJt35fTRkj0ukI1ZtAZaJuNWIem1nEEEABIgPkGBI2E9wIvVhjvvesAboNnOhMknt5rOp6jDMs/KBqoXVRdqA+j/0nqKkaIbRis+tX3BxLNm67kmqhxJ9UtFVVeLlu79rVio14OZthnjrTs9ofKwRo+quLPmcPlx8mElYaF7kFhKWyA1YADXUC+7wJ8UOCJyC+JvnxJVg25R5AJvZueQSlVyz0W5t52rzG6VW0+xaKufCPKriAOOGBQhYAFcHCkRBdRk+noL+6aMnpjv66Wc2mOhLd1dkEsgq+QKdN6LNKzgLUQAXr8PL4rXFh1htlOzViXr2x4RN0mqbtPNqMVuHDiR88hpVZrR+QOBUJuu/uTKY+TaKNEW+j4Evma7fumf96n88OaqBfPWjtsvE2XNcOf7GMoxDHZrg5OUKHty2v4KDB+iB8P4MYB2mLwkhx5l96OVnfqazwap+mFWsuzSqNSBy8JZGcECIvgaj9cwP3kLU3m9WioxYLIFOU9t9+kSR0OjMBeYgphQH4tuwex4o5DktZbnmxKtSIGRm2K5blc1ifsmRcnsrrvGCdt5SDOc+IeOIjmIh5N/HWfPH5D9Xc9zISjnf3vC+x/tKboKsTNLeRqjhgANYTLDly/wxkNN106aIFAZ4EZgAtAIMrEfu3odz7Tj01/vukzHVb5VJJpzPNjP6bJoWMQtzIWPSl2DM3Pa/YVo79w0neWaaihkmb3ooB9H6n/pEhOK4LeyPEKPw== 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)(346002)(396003)(136003)(376002)(39850400004)(5660300002)(316002)(956004)(66946007)(2616005)(16576012)(26005)(38100700002)(186003)(66476007)(66556008)(2906002)(36756003)(16526019)(86362001)(31686004)(6916009)(54906003)(83380400001)(31696002)(4326008)(478600001)(6486002)(8936002)(8676002)(30864003)(2004002)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?NkU1Q2I5MXo4d0pzUDMydG9MWkRHYlV3LzUzbzVReHppallSUlRqVE1pVkdl?= =?utf-8?B?QjdEaWV4N280d1MyNzkzYkN3aU1xTFNzQmNtcm5aZ2MvKytFRzltaHphUWMv?= =?utf-8?B?MU1sMS93UFhSb1JoMW9iTThLSHE1eDB2UER3RlFlTXQ0R08weWZiQW9HWHZu?= =?utf-8?B?SU5YbUVieXVJS1hUSDJjdEdhUEFDQnVFaTZKWmQ0MEZKNWJHVlh4bkF0ck9E?= =?utf-8?B?TkFqQkQ0dmo3Vks0NVdBWjVURThUV3RFUjZ6c2xYWWs1YnowWlhjUTAvZ1FX?= =?utf-8?B?L1BXT0c0U1phZFJZR1ppS2ttczVWbFBNY1dMdlAxK0s1QkF2eVlZM1pIOHc2?= =?utf-8?B?a1NnTzIzS3ZwQ1IyQVE3blI5dFNPK25PdEpYcSsvb211KzBJNFhuSVpYSHJZ?= =?utf-8?B?Rmtqd2VjcUoxZnAwY1RTSU41TUdDSTlKenNGT2s2YWxGTEE0bHhJTzc1MUs0?= =?utf-8?B?MGhlWWc3MlcxTDgzN0RUZFhsRlc4NUdoblZ5V0tvNENNSmxQbldaamUvK09s?= =?utf-8?B?NWxjWU9CUzI3d2hSTlI5Y1JJOTM5K2RFTFBkY0RNcnhFcmhkNDdLbE9NeEhS?= =?utf-8?B?L0dRLzZZRk12SWtxeG16YVFsVEdLZU9KOXVneEpLODRHSG93cUljeGNkcHZV?= =?utf-8?B?cityYVo2TW8vd3RKbjZ5WjZCeEVFVU1lMGg4ejlYcU9abkxIb0hLdzJ3QnlL?= =?utf-8?B?TmVUa0s2cGdCT0tnMXY4cHNGcm9SRmIzMmxYZFNnSnhzRytxVFZVZTlER2Vy?= =?utf-8?B?T3NzODFxaThzWjZXL1JaMGpqRVRRZm1Ddlh5cExjWENsbmhudDlYSFQ3cXpM?= =?utf-8?B?VmVrWFExd0hPYytpMS9QdU0zS1Z1RnZ4TDExOVpSdmUzQVR6dFkxSU4yeUEr?= =?utf-8?B?TXhtK0srUFlPWXh3a1NKa1ppalB1aGdqUWxKVFd1SEdLTSsvd0Z5c3lLQ2g1?= =?utf-8?B?WFR1Q1NTeXFNcEVyZFYycGRzcERTaDZEdzUwbUNLemJucHRaaUNMdk94NzVR?= =?utf-8?B?L0o1Ty9XaXprV0ZxZlRXY1JSMzhPaVRzd3UrenRxUjl3NE5kdGs0SVpvYTR1?= =?utf-8?B?dCtlSGxERXBnekw2OUx1b3R0Smsrd214RUJUdlRnZkpJUEltQ2pZcUd3eWdH?= =?utf-8?B?cUVSTktad1dWTVEzMjFDZTNNb2VFeFBaT1BNUnBwMHdjV21lOStUcDROSk02?= =?utf-8?B?aWtoeUUzVThhRUI4SEYwK2JuQjFLR0ErV05OT2FuNHRXRWt0cENYbllUZUpC?= =?utf-8?B?cDZhNzlxbnZNRDZwanRjYW1qQko3NU94aWszSlljUVJGcHZZQUpQcDNzWFF5?= =?utf-8?B?OTgyRDFudHltQUg0N0k3Y0t0Y3F6SUd4anJyNzdqNUg1T3lnNi9NZFdscDRs?= =?utf-8?B?dFpGQS9UOHlBbUdMWEVpbGk1QUR0c3hWZHBhak5FTHpRU3IzNURYV2JxY1Vq?= =?utf-8?B?ZWVqelpQNityQXh5UEZzcWo1bjF0TDMybWY5cElXdy81NDA5ZFRnSTB1UFdi?= =?utf-8?B?L01DVkp4K3NxakRnNVlydVJGNUFva0IyR0xCRUhKREJzOENTQzZPWXIza2Ev?= =?utf-8?B?ZE4vUUY4MmlyTUwwaHJtV1RvNFRKL1RTUlpZVk9WOEF3dlNrZ2J2R21RaEJO?= =?utf-8?B?dSt6RDdNTkRXTjhkNTdhWTFudnpKblhpVDZPMVA4L0FZcnFxUjBRcnhHNnIz?= =?utf-8?B?cCt2L3R3b2ZUU2NvT2VOUjJ1bHdYcjBZY3plbC9sdHp6aEdlUGFpWlgvYkhP?= =?utf-8?Q?YBKIpsYzmU2Xpef2lPGVDgdqeONA2cG24NeRLG8?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1b1b2756-8e18-473f-5ac6-08d93fcf658a X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jul 2021 16:10:24.5131 (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: NP4fr2VZx0R4DfMwcSbnkM1mic/bNIyHfU6t01zBBn5S4U+18/pDbW9o+y/O3jTxkLXxe/3G667BWnmHRcN1aQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB3293 X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1625501459047100001 Content-Type: text/plain; charset="utf-8" Mostly just code movement, and certainly no functional change intended. In p2m_final_teardown() the calls to p2m_teardown_{alt,nested}p2m() need to be guarded by an is_hvm_domain() check now, though. This matches p2m_init(). And p2m_is_logdirty_range() also gets moved inside the (so far) adjacent #ifdef. Signed-off-by: Jan Beulich Reviewed-by: George Dunlap --- a/xen/arch/x86/mm/Makefile +++ b/xen/arch/x86/mm/Makefile @@ -7,7 +7,9 @@ obj-$(CONFIG_SHADOW_PAGING) +=3D guest_wal obj-$(CONFIG_MEM_ACCESS) +=3D mem_access.o obj-$(CONFIG_MEM_PAGING) +=3D mem_paging.o obj-$(CONFIG_MEM_SHARING) +=3D mem_sharing.o +obj-$(CONFIG_HVM) +=3D nested.o obj-y +=3D p2m.o +obj-y +=3D p2m-basic.o obj-$(CONFIG_HVM) +=3D p2m-ept.o p2m-pod.o p2m-pt.o obj-y +=3D paging.o obj-y +=3D physmap.o --- a/xen/arch/x86/mm/altp2m.c +++ b/xen/arch/x86/mm/altp2m.c @@ -19,6 +19,8 @@ #include #include #include +#include "mm-locks.h" +#include "p2m.h" =20 void altp2m_vcpu_initialise(struct vcpu *v) @@ -123,6 +125,44 @@ void altp2m_vcpu_disable_ve(struct vcpu } } =20 +int p2m_init_altp2m(struct domain *d) +{ + unsigned int i; + struct p2m_domain *p2m; + struct p2m_domain *hostp2m =3D p2m_get_hostp2m(d); + + mm_lock_init(&d->arch.altp2m_list_lock); + for ( i =3D 0; i < MAX_ALTP2M; i++ ) + { + d->arch.altp2m_p2m[i] =3D p2m =3D p2m_init_one(d); + if ( p2m =3D=3D NULL ) + { + p2m_teardown_altp2m(d); + return -ENOMEM; + } + p2m->p2m_class =3D p2m_alternate; + p2m->access_required =3D hostp2m->access_required; + _atomic_set(&p2m->active_vcpus, 0); + } + + return 0; +} + +void p2m_teardown_altp2m(struct domain *d) +{ + unsigned int i; + struct p2m_domain *p2m; + + for ( i =3D 0; i < MAX_ALTP2M; i++ ) + { + if ( !d->arch.altp2m_p2m[i] ) + continue; + p2m =3D d->arch.altp2m_p2m[i]; + d->arch.altp2m_p2m[i] =3D NULL; + p2m_free_one(p2m); + } +} + /* * Local variables: * mode: C --- a/xen/arch/x86/mm/mm-locks.h +++ b/xen/arch/x86/mm/mm-locks.h @@ -25,8 +25,6 @@ #ifndef _MM_LOCKS_H #define _MM_LOCKS_H =20 -#include - /* Per-CPU variable for enforcing the lock ordering */ DECLARE_PER_CPU(int, mm_lock_level); =20 --- /dev/null +++ b/xen/arch/x86/mm/nested.c @@ -0,0 +1,74 @@ +/*************************************************************************= ***** + * arch/x86/mm/nested.c + * + * Parts of this code are Copyright (c) 2009 by Citrix Systems, Inc. (Patr= ick Colp) + * Parts of this code are Copyright (c) 2007 by Advanced Micro Devices. + * Parts of this code are Copyright (c) 2006-2007 by XenSource Inc. + * Parts of this code are Copyright (c) 2006 by Michael A Fetterman + * Parts based on earlier work by Michael A Fetterman, Ian Pratt et al. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; If not, see . + */ + +#include +#include +#include "mm-locks.h" +#include "p2m.h" + +void p2m_nestedp2m_init(struct p2m_domain *p2m) +{ + INIT_LIST_HEAD(&p2m->np2m_list); + + p2m->np2m_base =3D P2M_BASE_EADDR; + p2m->np2m_generation =3D 0; +} + +int p2m_init_nestedp2m(struct domain *d) +{ + unsigned int i; + struct p2m_domain *p2m; + + mm_lock_init(&d->arch.nested_p2m_lock); + for ( i =3D 0; i < MAX_NESTEDP2M; i++ ) + { + d->arch.nested_p2m[i] =3D p2m =3D p2m_init_one(d); + if ( p2m =3D=3D NULL ) + { + p2m_teardown_nestedp2m(d); + return -ENOMEM; + } + p2m->p2m_class =3D p2m_nested; + p2m->write_p2m_entry_pre =3D NULL; + p2m->write_p2m_entry_post =3D nestedp2m_write_p2m_entry_post; + list_add(&p2m->np2m_list, &p2m_get_hostp2m(d)->np2m_list); + } + + return 0; +} + +void p2m_teardown_nestedp2m(struct domain *d) +{ + unsigned int i; + struct p2m_domain *p2m; + + for ( i =3D 0; i < MAX_NESTEDP2M; i++ ) + { + if ( !d->arch.nested_p2m[i] ) + continue; + p2m =3D d->arch.nested_p2m[i]; + list_del(&p2m->np2m_list); + p2m_free_one(p2m); + d->arch.nested_p2m[i] =3D NULL; + } +} --- a/xen/arch/x86/mm/p2m.c +++ b/xen/arch/x86/mm/p2m.c @@ -35,7 +35,6 @@ #include #include #include -#include /* ept_p2m_init() */ #include #include #include @@ -56,17 +55,9 @@ boolean_param("hap_2mb", opt_hap_2mb); =20 DEFINE_PERCPU_RWLOCK_GLOBAL(p2m_percpu_rwlock); =20 -static void p2m_nestedp2m_init(struct p2m_domain *p2m) -{ #ifdef CONFIG_HVM - INIT_LIST_HEAD(&p2m->np2m_list); =20 - p2m->np2m_base =3D P2M_BASE_EADDR; - p2m->np2m_generation =3D 0; -#endif -} - -static int p2m_init_logdirty(struct p2m_domain *p2m) +int p2m_init_logdirty(struct p2m_domain *p2m) { if ( p2m->logdirty_ranges ) return 0; @@ -79,7 +70,7 @@ static int p2m_init_logdirty(struct p2m_ return 0; } =20 -static void p2m_free_logdirty(struct p2m_domain *p2m) +void p2m_free_logdirty(struct p2m_domain *p2m) { if ( !p2m->logdirty_ranges ) return; @@ -88,205 +79,6 @@ static void p2m_free_logdirty(struct p2m p2m->logdirty_ranges =3D NULL; } =20 -/* Init the datastructures for later use by the p2m code */ -static int p2m_initialise(struct domain *d, struct p2m_domain *p2m) -{ - int ret =3D 0; - - mm_rwlock_init(&p2m->lock); -#ifdef CONFIG_HVM - INIT_PAGE_LIST_HEAD(&p2m->pages); -#endif - - p2m->domain =3D d; - p2m->default_access =3D p2m_access_rwx; - p2m->p2m_class =3D p2m_host; - - if ( !is_hvm_domain(d) ) - return 0; - - p2m_pod_init(p2m); - p2m_nestedp2m_init(p2m); - - if ( hap_enabled(d) && cpu_has_vmx ) - ret =3D ept_p2m_init(p2m); - else - p2m_pt_init(p2m); - - spin_lock_init(&p2m->ioreq.lock); - - return ret; -} - -static struct p2m_domain *p2m_init_one(struct domain *d) -{ - struct p2m_domain *p2m =3D xzalloc(struct p2m_domain); - - if ( !p2m ) - return NULL; - - if ( !zalloc_cpumask_var(&p2m->dirty_cpumask) ) - goto free_p2m; - - if ( p2m_initialise(d, p2m) ) - goto free_cpumask; - return p2m; - -free_cpumask: - free_cpumask_var(p2m->dirty_cpumask); -free_p2m: - xfree(p2m); - return NULL; -} - -static void p2m_free_one(struct p2m_domain *p2m) -{ - p2m_free_logdirty(p2m); - if ( hap_enabled(p2m->domain) && cpu_has_vmx ) - ept_p2m_uninit(p2m); - free_cpumask_var(p2m->dirty_cpumask); - xfree(p2m); -} - -static int p2m_init_hostp2m(struct domain *d) -{ - struct p2m_domain *p2m =3D p2m_init_one(d); - int rc; - - if ( !p2m ) - return -ENOMEM; - - rc =3D p2m_init_logdirty(p2m); - - if ( !rc ) - d->arch.p2m =3D p2m; - else - p2m_free_one(p2m); - - return rc; -} - -static void p2m_teardown_hostp2m(struct domain *d) -{ - /* Iterate over all p2m tables per domain */ - struct p2m_domain *p2m =3D p2m_get_hostp2m(d); - - if ( p2m ) - { - p2m_free_one(p2m); - d->arch.p2m =3D NULL; - } -} - -#ifdef CONFIG_HVM -static void p2m_teardown_nestedp2m(struct domain *d) -{ - unsigned int i; - struct p2m_domain *p2m; - - for ( i =3D 0; i < MAX_NESTEDP2M; i++ ) - { - if ( !d->arch.nested_p2m[i] ) - continue; - p2m =3D d->arch.nested_p2m[i]; - list_del(&p2m->np2m_list); - p2m_free_one(p2m); - d->arch.nested_p2m[i] =3D NULL; - } -} - -static int p2m_init_nestedp2m(struct domain *d) -{ - unsigned int i; - struct p2m_domain *p2m; - - mm_lock_init(&d->arch.nested_p2m_lock); - for ( i =3D 0; i < MAX_NESTEDP2M; i++ ) - { - d->arch.nested_p2m[i] =3D p2m =3D p2m_init_one(d); - if ( p2m =3D=3D NULL ) - { - p2m_teardown_nestedp2m(d); - return -ENOMEM; - } - p2m->p2m_class =3D p2m_nested; - p2m->write_p2m_entry_pre =3D NULL; - p2m->write_p2m_entry_post =3D nestedp2m_write_p2m_entry_post; - list_add(&p2m->np2m_list, &p2m_get_hostp2m(d)->np2m_list); - } - - return 0; -} - -static void p2m_teardown_altp2m(struct domain *d) -{ - unsigned int i; - struct p2m_domain *p2m; - - for ( i =3D 0; i < MAX_ALTP2M; i++ ) - { - if ( !d->arch.altp2m_p2m[i] ) - continue; - p2m =3D d->arch.altp2m_p2m[i]; - d->arch.altp2m_p2m[i] =3D NULL; - p2m_free_one(p2m); - } -} - -static int p2m_init_altp2m(struct domain *d) -{ - unsigned int i; - struct p2m_domain *p2m; - struct p2m_domain *hostp2m =3D p2m_get_hostp2m(d); - - mm_lock_init(&d->arch.altp2m_list_lock); - for ( i =3D 0; i < MAX_ALTP2M; i++ ) - { - d->arch.altp2m_p2m[i] =3D p2m =3D p2m_init_one(d); - if ( p2m =3D=3D NULL ) - { - p2m_teardown_altp2m(d); - return -ENOMEM; - } - p2m->p2m_class =3D p2m_alternate; - p2m->access_required =3D hostp2m->access_required; - _atomic_set(&p2m->active_vcpus, 0); - } - - return 0; -} -#endif - -int p2m_init(struct domain *d) -{ - int rc; - - rc =3D p2m_init_hostp2m(d); - if ( rc || !is_hvm_domain(d) ) - return rc; - -#ifdef CONFIG_HVM - /* Must initialise nestedp2m unconditionally - * since nestedhvm_enabled(d) returns false here. - * (p2m_init runs too early for HVM_PARAM_* options) */ - rc =3D p2m_init_nestedp2m(d); - if ( rc ) - { - p2m_teardown_hostp2m(d); - return rc; - } - - rc =3D p2m_init_altp2m(d); - if ( rc ) - { - p2m_teardown_hostp2m(d); - p2m_teardown_nestedp2m(d); - } -#endif - - return rc; -} - int p2m_is_logdirty_range(struct p2m_domain *p2m, unsigned long start, unsigned long end) { @@ -298,8 +90,6 @@ int p2m_is_logdirty_range(struct p2m_dom return 0; } =20 -#ifdef CONFIG_HVM - static void change_entry_type_global(struct p2m_domain *p2m, p2m_type_t ot, p2m_type_t nt) { @@ -751,57 +541,6 @@ int p2m_alloc_table(struct p2m_domain *p return 0; } =20 -#endif /* CONFIG_HVM */ - -/* - * hvm fixme: when adding support for pvh non-hardware domains, this path = must - * cleanup any foreign p2m types (release refcnts on them). - */ -void p2m_teardown(struct p2m_domain *p2m) -/* Return all the p2m pages to Xen. - * We know we don't have any extra mappings to these pages */ -{ -#ifdef CONFIG_HVM - struct page_info *pg; -#endif - struct domain *d; - - if (p2m =3D=3D NULL) - return; - - d =3D p2m->domain; - - p2m_lock(p2m); - - ASSERT(atomic_read(&d->shr_pages) =3D=3D 0); - -#ifdef CONFIG_HVM - p2m->phys_table =3D pagetable_null(); - - while ( (pg =3D page_list_remove_head(&p2m->pages)) ) - d->arch.paging.free_page(d, pg); -#endif - - p2m_unlock(p2m); -} - -void p2m_final_teardown(struct domain *d) -{ -#ifdef CONFIG_HVM - /* - * We must teardown both of them unconditionally because - * we initialise them unconditionally. - */ - p2m_teardown_altp2m(d); - p2m_teardown_nestedp2m(d); -#endif - - /* Iterate over all p2m tables per domain */ - p2m_teardown_hostp2m(d); -} - -#ifdef CONFIG_HVM - static int __must_check p2m_remove_entry(struct p2m_domain *p2m, gfn_t gfn, mfn_t mfn, unsigned int page_order) --- a/xen/arch/x86/mm/p2m.h +++ b/xen/arch/x86/mm/p2m.h @@ -17,12 +17,34 @@ =20 #include =20 +struct p2m_domain *p2m_init_one(struct domain *d); +void p2m_free_one(struct p2m_domain *p2m); + void p2m_pod_init(struct p2m_domain *p2m); =20 int p2m_add_identity_entry(struct domain *d, unsigned long gfn, p2m_access_t p2ma, unsigned int flag); int p2m_remove_identity_entry(struct domain *d, unsigned long gfn); =20 +#ifdef CONFIG_HVM +int p2m_init_logdirty(struct p2m_domain *p2m); +void p2m_free_logdirty(struct p2m_domain *p2m); +#else +static inline int p2m_init_logdirty(struct p2m_domain *p2m) { return 0; } +static inline void p2m_free_logdirty(struct p2m_domain *p2m) {} +#endif + +int p2m_init_altp2m(struct domain *d); +void p2m_teardown_altp2m(struct domain *d); + +void p2m_nestedp2m_init(struct p2m_domain *p2m); +int p2m_init_nestedp2m(struct domain *d); +void p2m_teardown_nestedp2m(struct domain *d); + +int ept_p2m_init(struct p2m_domain *p2m); +void ept_p2m_uninit(struct p2m_domain *p2m); +void p2m_init_altp2m_ept(struct domain *d, unsigned int i); + /* * Local variables: * mode: C --- /dev/null +++ b/xen/arch/x86/mm/p2m-basic.c @@ -0,0 +1,207 @@ +/*************************************************************************= ***** + * arch/x86/mm/p2m-basic.c + * + * Basic P2M management largely applicable to all domain types. + * + * Parts of this code are Copyright (c) 2009 by Citrix Systems, Inc. (Patr= ick Colp) + * Parts of this code are Copyright (c) 2007 by Advanced Micro Devices. + * Parts of this code are Copyright (c) 2006-2007 by XenSource Inc. + * Parts of this code are Copyright (c) 2006 by Michael A Fetterman + * Parts based on earlier work by Michael A Fetterman, Ian Pratt et al. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; If not, see . + */ + +#include +#include +#include "mm-locks.h" +#include "p2m.h" + +/* Init the datastructures for later use by the p2m code */ +static int p2m_initialise(struct domain *d, struct p2m_domain *p2m) +{ + int ret =3D 0; + + mm_rwlock_init(&p2m->lock); +#ifdef CONFIG_HVM + INIT_PAGE_LIST_HEAD(&p2m->pages); +#endif + + p2m->domain =3D d; + p2m->default_access =3D p2m_access_rwx; + p2m->p2m_class =3D p2m_host; + + if ( !is_hvm_domain(d) ) + return 0; + + p2m_pod_init(p2m); + p2m_nestedp2m_init(p2m); + + if ( hap_enabled(d) && cpu_has_vmx ) + ret =3D ept_p2m_init(p2m); + else + p2m_pt_init(p2m); + + spin_lock_init(&p2m->ioreq.lock); + + return ret; +} + +struct p2m_domain *p2m_init_one(struct domain *d) +{ + struct p2m_domain *p2m =3D xzalloc(struct p2m_domain); + + if ( !p2m ) + return NULL; + + if ( !zalloc_cpumask_var(&p2m->dirty_cpumask) ) + goto free_p2m; + + if ( p2m_initialise(d, p2m) ) + goto free_cpumask; + return p2m; + + free_cpumask: + free_cpumask_var(p2m->dirty_cpumask); + free_p2m: + xfree(p2m); + return NULL; +} + +void p2m_free_one(struct p2m_domain *p2m) +{ + p2m_free_logdirty(p2m); + if ( hap_enabled(p2m->domain) && cpu_has_vmx ) + ept_p2m_uninit(p2m); + free_cpumask_var(p2m->dirty_cpumask); + xfree(p2m); +} + +static int p2m_init_hostp2m(struct domain *d) +{ + struct p2m_domain *p2m =3D p2m_init_one(d); + int rc; + + if ( !p2m ) + return -ENOMEM; + + rc =3D p2m_init_logdirty(p2m); + + if ( !rc ) + d->arch.p2m =3D p2m; + else + p2m_free_one(p2m); + + return rc; +} + +static void p2m_teardown_hostp2m(struct domain *d) +{ + /* Iterate over all p2m tables per domain */ + struct p2m_domain *p2m =3D p2m_get_hostp2m(d); + + if ( p2m ) + { + p2m_free_one(p2m); + d->arch.p2m =3D NULL; + } +} + +int p2m_init(struct domain *d) +{ + int rc; + + rc =3D p2m_init_hostp2m(d); + if ( rc || !is_hvm_domain(d) ) + return rc; + + /* + * Must initialise nestedp2m unconditionally + * since nestedhvm_enabled(d) returns false here. + * (p2m_init runs too early for HVM_PARAM_* options) + */ + rc =3D p2m_init_nestedp2m(d); + if ( rc ) + { + p2m_teardown_hostp2m(d); + return rc; + } + + rc =3D p2m_init_altp2m(d); + if ( rc ) + { + p2m_teardown_hostp2m(d); + p2m_teardown_nestedp2m(d); + } + + return rc; +} + +/* + * Return all the p2m pages to Xen. + * We know we don't have any extra mappings to these pages. + * + * hvm fixme: when adding support for pvh non-hardware domains, this path = must + * cleanup any foreign p2m types (release refcnts on them). + */ +void p2m_teardown(struct p2m_domain *p2m) +{ +#ifdef CONFIG_HVM + struct page_info *pg; +#endif + struct domain *d; + + if ( !p2m ) + return; + + d =3D p2m->domain; + + p2m_lock(p2m); + + ASSERT(atomic_read(&d->shr_pages) =3D=3D 0); + +#ifdef CONFIG_HVM + p2m->phys_table =3D pagetable_null(); + + while ( (pg =3D page_list_remove_head(&p2m->pages)) ) + d->arch.paging.free_page(d, pg); +#endif + + p2m_unlock(p2m); +} + +void p2m_final_teardown(struct domain *d) +{ + if ( is_hvm_domain(d) ) + { + /* + * We must tear down both of them unconditionally because + * we initialise them unconditionally. + */ + p2m_teardown_altp2m(d); + p2m_teardown_nestedp2m(d); + } + + /* Iterate over all p2m tables per domain */ + p2m_teardown_hostp2m(d); +} + +/* + * Local variables: + * mode: C + * c-file-style: "BSD" + * c-basic-offset: 4 + * indent-tabs-mode: nil + * End: + */ --- a/xen/arch/x86/mm/p2m-ept.c +++ b/xen/arch/x86/mm/p2m-ept.c @@ -35,6 +35,7 @@ #include =20 #include "mm-locks.h" +#include "p2m.h" =20 #define atomic_read_ept_entry(__pepte) \ ( (ept_entry_t) { .epte =3D read_atomic(&(__pepte)->epte) } ) --- a/xen/include/asm-x86/hvm/vmx/vmx.h +++ b/xen/include/asm-x86/hvm/vmx/vmx.h @@ -594,15 +594,11 @@ unsigned int vmx_get_cpl(void); void vmx_inject_extint(int trap, uint8_t source); void vmx_inject_nmi(void); =20 -int ept_p2m_init(struct p2m_domain *p2m); -void ept_p2m_uninit(struct p2m_domain *p2m); - void ept_walk_table(struct domain *d, unsigned long gfn); bool_t ept_handle_misconfig(uint64_t gpa); int epte_get_entry_emt(struct domain *d, gfn_t gfn, mfn_t mfn, unsigned int order, bool *ipat, p2m_type_t type); void setup_ept_dump(void); -void p2m_init_altp2m_ept(struct domain *d, unsigned int i); /* Locate an alternate p2m by its EPTP */ unsigned int p2m_find_altp2m_by_eptp(struct domain *d, uint64_t eptp); =20 From nobody Thu May 2 07:08:03 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=1625501465; cv=pass; d=zohomail.com; s=zohoarc; b=K2tDVEUlQwMTJ3RvYguqDdQYdRu+Jagq8YYssuBqYNj3/Y+8/ciaYWOy4MlzP9Ch83zgsOmx+gB09rNtSM8N3zIXmAU5PnbB5PXpgivx/AmAv+WTDUNUE7Y+sIZBVRzg4BwOHicPJXz87cL2nhBcJeR6IpL+cpw/I3PAqhxzvzg= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1625501465; 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=i9R/6Ft2bTf/P4epKQB2jkiAfHntWtgxvduuxZdy6KA=; b=f5C8WYSSvSXMlTAMVLKGzCC1YXDnrRNxK8BXhDuSuhfM4WS2O4vT+PX3OuhlajTRV5YC/ujzQT+rzMKYyWhUiu9rQVdJ/3qoJX/XS30Q/Dg9VTH6sm5s/eyGXmpsHSuKmtktA3mpTqhnunMD3vZ/qTfpXdYMcjijhQg12sL03Wk= 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 1625501465543184.65686453983972; Mon, 5 Jul 2021 09:11:05 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.150484.278236 (Exim 4.92) (envelope-from ) id 1m0RBM-00089y-OY; Mon, 05 Jul 2021 16:10:52 +0000 Received: by outflank-mailman (output) from mailman id 150484.278236; Mon, 05 Jul 2021 16:10:52 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1m0RBM-00089r-KK; Mon, 05 Jul 2021 16:10:52 +0000 Received: by outflank-mailman (input) for mailman id 150484; Mon, 05 Jul 2021 16:10:50 +0000 Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1m0RBK-00087t-Qq for xen-devel@lists.xenproject.org; Mon, 05 Jul 2021 16:10:50 +0000 Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id 9020949e-ddab-11eb-844d-12813bfff9fa; Mon, 05 Jul 2021 16:10:50 +0000 (UTC) Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-vi1eur04lp2057.outbound.protection.outlook.com [104.47.14.57]) (Using TLS) by relay.mimecast.com with ESMTP id de-mta-36-WAMpp5DhNx27jnfXsMFRrg-1; Mon, 05 Jul 2021 18:10:48 +0200 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) by VI1PR04MB3293.eurprd04.prod.outlook.com (2603:10a6:802:11::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4287.32; Mon, 5 Jul 2021 16:10:47 +0000 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4287.033; Mon, 5 Jul 2021 16:10:47 +0000 Received: from [10.156.60.236] (37.24.206.209) by PR0P264CA0119.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:19::35) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4287.22 via Frontend Transport; Mon, 5 Jul 2021 16:10:46 +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: 9020949e-ddab-11eb-844d-12813bfff9fa DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1625501449; 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=i9R/6Ft2bTf/P4epKQB2jkiAfHntWtgxvduuxZdy6KA=; b=csSKZ2BtAzIys36u08vh4Zdbq+O/l0+7y3P4ItTrECM5Wlejp+T6KI7mIc9B3EZEryuzgx Qc4P2auiBT+Ibf0KdzjGVtsdBXZ5CvWsko8Pcgd0X0MVnf9UbN9SVO6Daq7rhzlwKaH0WL cEse4B4Ys5q4HAgSBqW21tS0xeQHfC4= X-MC-Unique: WAMpp5DhNx27jnfXsMFRrg-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=N3RLa/lS/jUuwexFDHRCc4dhS5f+h1wERt3i8vwwSrbH9hcRd3+F7s6uB0KUZmOoa1HtPzbZinYixFl9ZONIZOb12i84iQaGzYkujD3Dk2/ezMkl6mPypD1p1W44DB24q5gcOWaLfHRYx9kC8WTC1eyp4UpOW9JAO+Z6cqdDD3wcQYk+v6SV/D3aMVNh0OgKg78MaepauQAZx/0aetipCLS8mCvpOtEGBP7egWjLTqpFi55jNnh5SgzhE51kttXvzpJRgx7PEqvvA/B7tcmEs3RumIDrtB/Wv6UV0iItu8Y2kLTQYpZHr/wfHfp5sio96409l5YFym9noRLdlG01IQ== 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-SenderADCheck; bh=i9R/6Ft2bTf/P4epKQB2jkiAfHntWtgxvduuxZdy6KA=; b=YkOfDEK1Y6rFYnfacNP6UVJjXegz99vLF85wsbRjkoGahpPNLLODWnpCq3fOzptS0elicVIA2ufj/gLqlWtVIOzPZGQtg54hG6CcrOULLCt7IG5KLUA+5d2zmvOufJ1O8brGT7jBSZKz9cUkhX72dbTncm8HU/X6df+ZShBNzJgMfqGDaHwd9xYNi4mO2IuuhQNQdZsWjAPzKbI5LFNhCJy5NjNsSu3hiuHSqfRKaEvF8IjhtvadvJeMptfp/VxuAYWwb223aUCg+zaRwWl8rZmWnFocLI/luoDuE0qRvjpLNB7ufer/Gcqx0L/TLfKggXX6A5+lmToT1qjNZy1VqA== 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: citrix.com; dkim=none (message not signed) header.d=none;citrix.com; dmarc=none action=none header.from=suse.com; Subject: [PATCH 10/16] x86/P2M: p2m_get_page_from_gfn() is HVM-only From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Andrew Cooper , Wei Liu , =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= , George Dunlap References: Message-ID: <06063948-65fb-1839-c10b-7cfb53d22b3b@suse.com> Date: Mon, 5 Jul 2021 18:10:45 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 In-Reply-To: Content-Language: en-US Content-Transfer-Encoding: quoted-printable X-Originating-IP: [37.24.206.209] X-ClientProxiedBy: PR0P264CA0119.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:19::35) To VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 0f935a50-a862-4d9c-7e89-08d93fcf731c X-MS-TrafficTypeDiagnostic: VI1PR04MB3293: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:8273; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: NAl7gvd9jZB8zVzfxQhfMMgH2M92pYPtkSto0zSWbLAAAjiD6iLmtPEHH8TA/1vTUWhofxo4qHN8w6aAzvPaNy5LguRN/wEW4z4goWgmO/VGVRCHkWuIK+oM3TZTgMrknLAm+o7cBdvba5FO5Kd79iuA95VezZUAZusLWOv7/WNI1mCMPDFrTtA+Dj/wps2znoKgtixC9F5KEiGRa/xMhsJEEvMf2mH/vaisErHpYGXwdvWnsjCLNR1rpU0Bez2l8685Kw4z6K4WnuEe5m0W/Cxa/wM4nLonVzTn6MTrUoS0+jJYnQji90dWpDdYfXbRqdHd4WYhZ9E/lM3uO7dTVkez7oSh6ZFmRv/SiQUdtolCQcIqrBJLolF+gw7f7HiSnX80p/3Oz4l8W1ZDiMstrtA2w1karSTwiwl9eXEcSEL/qIjGhNH5TxowHPlVpg9Z8et+yRQRLYBmGwQ7V73oqC1W4t8P+B8rGqPCGPVbOoffuB5Obp8pm5SBKI79nB5IJNmxl7GiRbLX6ehk+AzAipWAzDzA/IT78iFscPYiyI/F3JqkLvEUZsd/0YvpV27i+mFda01nr9AYdh2VWk16QIWapTPYg95F4BMC5ha3M0DAyFyjRKkXJHs9CktkK31yQGgSMdp1/hcusKop4dRvoN/NUAHDwaVMSstMqCGUNoy41jQLit/9R0XosewshyLLHvDK0Xr4WIaCVqC7cZ180NadUd3fD7sBEDFdVqEU7PE= 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:(39850400004)(376002)(136003)(396003)(346002)(366004)(6486002)(478600001)(8936002)(4326008)(8676002)(38100700002)(66556008)(186003)(66476007)(66946007)(5660300002)(316002)(956004)(16576012)(26005)(2616005)(54906003)(83380400001)(31696002)(16526019)(2906002)(36756003)(31686004)(6916009)(86362001)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?OGlyOXFIejdMOHlZWXdsMDluSlQ2dzBBNzQ3VXY2Zkw4bWdYVW44dUJGSXdU?= =?utf-8?B?dzNhKzFhcVFYTmZYKzE0VTlnTitLRk04dE9Sd2xRYmhDRTZLZ1hBMGFhOUZ3?= =?utf-8?B?NnBtNnI3RlV0TW04VzNzbEZuMGZEL2tGUE9yeWtsNndLV0UrRWsyNys0Tm44?= =?utf-8?B?UUhiT0NJN09qNDB5MnE2Nm1yanRMVVRkVU9oSmNudnZHU3Q5V05rWHM4VW1m?= =?utf-8?B?clB4YWZodHpPN2xFUGs4YWVwcTA4UGVtMjhuWFdUYnMwT1Q4Y0pNQU9IRm43?= =?utf-8?B?WUt4WXIyZTVPWldCcHowQ284VUE2eis5Z3BqME1zV1VORjQyQWFoV09UU1RW?= =?utf-8?B?cGRRVks4VUtwTnBUME45ZUNaUS9QWkl6UG9JdUJLR29VSWRiRXAxRjlMNU5u?= =?utf-8?B?a2xGanhNQkhKaXFyOEY4WEozcHR0MFZNVkNyS2FRZlVyQytXc09oOUtDQ0li?= =?utf-8?B?dHAvTFVMaFBoM2F4eU9kVXVERFFUQzloc0xYY0pTWFAzejFHZDl5SE9CdzJQ?= =?utf-8?B?MGRkOGNaT1lNNWkwU3BadUNjTWU4WGRkTjBrbXE1RHRBMGpHSTltMTBBVTda?= =?utf-8?B?YnpVY2x4WWhIT2VjUXd5cmRHRHFMalFSazZpdVB1cDdHZWR2eTg2dG1HWHFk?= =?utf-8?B?TFBXS25UeEw0aGN6ZEtFaTBYb3o2NHdpS1lKQ1pWS2Q2NjExWUpoa1FSUWZq?= =?utf-8?B?SHpwdGt0cWNwMTZSZHhORmNwZGoreE15eERtRklaQnBNVjQ2QWhCUCtzRjNa?= =?utf-8?B?Z3p4ck9Td2tnamxUcnFMUkNET2tyOEZnWUVoZ0FNTHUxS2l4NW5QQjh1RzEw?= =?utf-8?B?T3Bmb0VkaUtJdnNQRGRoVUlKOStOWUxKRUxoWENQdmpEa3QraXhMMExjVE1S?= =?utf-8?B?azZHT0xKdjZpVW93aXgxcTh2c2ZOMHg5ckVHeFVWYzZkdGZwZ0JCVlZUUFJv?= =?utf-8?B?b09JTGJkWkk1Y3p4Q1R0NEVXNW5Ea25DUTdzNG5NQ2g3Y3A4RDlKcithVW8y?= =?utf-8?B?Z1BOam5mRzVSNHd1MnI3UmRBbmhpQUdEUFRWQnJFcGNNcTJJdUdvK3ZJTHM0?= =?utf-8?B?Z2VVTHkweXhydVdkUnZ6TXRYdG8vYjR5Yy9nV2tIL1FzQTVFK0pxSEdrRVhF?= =?utf-8?B?RnIzUlJFSlZicmQ1aVhVWFlwdWovZkF1NXJ0NFA5MGJzOVhBdFJVSkhIMFhF?= =?utf-8?B?Y3BtZkxuOUVIWENjTGYwWGJ4Z3UxWkNWWHdDWCtKY21TTjVuTEVNdHFld0lU?= =?utf-8?B?SEZLR0R4eWJINFZCcnNMZ2piOWhtM20rTlNMWVpiejA4WVg1UnplSGE5VHF5?= =?utf-8?B?c2NYalc3YzhMemt1cXd2YzJjWHhJRHRyRUEyU0Roa0hWMDUwbW9ENTNEc09B?= =?utf-8?B?UlQ0Z040QVB6dm1SZjJlSjNmbnpvVjdrV3JBUmZpdlV6STAvbEhEZ2Zrc1ZR?= =?utf-8?B?REFtc1FTRmhQcHNQTi9CMVlkaEhDOTJBOWx3dFFMNnRzSkFFM0RUNjFSZWxV?= =?utf-8?B?TitHNGxsUUhxS3R6K3FBUnFHQVoyN0xvcDYrRXpaaFRDbHFzNGMyUWdPKzBk?= =?utf-8?B?bW1XK1hycmNpYnhZaXFVaE4wa1NKZmIvN0x3cTY2Kzhnei92UVlBRDduODZI?= =?utf-8?B?eFRML2hYQkhsOHVvaWpQbm92NDZFRlFMdWsvQ2ZIWHN1blppRVFyMk1NYUNF?= =?utf-8?B?cCt0TS9lZUJlRXBQWitpaHp2eWVnVHBzb0UyR0ZLNjdmQVQ4ZmVDeHFxL2VQ?= =?utf-8?Q?Ld9Az+yUHqv6xJVUDCQN7jP8GjLrfA/6WptrYmj?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0f935a50-a862-4d9c-7e89-08d93fcf731c X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jul 2021 16:10:47.2722 (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: K6U4W2LSsEUU2+K4JAUl3QQbGK6ATD4sgFF88hGy50ZKVAqDonmprsTx8t7O+mWmjsmnWT6QDiwoosFN616d0w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB3293 X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1625501470919100001 Content-Type: text/plain; charset="utf-8" This function is the wrong layer to go through for PV guests. It happens to work, but produces results which aren't fully consistent with get_page_from_gfn(). The latter function, however, cannot be used in map_domain_gfn() as it may not be the host P2M we mean to act on. Signed-off-by: Jan Beulich Reviewed-by: George Dunlap --- a/xen/arch/x86/mm/guest_walk.c +++ b/xen/arch/x86/mm/guest_walk.c @@ -554,7 +554,9 @@ void *map_domain_gfn(struct p2m_domain * } =20 /* Translate the gfn, unsharing if shared. */ - page =3D p2m_get_page_from_gfn(p2m, gfn, &p2mt, NULL, q); + page =3D paging_mode_translate(p2m->domain) + ? p2m_get_page_from_gfn(p2m, gfn, &p2mt, NULL, q) + : get_page_from_gfn(p2m->domain, gfn_x(gfn), &p2mt, q); if ( p2m_is_paging(p2mt) ) { ASSERT(p2m_is_hostp2m(p2m)); --- a/xen/arch/x86/mm/p2m.c +++ b/xen/arch/x86/mm/p2m.c @@ -357,6 +357,8 @@ void __put_gfn(struct p2m_domain *p2m, u gfn_unlock(p2m, gfn, 0); } =20 +#ifdef CONFIG_HVM + /* Atomically look up a GFN and take a reference count on the backing page= . */ struct page_info *p2m_get_page_from_gfn( struct p2m_domain *p2m, gfn_t gfn, @@ -422,8 +424,6 @@ struct page_info *p2m_get_page_from_gfn( return page; } =20 -#ifdef CONFIG_HVM - /* Returns: 0 for success, -errno for failure */ 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) From nobody Thu May 2 07:08:03 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=1625501563; cv=pass; d=zohomail.com; s=zohoarc; b=klthE23thU4fPHawLREMNmTAc56HEZdp6KJSFW6BBJ0NpN+OHHhNlekY1VsQhe1J88OZPdSG3Ny0QPICrStX7AIELxNf5euH6MZPcDtjJGeaBoHzIXnX0n6K65ULqW7QMZOjGaXr6VpH+P1om+SG+GikHjk8Rd+ybbuBec9t19Q= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1625501563; 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=yI8ENYCvOiVvVPyRlAvxJHQLLscO+/O+v8v+irLjSQU=; b=TJWH+5gTwyVvAz1hPw4WubhO7Khx2fWOtI/NR20dAeT2IOSZQkTGTHGQWpnjt8DQElgAoaf3rRdsPKh7M3ZxpIusp3bPiqCkG1+/YMVo+2nLbAWzdR+JuVU56JJU7c2njAfb05kCKdF6KEq4Mc1MFcgS8WNHNxDtpDSB4Ik0XiA= 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 1625501563042383.39698716181283; Mon, 5 Jul 2021 09:12:43 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.150494.278247 (Exim 4.92) (envelope-from ) id 1m0RCt-0000ch-3x; Mon, 05 Jul 2021 16:12:27 +0000 Received: by outflank-mailman (output) from mailman id 150494.278247; Mon, 05 Jul 2021 16:12:27 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1m0RCt-0000ca-0d; Mon, 05 Jul 2021 16:12:27 +0000 Received: by outflank-mailman (input) for mailman id 150494; Mon, 05 Jul 2021 16:12:25 +0000 Received: from us1-rack-iad1.inumbo.com ([172.99.69.81]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1m0RCr-0000cU-IX for xen-devel@lists.xenproject.org; Mon, 05 Jul 2021 16:12:25 +0000 Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS id c627eb38-8db0-4455-965b-fd9d8148daa4; Mon, 05 Jul 2021 16:12:24 +0000 (UTC) Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05lp2171.outbound.protection.outlook.com [104.47.17.171]) (Using TLS) by relay.mimecast.com with ESMTP id de-mta-15-nfg0Z1IoPoar0iN8f45gJw-1; Mon, 05 Jul 2021 18:12:22 +0200 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) by VI1PR0402MB2829.eurprd04.prod.outlook.com (2603:10a6:800:bb::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4287.33; Mon, 5 Jul 2021 16:12:21 +0000 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4287.033; Mon, 5 Jul 2021 16:12:21 +0000 Received: from [10.156.60.236] (37.24.206.209) by PR2P264CA0009.FRAP264.PROD.OUTLOOK.COM (2603:10a6:101::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4287.21 via Frontend Transport; Mon, 5 Jul 2021 16:12:20 +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: c627eb38-8db0-4455-965b-fd9d8148daa4 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1625501543; 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=yI8ENYCvOiVvVPyRlAvxJHQLLscO+/O+v8v+irLjSQU=; b=ZLN1wkcrAXQ1TyAnp0+K2DedjMxTZCqsoOmHLyV1/OwSD8HCNqSiXjm5l/SOAV2hAqL+00 B6tA2MrMo/IEo/R/bB/WECalx27Zv7rFPAP6xRX2yj4mDdQHR1vOQyt0FdOW/JNciJYkDw ZP6OKDl9qAksmQ1+fLi44fW6aFW67II= X-MC-Unique: nfg0Z1IoPoar0iN8f45gJw-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=klO1sQULZnu//plWeUv0DFznEeRhrzklkETixQXlaOacL+XOWBRmnEJiUnnxarXFAxXE0mgMRId/zwFYcpUDo8zVOVDU4o3dz9gJWEiLAR6s2REr6xCp+sdz6/IARdQCxzK4GZSF+BtrK9mV3eTaT0Zlvz5VVigC37BvJzxdZcXoJOAuITC7T50J+UUQpLhrpOGz2bp8Jrl8NN4j1sCwXcfPZKI9s3+biNDQEf4gldo5PDvOWgCYYNSfrfIc2pxcyP+IuUhL+b7T10I2HHGNNxfkCqFNN+9fh7ehD3jLq9Ycbyo61L9qog0RKkoxWobKmvTugaqc+fQSUQCTtJh0Tg== 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-SenderADCheck; bh=yI8ENYCvOiVvVPyRlAvxJHQLLscO+/O+v8v+irLjSQU=; b=jZzif3O4XyWaN5ZblSj/dfJgA+bT3tm98StvWUWpkEfZrDt82PknfflHwEB9fdIWl1wFydUW1/DoqPATjULKxEps9+nesLbZutVuQolmkKwUoRBGMcmp6EgQQHke4cwDSUPJoC0o6X3Z7eU5eI+zlx9q7pdDpwTmsgWuIeCrYIMPEbO6zA/I5cxBKw0NBPfvqUzVd4V8wr5wa/qEcZDz6ZYJfBA39ZRmqg18eoFGf4lnpLyEr1wDfpEVPww6wUEzCKgD0pV7s9jFAOqq/vFV0aOksbIdnrB6cFWzoNN87ltfk64UeMoob2YnXAG5aQVZF2KNGLk/8+4o49YZDkYLMw== 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: bitdefender.com; dkim=none (message not signed) header.d=none;bitdefender.com; dmarc=none action=none header.from=suse.com; Subject: [PATCH 11/16] x86/P2M: derive a HVM-only variant from __get_gfn_type_access() From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Andrew Cooper , Wei Liu , =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= , George Dunlap , Tamas K Lengyel , Alexandru Isaila , Petre Pircalabu References: Message-ID: Date: Mon, 5 Jul 2021 18:12:12 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 In-Reply-To: Content-Language: en-US Content-Transfer-Encoding: quoted-printable X-Originating-IP: [37.24.206.209] X-ClientProxiedBy: PR2P264CA0009.FRAP264.PROD.OUTLOOK.COM (2603:10a6:101::21) To VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 4932d410-cddd-4299-5f57-08d93fcfaaec X-MS-TrafficTypeDiagnostic: VI1PR0402MB2829: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:7691; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: AlVHGamxBCuHYuIOcFbBGoGEIHgJpfarT9fMneT5Z7mjbxPwYN4JuRLNfMTCWcgWWl4zE7Byg8UATOQiis4Oo/5HfsbjEnbAtXW4j68+KDoF+d/Ms5xFjO/DUjRftBNYHKfENye3H7IztIeF+e5g6Cs7FbXFZn6X1aTax4fQbk0c8e4royMcp2qkzbVE+jjNsiKvlp/9c+U7WgjpNJAG8dqoSrOc4C3hKX2wOyDu4vlZsSy/KzTCBHTxfEWNnABwURAA8DkpH4UllBpMc/yx9zamf9JNPhrMlZR/bsewlZCjGMgeAjL2VYTGDb+YfhAc9mlqELFypuX62C143eUsWsDpZLVhB8cLROIA1TkFaYG37es3udX4q2E+xu4aQYMMHQLZSD8vu78tsJdUQoAW5aYIX0e7Y5BmG10d24QCpCRC6dwLQnOkcMjbrDr4u+jguc2ZFstSa5Z2AJEZKFAFK7HcgjrcCo0praqESpT6qGOanUuIdObFBOV9so8xcfJRU0Gzl1JDnbPKtJnmaDhy9Rc9IVoKNPKkEyN1KgFfSNKA/ipc8brNHIouE4f2rsKgTonsi55Px0SkuFRfG8QeE1moT1yXN97f8ZpRSknwvauMYLAR8iwaPyGMwrAWRGi5dx1sofHsQ8kUVYhslUrYAGmYyJyYyZmIBh2CvHwfkJpQdKP1YQLNIzktxxF9wkBB6TCUavJa4RjWnkQDvGrnov6Opzgj6egMbNtHOs5Yma8= 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:(39850400004)(366004)(136003)(376002)(346002)(396003)(6486002)(26005)(16576012)(478600001)(2616005)(956004)(86362001)(2906002)(6916009)(6666004)(316002)(83380400001)(8676002)(16526019)(66556008)(36756003)(8936002)(38100700002)(54906003)(31696002)(4326008)(66476007)(186003)(66946007)(31686004)(5660300002)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?TlR2MkdrTFk2a0JreHFXcjFBd1ZmdDEzUjRmVTNuTWd6MWdTalJPSkhacEdE?= =?utf-8?B?ZjM0OEltRi9qVFVDRkpPT1h2ZnB4ay85cnF2UGtYTEo5T0FGTDkxVytrb3M0?= =?utf-8?B?bEVzRVU5ZVo2a2NKQ1lRbC9qM0ZCS2s3d1g1OWVLSE1aNTVpc05jMXo4NVlk?= =?utf-8?B?WEEvd0MzZU53UEJSVXlSTE5obEpMN1I5Rjg1Nnd3ZnArQno0NENaY3dMcFpt?= =?utf-8?B?aWV3dkFNeTRrWnZLOHAvZVo5RERMRkVXdkd2bnRVS2pUY2YrQW9mdXdtcFJC?= =?utf-8?B?TFhJNHZ5MlJ2b1RDNFhhRGhackxtT3Z6dTZrTWhVd1JscVZPb3BPa1hRbEYv?= =?utf-8?B?R2ZNZlpwWk94SkhGWGpnWHdlWVRvQXB0WSs1UGh3dDV2ZC8vVWRvbmVRSmMy?= =?utf-8?B?SUltUXBtZ01LMU54dkNzQjE1UUtFZlNUaVdKaFRyUmUwZHZzU1VjVjM5YTJF?= =?utf-8?B?RVloeGFjeDNlOFN0K2tWbE5WN2FoRUkxQ2Q0REZrRGJaU05mYnVmeHhueU1h?= =?utf-8?B?b1habHBzc3JDRFF2WEdRZmJIczBJMWdHREkyY3Z2OFpQYkd2ZTVuMm11WDdi?= =?utf-8?B?VldIa2lvejdJcHNkRDdyNWlUby9NazBUN0pUZWlvVElpSUhWQ3F5Q1NpRnRX?= =?utf-8?B?TktzR2JNSkNob0ZQRVFXMkcvcFJLdWI2RDM5QXJYVDcyZ210OGhLdkt5Ukp3?= =?utf-8?B?RDVMYnVvR21qTVpwY3h0enNoelMrL2VTSkdsQjIzRnBrRVVkb1UxZ2x1U2Vz?= =?utf-8?B?K0FEbzhYd3hDMnFndG9vVUN6MnUyVFJmYnUydklvaWV0ak4zbG5kVEdOeEpO?= =?utf-8?B?Zlhpb1YyRGdxd243VWsyUlBGU1JMencyTFlOV2tKUzVMNFZFUmp4dFhHMFRy?= =?utf-8?B?Zk90RklIeHpoS1BhblRYajNZS29md3puNkQ4VDd3T1EvNGhTaVYyd245cW5h?= =?utf-8?B?VS9vVkNacFA1dkFnYzRLY2p3VUp5ZmdTZ25EZkcwR1hLY2t5NG9zaHYxS2x5?= =?utf-8?B?TFlyRHFZeDhKUVFEb3poVWJWczNPTDRPelIwblEvam90dC8vR3dRVXVXcXN5?= =?utf-8?B?UmNVdG5oNGdWdjFSYk9mMVU4eklkeXFoTEc0MURRZUdwM08wU0VnMnlxd09Y?= =?utf-8?B?SUNWUHk2R3ZuYWRLcVlGZEQ1Q3N5Nk91RGp0R003R1lxWEV2Mk1sNksyVFBr?= =?utf-8?B?MmFhKzdaM241SzRsNHMrTXRiRVg1bUxaRHNFZlAra091RWRlOFVPSGtIS2t6?= =?utf-8?B?NTR5SEdKczZzTWtZbFY0ZnlCNHRqMHZJUWVuRzEvc2dNQnE3MkQ5T0pSZmxT?= =?utf-8?B?bXdEYzFHZ2tZMFNLVlJ6RktEN2xIQzlzVitFay8rU1daYWZ3ZlVHc2ViME80?= =?utf-8?B?SFVNZmxoRkEzamFLSHpHbkswWTl3YkJxcGR6OUpPWUdyalA2ZjgwOGVRTjVT?= =?utf-8?B?ZkptNDQ1b3d0ZjliT0VMRW1ubkJaSG9TaS9Ob1J1VjRmNXlPa0RzTnVEME5q?= =?utf-8?B?V2h3bkEvaWJCWnQ3WmlZV0R6TVgxc2Rza3czTkxyNzNIeE1uVEY3aE5wQisx?= =?utf-8?B?eFRnQ3BMU3pkTnNRbTJuYVlFZVI2d0RBRzFOcy9TWGFmbkJrajY2UG44N0NZ?= =?utf-8?B?bHQ5N3U1aUpkTm1YWVNFMGJ0NmpQN2NlKzhnMHZzUG5YNFIxNnV1WVMyM1My?= =?utf-8?B?eitvZGlNRGdJSGR3dWNoMzdmZUdONzNUblhHZFAweVRCZXRuUXV4YUFwd0JR?= =?utf-8?Q?+9Kq9h6Q4jJ544Hoal39+m3CE/tzGhXBZKy7taM?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4932d410-cddd-4299-5f57-08d93fcfaaec X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jul 2021 16:12:20.9272 (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: Qm9skyo2jG38lXY9rCzAMxlNn2hBAs/A8LOvXWoxM2/Y/BqKUnBRzfEyONhsC/44C3Ftj42OT4XSSTmMo4lnpA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0402MB2829 X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1625501567219100001 Content-Type: text/plain; charset="utf-8" Introduce an inline wrapper dealing with the non-translated-domain case, while stripping that logic from the main function, which gets renamed to p2m_get_gfn_type_access(). HVM-only callers can then directly use the main function. Along with renaming the main function also make its and the new inline helper's GFN parameters type-safe. Signed-off-by: Jan Beulich Reviewed-by: George Dunlap --- a/xen/arch/x86/hvm/svm/svm.c +++ b/xen/arch/x86/hvm/svm/svm.c @@ -1711,7 +1711,7 @@ static void svm_do_nested_pgfault(struct } _d; =20 p2m =3D p2m_get_p2m(v); - mfn =3D __get_gfn_type_access(p2m, gfn, &p2mt, &p2ma, 0, NULL, 0); + mfn =3D p2m_get_gfn_type_access(p2m, _gfn(gfn), &p2mt, &p2ma, 0, N= ULL, 0); =20 _d.gpa =3D gpa; _d.qualification =3D 0; @@ -1736,7 +1736,7 @@ static void svm_do_nested_pgfault(struct if ( p2m =3D=3D NULL ) { p2m =3D p2m_get_p2m(v); - mfn =3D __get_gfn_type_access(p2m, gfn, &p2mt, &p2ma, 0, NULL, 0); + mfn =3D p2m_get_gfn_type_access(p2m, _gfn(gfn), &p2mt, &p2ma, 0, N= ULL, 0); } gdprintk(XENLOG_ERR, "SVM violation gpa %#"PRIpaddr", mfn %#lx, type %i\n", --- a/xen/arch/x86/mm/mem_access.c +++ b/xen/arch/x86/mm/mem_access.c @@ -299,8 +299,9 @@ static int set_mem_access(struct domain { p2m_access_t _a; p2m_type_t t; - mfn_t mfn =3D __get_gfn_type_access(p2m, gfn_x(gfn), &t, &_a, - P2M_ALLOC, NULL, false); + mfn_t mfn =3D p2m_get_gfn_type_access(p2m, gfn, &t, &_a, + P2M_ALLOC, NULL, false); + rc =3D p2m->set_entry(p2m, gfn, mfn, PAGE_ORDER_4K, t, a, -1); } =20 --- a/xen/arch/x86/mm/mem_sharing.c +++ b/xen/arch/x86/mm/mem_sharing.c @@ -478,12 +478,12 @@ do { #undef assign_pointers =20 /* Now do the gets. */ - *first_mfn =3D __get_gfn_type_access(p2m_get_hostp2m(rval->first_doma= in), - gfn_x(rval->first_gfn), first_t, - first_a, q, NULL, lock); - *second_mfn =3D __get_gfn_type_access(p2m_get_hostp2m(rval->second_dom= ain), - gfn_x(rval->second_gfn), second_t, - second_a, q, NULL, lock); + *first_mfn =3D p2m_get_gfn_type_access(p2m_get_hostp2m(rval->first_do= main), + rval->first_gfn, first_t, + first_a, q, NULL, lock); + *second_mfn =3D p2m_get_gfn_type_access(p2m_get_hostp2m(rval->second_d= omain), + rval->second_gfn, second_t, + second_a, q, NULL, lock); } =20 static void put_two_gfns(const struct two_gfns *arg) @@ -936,8 +936,8 @@ static int nominate_page(struct domain * if ( !ap2m ) continue; =20 - amfn =3D __get_gfn_type_access(ap2m, gfn_x(gfn), &ap2mt, &ap2m= a, - 0, NULL, false); + amfn =3D p2m_get_gfn_type_access(ap2m, gfn, &ap2mt, &ap2ma, + 0, NULL, false); if ( mfn_valid(amfn) && (!mfn_eq(amfn, mfn) || ap2ma !=3D p2ma= ) ) { altp2m_list_unlock(d); --- a/xen/arch/x86/mm/p2m.c +++ b/xen/arch/x86/mm/p2m.c @@ -286,25 +286,13 @@ void p2m_unlock_and_tlb_flush(struct p2m mm_write_unlock(&p2m->lock); } =20 -mfn_t __get_gfn_type_access(struct p2m_domain *p2m, unsigned long gfn_l, - p2m_type_t *t, p2m_access_t *a, p2m_query_t q, - unsigned int *page_order, bool_t locked) -{ #ifdef CONFIG_HVM - mfn_t mfn; - gfn_t gfn =3D _gfn(gfn_l); =20 - if ( !p2m || !paging_mode_translate(p2m->domain) ) - { -#endif - /* - * Not necessarily true, but for non-translated guests we claim - * it's the most generic kind of memory. - */ - *t =3D p2m_ram_rw; - return _mfn(gfn_l); -#ifdef CONFIG_HVM - } +mfn_t p2m_get_gfn_type_access(struct p2m_domain *p2m, gfn_t gfn, + p2m_type_t *t, p2m_access_t *a, p2m_query_t = q, + unsigned int *page_order, bool_t locked) +{ + mfn_t mfn; =20 /* Unshare makes no sense without populate. */ if ( q & P2M_UNSHARE ) @@ -329,8 +317,8 @@ mfn_t __get_gfn_type_access(struct p2m_d * Try to unshare. If we fail, communicate ENOMEM without * sleeping. */ - if ( mem_sharing_unshare_page(p2m->domain, gfn_l) < 0 ) - mem_sharing_notify_enomem(p2m->domain, gfn_l, false); + if ( mem_sharing_unshare_page(p2m->domain, gfn_x(gfn)) < 0 ) + mem_sharing_notify_enomem(p2m->domain, gfn_x(gfn), false); mfn =3D p2m->get_entry(p2m, gfn, t, a, q, page_order, NULL); } =20 @@ -343,9 +331,10 @@ mfn_t __get_gfn_type_access(struct p2m_d } =20 return mfn; -#endif } =20 +#endif /* CONFIG_HVM */ + void __put_gfn(struct p2m_domain *p2m, unsigned long gfn) { if ( !p2m || !paging_mode_translate(p2m->domain) ) @@ -377,7 +366,7 @@ struct page_info *p2m_get_page_from_gfn( { /* Fast path: look up and get out */ p2m_read_lock(p2m); - mfn =3D __get_gfn_type_access(p2m, gfn_x(gfn), t, a, 0, NULL, 0); + mfn =3D p2m_get_gfn_type_access(p2m, gfn, t, a, 0, NULL, 0); if ( p2m_is_any_ram(*t) && mfn_valid(mfn) && !((q & P2M_UNSHARE) && p2m_is_shared(*t)) ) { @@ -1666,8 +1655,8 @@ int altp2m_get_effective_entry(struct p2 unsigned int page_order; int rc; =20 - *mfn =3D __get_gfn_type_access(hp2m, gfn_x(gfn), t, a, - P2M_ALLOC | P2M_UNSHARE, &page_order,= 0); + *mfn =3D p2m_get_gfn_type_access(hp2m, gfn, t, a, P2M_ALLOC | P2M_= UNSHARE, + &page_order, 0); =20 rc =3D -ESRCH; if ( !mfn_valid(*mfn) || *t !=3D p2m_ram_rw ) --- a/xen/include/asm-x86/p2m.h +++ b/xen/include/asm-x86/p2m.h @@ -453,10 +453,27 @@ void p2m_unlock_and_tlb_flush(struct p2m * After calling any of the variants below, caller needs to use * put_gfn. ****/ =20 -mfn_t __nonnull(3, 4) __get_gfn_type_access( - struct p2m_domain *p2m, unsigned long gfn, p2m_type_t *t, +mfn_t __nonnull(3, 4) p2m_get_gfn_type_access( + struct p2m_domain *p2m, gfn_t gfn, p2m_type_t *t, p2m_access_t *a, p2m_query_t q, unsigned int *page_order, bool_t locke= d); =20 +static inline mfn_t __nonnull(3, 4) _get_gfn_type_access( + struct p2m_domain *p2m, gfn_t gfn, p2m_type_t *t, + p2m_access_t *a, p2m_query_t q, unsigned int *page_order, bool_t locke= d) +{ + if ( !p2m || !paging_mode_translate(p2m->domain) ) + { + /* + * Not necessarily true, but for non-translated guests we claim + * it's the most generic kind of memory. + */ + *t =3D p2m_ram_rw; + return _mfn(gfn_x(gfn)); + } + + return p2m_get_gfn_type_access(p2m, gfn, t, a, q, page_order, locked); +} + /* Read a particular P2M table, mapping pages as we go. Most callers * should _not_ call this directly; use the other get_gfn* functions * below unless you know you want to walk a p2m that isn't a domain's @@ -468,7 +485,7 @@ static inline mfn_t __nonnull(3, 4) get_ struct p2m_domain *p2m, unsigned long gfn, p2m_type_t *t, p2m_access_t *a, p2m_query_t q, unsigned int *page_order) { - return __get_gfn_type_access(p2m, gfn, t, a, q, page_order, true); + return _get_gfn_type_access(p2m, _gfn(gfn), t, a, q, page_order, true); } =20 /* General conversion function from gfn to mfn */ @@ -509,7 +526,8 @@ static inline mfn_t get_gfn_query_unlock p2m_type_t *t) { p2m_access_t a; - return __get_gfn_type_access(p2m_get_hostp2m(d), gfn, t, &a, 0, NULL, = 0); + return _get_gfn_type_access(p2m_get_hostp2m(d), _gfn(gfn), t, &a, 0, + NULL, 0); } =20 /* Atomically look up a GFN and take a reference count on the backing page. From nobody Thu May 2 07:08:03 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=1625501589; cv=pass; d=zohomail.com; s=zohoarc; b=KpHS5Rl+sXIlK8f+G1QPJIVJWJBmY1ehv1tSNx2uRPnmsPKmHipYIiKUGGCtApnxWYp2lj9Gw/e2h9MdbT+DG4GOvVzhQzBB2FyP6bt4nB4jfICFTIzyfsxJUHm9pJoPC6vBjQGKcvMOknlveLs6mtNucdvXMigQ4edP2dfA7N0= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1625501589; 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=cGRUgXnfDy3yI0GcEOCYKjOGDUjbiMY8tUQFdNz76XI=; b=ZKYWiRIFLT9JyZUY0DQAQrKKAOtiNE1T79sgIToWTCDGy565IiP2bomL9c77tvWqKHR/WpETwffoG2A83oj5dvJxAgxl53o1DanAFZqiQ3cUavt43JMYTFvwjSV47eV//tLtTWCXpL1a+TA2j4gXvlnwVz1N+OH+J/0L4Mz8ZXc= 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 1625501589808661.8969830825707; Mon, 5 Jul 2021 09:13:09 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.150500.278257 (Exim 4.92) (envelope-from ) id 1m0RDL-000192-Cd; Mon, 05 Jul 2021 16:12:55 +0000 Received: by outflank-mailman (output) from mailman id 150500.278257; Mon, 05 Jul 2021 16:12:55 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1m0RDL-00018v-9Q; Mon, 05 Jul 2021 16:12:55 +0000 Received: by outflank-mailman (input) for mailman id 150500; Mon, 05 Jul 2021 16:12:54 +0000 Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1m0RDK-00018D-Q5 for xen-devel@lists.xenproject.org; Mon, 05 Jul 2021 16:12:54 +0000 Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id d9afd69d-ddab-11eb-844d-12813bfff9fa; Mon, 05 Jul 2021 16:12:53 +0000 (UTC) Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05lp2172.outbound.protection.outlook.com [104.47.17.172]) (Using TLS) by relay.mimecast.com with ESMTP id de-mta-19-EvxtuWEWMRmLX0KnF-uQ7w-1; Mon, 05 Jul 2021 18:12:52 +0200 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) by VI1PR0402MB2829.eurprd04.prod.outlook.com (2603:10a6:800:bb::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4287.33; Mon, 5 Jul 2021 16:12:51 +0000 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4287.033; Mon, 5 Jul 2021 16:12:51 +0000 Received: from [10.156.60.236] (37.24.206.209) by PR2P264CA0009.FRAP264.PROD.OUTLOOK.COM (2603:10a6:101::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4287.21 via Frontend Transport; Mon, 5 Jul 2021 16:12: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: d9afd69d-ddab-11eb-844d-12813bfff9fa DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1625501573; 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=cGRUgXnfDy3yI0GcEOCYKjOGDUjbiMY8tUQFdNz76XI=; b=dJz7Z8Jg/eoNLIgmzUQ964dtmc+nXK3bgFQoepPuk0vH51yGpUiHn/Yfx662lwvefKfTNM MasWkTVTX9oa38enElTYtIJoIPyhcB7+KJPTZQmjllD8mfqbK6Tr/tVhBR1eDc/ogQcMQc K0HM/b6mR9cGV+l8qovcbcLp4aIulj4= X-MC-Unique: EvxtuWEWMRmLX0KnF-uQ7w-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ksJ1h3GtZLICOV47NlB5369a+kihIa891KUD3hOQscAYUVG3aHtktux31ton1wh39Op1JS9ULKiBlniUFLSqhOJVdhkfrG37Tz0kUvvcdmnxIdS45ExKkEJmpmwqmh+XwGPpWeKBTqcXxudFJJhjyyyeKVHAKQvXQIEjjkHbZ2ohIZjslmZggQRhneyfAHgv3CloQ582SYWwXDYIjwtXFENRXIQ/eMSL7uTZPP55J+ud7N3ZWvLKWH86V3DsP2ZH65RhmJ1OxiZ6SWn18GtLCkOIq1VumKLDtlBMPAX2w6mXytkmUhIt/oRAYD4fMEN15iFOnzlwJJSR0QE8Ypzg6A== 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-SenderADCheck; bh=cGRUgXnfDy3yI0GcEOCYKjOGDUjbiMY8tUQFdNz76XI=; b=F6bUTYRKr1ceWjv30+NJGLtEpTSJGl677jttdWXPvfgTcP899zBB3ewO/2UEqwU3DgeaeeBJNPIvCGIIoJTCikN8sq3k7I5iO08LK/Wb2BE2oTqi+sF2aG7FV2XE/gVLNKutxBjeQAOd2nEUKv1VOEugtwBEm8ust7Ko5oCCX+CV5dfUfQQBk0FbbxxSX7krrWE/9p5qMFkljxkcp0qmn/GdP0U77O0WH3DXHFh8BBAucif6okwoMMsuX7vFV43nanLFyD4ChDwWQLNLPh6y/1iDCfl2YBMN+pX4GTyYSyRXn1PlFGfl/C9Vb621cV/2GuUccYU0vxQZvrIjXu70CQ== 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: citrix.com; dkim=none (message not signed) header.d=none;citrix.com; dmarc=none action=none header.from=suse.com; Subject: [PATCH 12/16] x86/p2m: re-arrange {,__}put_gfn() From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Andrew Cooper , Wei Liu , =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= , George Dunlap References: Message-ID: <61ea9272-c4ac-c2da-e1da-8b8930d85264@suse.com> Date: Mon, 5 Jul 2021 18:12:49 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 In-Reply-To: Content-Language: en-US Content-Transfer-Encoding: quoted-printable X-Originating-IP: [37.24.206.209] X-ClientProxiedBy: PR2P264CA0009.FRAP264.PROD.OUTLOOK.COM (2603:10a6:101::21) To VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: c25561a7-ae83-4b79-6ba7-08d93fcfbcdd X-MS-TrafficTypeDiagnostic: VI1PR0402MB2829: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:7691; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 8L1Cj+BjdaJ+dYFgX9le8V9sYd9NlvvW7RliphAZTMGa7zjdyYr0eg1BuOcN3OI/5kBNnABC5u2Nv21ZjJBVNVKX940555uDwGqgYRi5nniQSMRhAwadFit5RAa07fVbKbq7ufmchpbMc22rlVwhbSVX2ZbZwWxNRCeCULTDH78tds2LZ5PZgTaOmoRx+8WHkG5JcnblQPpQM6leN6NbAXzYmWP2vk2PvgHCejktJYyfHXxDg7Bxd4FO/4hVGtjTERYjxCL2Arxbc4Ag8pRgliWOJGfz5iRHbiAIVNY1AKKFnSxtw1DBEHOUdqNME+22dlwthwRPjawdvC1wYklm1ISyGjHvWCLu658ArtgAvx0WOgX2D6+hSeJ+IBO1YmRq18IoYC9NevH1jeE6K3eGIPTlNKobgsiDgXVUt3Q25fKsnt+iLXyKbxCmip6mkzWY+frL1qGz2iGQbArw+DLDQICh114GCDTV+JL6Rw6d+wKJ7UIBrAXExJnH6Y1Uxrn8ipm9TgMNXEjvl9jx6YhndiKgiFV3LT95sBqEb//7JlUi14yJLTEZoxi9GrE42/HD8YDc7Fa2Qo5ziqnt3m7K04d5/mJnoEsuZ30qW4Q4GMzyz8OAH9sbZFjPazj0eLUpoH4Qio3uT8cIV8QahwyBhZhqVLxyTFPEk74477jAFVdtZ+W8FJ1hi6C2lwlA7Ozkp1Vze6l+oSagRK/Vp1v9G/WCb37cFecVMqsgLRmYLDY= 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:(39850400004)(366004)(136003)(376002)(346002)(396003)(6486002)(26005)(16576012)(478600001)(2616005)(956004)(86362001)(2906002)(6916009)(316002)(83380400001)(8676002)(16526019)(66556008)(36756003)(8936002)(38100700002)(54906003)(31696002)(4326008)(66476007)(186003)(66946007)(31686004)(5660300002)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?TThweFRCMXJGM2hoN2QwaDJMbVRIZGhFOUttb3ZCV3BQK2NnK2V4UUlsZjRz?= =?utf-8?B?T3R4YlRvV2pMaFhlc1hZVElUUExXYTZ1bmhVZDB5anhFaEN5VlQ4SDFDTTcy?= =?utf-8?B?QTZhalVsUDQybVdFblVNTjBHem1JYXcrbm05NUVJVVE1QXZGM1MrVkp0YVd1?= =?utf-8?B?SGREL3BkVEpLZnRmcDNBYWdFWnJMRjYvZ09tb2M4QTBJRlZocU4yVWsxZkpJ?= =?utf-8?B?cTI0SHlBdG13Undtamo3VWNRaTNhN2ZaRW1SOXlZYlVkT05wQnZUV3AydVF0?= =?utf-8?B?dXFmMm45SFl0MzdQL0JkaDNDc2dtcUVIVW9mQW5tQlZycjdnRGpkdE5EbzZU?= =?utf-8?B?N3pwNGp0RmphVzRLeUx3blhmeG9hbzRINUFRUWxnMWUvaUZHa3c2K3A1bUhx?= =?utf-8?B?T3YzQmJkc0tzbGRhUGt6UmFuNGxDR204NDhLd2I1Qm4raWVjcm9JYzJwYUxB?= =?utf-8?B?QUNLTU5Fci9IcWtFRmtnU2JoVEhzQkFnT2pOZ1owb3EwTkE1aDh1MVQ4UWpD?= =?utf-8?B?cFNmeExsNE1USTlQdExUUW9NT1ZrN1NPZnhRQlRBNDlnanRUMjNFOE9tcy91?= =?utf-8?B?Sk15eVM1WG13dkZWL1lDZlMydkl6b0w0YU13VmVNMzZZK3NtaVNCQmpzNitX?= =?utf-8?B?WFpKZ0ZMd01CRHVPRDZPblptQW55RDZFM2U0ZHBYMlgrWU1MNURmODRwTHpC?= =?utf-8?B?ZVhwRGdvT2FJbE9RMUk1Z1hSRTFCWldrengvY2liUXN0RGc4cE9PQURzalVM?= =?utf-8?B?cEpEUEFzNllSeUIwRE0yOVVNZXN4dUdKMGw2M2w2czRXWlM2eGtDdHJzWUFW?= =?utf-8?B?UDNVZ2dhSkdaa3hoQXZ5MmdMK2paVlliZFNMajgxL0xpMkpWRGE1R0c5R0dj?= =?utf-8?B?d0gvV0dtNjdOWm1DVlhsMWtCM0VsaldzQzJGaU50dk11L3dlamdSRlNhVGpD?= =?utf-8?B?aklaVlgzNHk0alczWVIxU0JSTEpCTGdSVmovV1FidHU3L1FzTndxVTgxTXBH?= =?utf-8?B?QlNKNTNIaGF6aXdKQkhxV1BSV1pqcWFHUEw4OEZ1aXFGRnBwZGQxL0t3UDNh?= =?utf-8?B?cEwxeld3SjFvMnJjNUVWcjhNRWxZWFViVGpvdkFUVEgzVE5FOVZ1MUg5ZzJ5?= =?utf-8?B?RjUxYkhqK2EyQVdxK2dCRnFqRm50NUllR1h3Ymk0TjVOa2d5RS9oNktnQS95?= =?utf-8?B?WEZwWVJTdGU1NUxOMXFnSXg2azVqK293cEt0bnVVcFA5WStMa2c3ZWFDcVIr?= =?utf-8?B?RnZuWGdaU05hdGVTOTFObmJpOXNRMXIxQ1kvbWk4WVJKaUxNSlNvRkQ2QlBh?= =?utf-8?B?RXZReVQ0c3d6ZVh1MDRqV1pLWm1qdVIwZ3ZpQWxSU3VSczJkNE9xUWdBV0RZ?= =?utf-8?B?Yi9yRmpnS2dJZ0k3eDA3ZllJUFpDS00yUjAxUU1xb0tja1BZT2Y4NWdSYjU3?= =?utf-8?B?S1hNWWV4Skw4V05ZZE1BYktrMW5POEhmTkZsYU1EK3JqZUpyRUl6UXVHQXlC?= =?utf-8?B?cWtRZnZkK21jUWlPQWxRRUhNbXhJVmhteERwTVFBLytLdkRKSnBZZi9qNVZO?= =?utf-8?B?Mm1DdmFkU0c3L3NtOFBoQnpia1pXQ3Z4MDZXRmpKM1piQ2xhTzFYRVd1VU94?= =?utf-8?B?STRZVTFuNHBzSXRlTGZHSDV5OGoyR0N6bld2dlVvb011Mkh6TExwaFo0WHJM?= =?utf-8?B?VElDNUZxZFhtMFFWWjZVVUJOUTVlWkdoUkR4U3ZRakNaa09uRGtyMDlYQjI3?= =?utf-8?Q?i2Hon1pGNSulP1QagqG7Odrxnqf/N0UAzOY6ESu?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: c25561a7-ae83-4b79-6ba7-08d93fcfbcdd X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jul 2021 16:12:51.0073 (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: SdW5n36p19hyxCs685t01pTf5ShDVRLmQ5QnqqscBsCVSpoL9IQ5YjXbn7I+/zTQuYrK+vsEy82TmEPAkXW/mw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0402MB2829 X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1625501596552100001 Content-Type: text/plain; charset="utf-8" All explicit callers of __put_gfn() are in HVM-only code and hold a valid P2M pointer in their hands. Move the paging_mode_translate() check out of there into put_gfn(), renaming __put_gfn() and making its GFN parameter type-safe. Signed-off-by: Jan Beulich Reviewed-by: George Dunlap --- a/xen/arch/x86/hvm/hvm.c +++ b/xen/arch/x86/hvm/hvm.c @@ -1969,9 +1969,9 @@ int hvm_hap_nested_page_fault(paddr_t gp * altp2m_list lock. */ if ( p2m !=3D hostp2m ) - __put_gfn(p2m, gfn); + p2m_put_gfn(p2m, _gfn(gfn)); p2m_change_type_one(currd, gfn, p2m_ram_logdirty, p2m_ram_rw); - __put_gfn(hostp2m, gfn); + p2m_put_gfn(hostp2m, _gfn(gfn)); =20 goto out; } @@ -1993,8 +1993,8 @@ int hvm_hap_nested_page_fault(paddr_t gp =20 out_put_gfn: if ( p2m !=3D hostp2m ) - __put_gfn(p2m, gfn); - __put_gfn(hostp2m, gfn); + p2m_put_gfn(p2m, _gfn(gfn)); + p2m_put_gfn(hostp2m, _gfn(gfn)); out: /* * All of these are delayed until we exit, since we might --- a/xen/arch/x86/mm/hap/nested_hap.c +++ b/xen/arch/x86/mm/hap/nested_hap.c @@ -167,7 +167,7 @@ nestedhap_walk_L0_p2m(struct p2m_domain direct_mmio_out: *L0_gpa =3D (mfn_x(mfn) << PAGE_SHIFT) + (L1_gpa & ~PAGE_MASK); out: - __put_gfn(p2m, L1_gpa >> PAGE_SHIFT); + p2m_put_gfn(p2m, gaddr_to_gfn(L1_gpa)); return rc; } =20 --- a/xen/arch/x86/mm/p2m.c +++ b/xen/arch/x86/mm/p2m.c @@ -333,21 +333,13 @@ mfn_t p2m_get_gfn_type_access(struct p2m return mfn; } =20 -#endif /* CONFIG_HVM */ - -void __put_gfn(struct p2m_domain *p2m, unsigned long gfn) +void p2m_put_gfn(struct p2m_domain *p2m, gfn_t gfn) { - if ( !p2m || !paging_mode_translate(p2m->domain) ) - /* Nothing to do in this case */ - return; - - ASSERT(gfn_locked_by_me(p2m, gfn)); + ASSERT(gfn_locked_by_me(p2m, gfn_x(gfn))); =20 - gfn_unlock(p2m, gfn, 0); + gfn_unlock(p2m, gfn_x(gfn), 0); } =20 -#ifdef CONFIG_HVM - /* Atomically look up a GFN and take a reference count on the backing page= . */ struct page_info *p2m_get_page_from_gfn( struct p2m_domain *p2m, gfn_t gfn, @@ -2086,7 +2078,7 @@ int p2m_altp2m_propagate_change(struct d else { /* At least 2 altp2m's impacted, so reset everything */ - __put_gfn(p2m, gfn_x(gfn)); + p2m_put_gfn(p2m, gfn); =20 for ( i =3D 0; i < MAX_ALTP2M; i++ ) { @@ -2110,7 +2102,7 @@ int p2m_altp2m_propagate_change(struct d ret =3D rc; } =20 - __put_gfn(p2m, gfn_x(gfn)); + p2m_put_gfn(p2m, gfn); } =20 altp2m_list_unlock(d); @@ -2195,7 +2187,7 @@ void audit_p2m(struct domain *d, * blow away the m2p entry. */ set_gpfn_from_mfn(mfn, INVALID_M2P_ENTRY); } - __put_gfn(p2m, gfn); + p2m_put_gfn(p2m, _gfn(gfn)); =20 P2M_PRINTK("OK: mfn=3D%#lx, gfn=3D%#lx, p2mfn=3D%#lx\n", mfn, gfn, mfn_x(p2mfn)); --- a/xen/include/asm-x86/p2m.h +++ b/xen/include/asm-x86/p2m.h @@ -503,9 +503,16 @@ static inline mfn_t __nonnull(3) get_gfn P2M_ALLOC | P2M_UNSHARE) =20 /* Will release the p2m_lock for this gfn entry. */ -void __put_gfn(struct p2m_domain *p2m, unsigned long gfn); +void p2m_put_gfn(struct p2m_domain *p2m, gfn_t gfn); =20 -#define put_gfn(d, gfn) __put_gfn(p2m_get_hostp2m((d)), (gfn)) +static inline void put_gfn(struct domain *d, unsigned long gfn) +{ + if ( !paging_mode_translate(d) ) + /* Nothing to do in this case */ + return; + + p2m_put_gfn(p2m_get_hostp2m(d), _gfn(gfn)); +} =20 /* The intent of the "unlocked" accessor is to have the caller not worry a= bout * put_gfn. They apply to very specific situations: debug printk's, dumps=20 From nobody Thu May 2 07:08:03 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=1625501643; cv=pass; d=zohomail.com; s=zohoarc; b=DKFxcmaVRQnQJWcW1+V/TVA77rkKFMf66WnayntO0D9vXxnk+3XxAk7siOZ9/jrZKrHJouxZKuPfXN6xyGHMaijEt+wRUz/8AnSwu5LVVgftQr9JprdgZRzbMx2DlP+lmgOzlWXytYuWwplPiQcX8vj62dW13lwkCL5hRHo7vCQ= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1625501643; 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=biaX5SsQmY+gPFRyLqxO2anEddaixa5bVWAuEYf8xbE=; b=BBZdbvFkw4PDnNZyBDuI82TGYM40FzJP//nRVDjwdB/HO7muKZRYbuXzIBEp2rabnxvU7Vx4Cu2OO2Xyk5qG+CveEvPvVfKbvjB3GesCUpIVFXwmugpbpEHV0T/cECUXBjeY6FWg5iiHH49kQD2UJgo6ApfrCdzxy0GHAKx9YvI= 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 1625501643321861.4663036217869; Mon, 5 Jul 2021 09:14:03 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.150507.278269 (Exim 4.92) (envelope-from ) id 1m0REC-0001t8-Q1; Mon, 05 Jul 2021 16:13:48 +0000 Received: by outflank-mailman (output) from mailman id 150507.278269; Mon, 05 Jul 2021 16:13:48 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1m0REC-0001t1-Mc; Mon, 05 Jul 2021 16:13:48 +0000 Received: by outflank-mailman (input) for mailman id 150507; Mon, 05 Jul 2021 16:13:47 +0000 Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1m0REB-0001sl-7D for xen-devel@lists.xenproject.org; Mon, 05 Jul 2021 16:13:47 +0000 Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id f8ab7dee-ddab-11eb-844d-12813bfff9fa; Mon, 05 Jul 2021 16:13:45 +0000 (UTC) Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05lp2168.outbound.protection.outlook.com [104.47.17.168]) (Using TLS) by relay.mimecast.com with ESMTP id de-mta-36-xUorxK5lMtOQQp4frzxBXQ-1; Mon, 05 Jul 2021 18:13:43 +0200 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) by VI1PR0402MB2829.eurprd04.prod.outlook.com (2603:10a6:800:bb::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4287.33; Mon, 5 Jul 2021 16:13:42 +0000 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4287.033; Mon, 5 Jul 2021 16:13:42 +0000 Received: from [10.156.60.236] (37.24.206.209) by PR0P264CA0051.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1d::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4287.22 via Frontend Transport; Mon, 5 Jul 2021 16:13:41 +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: f8ab7dee-ddab-11eb-844d-12813bfff9fa DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1625501624; 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=biaX5SsQmY+gPFRyLqxO2anEddaixa5bVWAuEYf8xbE=; b=PCfPT0d1pJrfbBm+EDnfoN+cFUDQcO6BUUgvzub3+ct0Ae/EzXSaLxvnXifnJXepci1dmd mvJFXKV4OSf1wmhlEXlJQ/ZEBTwJDaNwKsDI9X9dXRn5XTbwfu30xqtcdhaAi9W8XHqsxf qGzYtIBU0RJJpD1YfE/Y4xppfuG8/Ks= X-MC-Unique: xUorxK5lMtOQQp4frzxBXQ-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=YHjrJMkWOlKW0atV6/tIGhbejcpcYsg6WcL/qLaoY6R0p04IFDvWittu43xBdPy7BKoTKFa54uvbvYVse+OIwgen2s2HC8+DLKfX0+wPFu9S8TpecSd+8WTYrSivg9YiUW7FijxmfwfgdPo3US51s4eEPcKAzSaG4eYjRuGBKF87M67PSsH3MUkX5SXkEyOpeXajgyY+2lW/S/oH9p5sXExEqMnZgIchjv5eFOcuqldtx648IL5Mbo+aespZFi7a25n6hcvILsJLb7sIOe7X4fJi6EZy2A+qM86N9jkt75XMtOJVpBT44aeAd8t+vr7XT6oU+KzIwaL+GlF/8StKcA== 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-SenderADCheck; bh=biaX5SsQmY+gPFRyLqxO2anEddaixa5bVWAuEYf8xbE=; b=BhmIRUkmTymks4xRaWgAgc4HRlbV+ve6Yb0scmxyuxHYvg0+5SXLupVe5Cd7oUful46m4P79PLOFyDdmwgYwUPGDsm2zG5MUK509COTwudGs7XNiPuA1nb9mDZk1qTQv/LmKyDQxHY+le54P39rFphJz4VeVulD5LtYxCFvMQXDxnT8DGjyptT5VuJUT0S13qXFIqGTXGvkBP4uM+JAmgT2ypJiR6d2k8dN6wi6Sh7H+ZzA675vtlyZyB3pKVcPF0SBuES8zU5bYe2tVdnfxr9Mzmzo9XsGAmnVKeXrLAJ9elIHxrK5c4jlLXiy1Mk0MjRXn8JuBl4M+mDUS1/KCYA== 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: xen.org; dkim=none (message not signed) header.d=none;xen.org; dmarc=none action=none header.from=suse.com; Subject: [PATCH 13/16] shr_pages field is MEM_SHARING-only From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= , Tamas K Lengyel , Andrew Cooper , George Dunlap , Ian Jackson , Julien Grall , Stefano Stabellini , Wei Liu References: Message-ID: Date: Mon, 5 Jul 2021 18:13:40 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 In-Reply-To: Content-Language: en-US Content-Transfer-Encoding: quoted-printable X-Originating-IP: [37.24.206.209] X-ClientProxiedBy: PR0P264CA0051.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1d::15) To VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 7d9a75ad-11ed-4b60-6e92-08d93fcfdb6e X-MS-TrafficTypeDiagnostic: VI1PR0402MB2829: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:7691; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 3SoEema9qzsveH6aBAU6SPiY2JSKP0rgPrfvuG/4TlS0KK0+swEjihV7bFz4IUXtVw9tI3xcMx4M8tajD3hAgUDQTQ88Bv2kHznkrwnbHgLQCgTgyBT9Lljiq36U1a8wGKxcnr9g4s8MeizW9Unobic6PlOi37vWQ1iGocaQpDaDTm1LR8DONS/mJ0eiOqsmCjFRCeIspPb8EvzP3423ZMBQt7VUxl3/nG347EqabrGHJSFORLJVbQFMA5A6ugM9PHTPEiY59r9Myiot/DGlIkkkDCTNbO86j7BLt3kA7niUQQpuVFNvXAYy8IEvrE6Nw+ueMyPRD16Nwk15N3bn7ow77QErQDvPmf3rTr5OTOYSqs1+UVY+/F0xCkWS3Op6d13W+xTXCR2X5POuSBMsIUgDZ8JkktIXwVerE0EyqISu9w6uGs4cEEyUyYsydECoXO7wAC/ORZGKqM5yDmL+2l7r7yYlmCvKF8BopuTMFPCxtzMept92BtQNlMp/WCH+UO6ROT0ckP526mP1Gw/VwWlnrBmgbrB65yG9hCAAux0M/i1KyctA+2WmSxw27LhmHTxh54k9nJo5Xwv1bcrA5r0mOFZwJmlzs6edJnGg/7Mf2siYRTKpIzSb0acZEBxkBkWhT/pPcxn1xG9I20Um+EbUsgRYq8pha1e5m8uGEKCEFwWOU23lsCogfR3xI5zM32pFBjnfhOPqknqB8kWQXiB1mD+ykj0eKOzIhUPz/yw= 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:(39850400004)(366004)(136003)(376002)(346002)(396003)(6486002)(26005)(16576012)(478600001)(2616005)(956004)(86362001)(2906002)(6916009)(316002)(83380400001)(8676002)(16526019)(66556008)(36756003)(8936002)(38100700002)(54906003)(31696002)(4326008)(66476007)(186003)(66946007)(31686004)(5660300002)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?MVdUR0RHWDk1K082RlVNSklLczg0YVRzS2lOVXJSbVFMVlZwY0lzdWhzSXNZ?= =?utf-8?B?TkFCVDJPRS96SXFzcVorS01BRTZ0Wks2bUFHZDJOZnRySEU1bEpuckJTcTJX?= =?utf-8?B?TDdGZHpKM2poNU13d0xBNk41V1RybmtkVXdISWViaTloekd4YlJBWUJvdVJk?= =?utf-8?B?c3VIN1drVDNMSVNXZVJGQ0ZXOVMwcmVsMUVvUFBOVkJMY1Z5YzBHNlNJVHFj?= =?utf-8?B?VHhEa09KT04vQUVEU0hqMkdYWnVQOWM5Nm83UkdGTGQ5OFNrS0RkK3BOcFc0?= =?utf-8?B?MFpYUXlyc015YWpvcmUyRmFsOXY2eVZyMDBBa2xaUEpxdW5QQlFIMHJCSWt5?= =?utf-8?B?VzhKdFZvYVcxemhMTkRXSkJtZysxR20zQWRCTnVZaXVvMGQwaW5CRjBEcnJR?= =?utf-8?B?dXZUenN0cGVWaitKZ1B4bFREVGRlM0dzYXV6ZnNVZWNNeDJ3bitRWlVLREtJ?= =?utf-8?B?dXZISTQ2Qm5zV3FaZ3JZS3JDRHdiM0w4eml2YlRXc2duL0d5L1pTWHNkUWVa?= =?utf-8?B?Wk92cEQvTENxUEpNdFFkL3FCN3dDY3l4VVRjS2liOFVwWjVFbENnMDgzYVR3?= =?utf-8?B?NE9wNldubitwRmJoa2k0QWYvSmJZaU1Kb0xzc2VRWUxBVVRjRXBrdmd4cmFV?= =?utf-8?B?Qm85NFRtWWJpZmI0dWx5WjRHTWwrNjVDazZLSTFocGcxT2NlRGluSGY2SXIy?= =?utf-8?B?L2d5VUtDYzQzeUEyV0Y2R0dxU3NkWVRWUFFlMkRqSDFyaVF2cXI1K3hxQjlW?= =?utf-8?B?Nm5reFFXN01odHJwSkpQVy9BMk1YWExIdTB5UU1jUXorVzB2OVpmTWIzbnA5?= =?utf-8?B?Nzk0elJ0Q0FsQkZ6S0RBcjcvSDlxSFhGY25VWmIyb2FDUmlnYjJncEU2dnR6?= =?utf-8?B?aTFzdS84QVdnWWtWT0dQZkRISjM5bTc0QlBsdkpJTTlsMm1BdHAzNVRsaFVk?= =?utf-8?B?NDZzM3YwZjUwTWVRQnJ1b2hoZ0dvTFNPeTRSRm5CZnIrRFMwZEZmY1ZuMTZX?= =?utf-8?B?WldlaVhTV3N5eDI4Uk5UMFB1Umh3Z29uNERaalhWVmRpeE5sRVhUUVE3UkNq?= =?utf-8?B?eU5DbHBkZ0tmY2EzSHNTNURFM2JVZnRha1lKQzRYdGMrZHErb1lIZGVaVHN1?= =?utf-8?B?UmlweXZrTTh1YUFCa01yZVozcEVsZmRlV0JQUlpmRjQrTk1DM21YbldoUG9U?= =?utf-8?B?TUpOUGJFbUVTTFVFZDNzc0pyQmhIWkJjcHh3T0JINXBYL3l4UkNjTzB4aGtS?= =?utf-8?B?bzhWY2plOUpybmttTVhCY0l6RCtmNnZiNk9TRStsRmtHZkIreDdoVWg2VW5r?= =?utf-8?B?MlRCc1ZPUGdpb1pQaXd1MTJlS2V5NnFiWDFJUkFuVkhxbFIwak5rNDVTTi83?= =?utf-8?B?TTdrV1lZZUhUb2NISmRnWE1TVGlhTzVqLzliOTBvNEJscEtOL0c3NXpDRmJ6?= =?utf-8?B?azVrZjRadDNpb1VIYXAxMmxySlplMW9nbXhQRUY1N1FCek5QWDVMRHBVZnR6?= =?utf-8?B?cFo5c1NWTDYvVlQ4R0lTbzE2MUI4OHl4Zk1rWjJBRHRoWFJRVjRsbWxnRGVn?= =?utf-8?B?dHArOUpzRVduVTJtZy9tWERLQ2lML0pTK0ExU0UvY1MwWXlUR2pwQjEralJr?= =?utf-8?B?bGVFaFhHbDZ5V3VNVmtKZS9oWWZDcW1PV3ZnZ1ArWlJWRzR6bDBDZEZHMENV?= =?utf-8?B?bTh3bGovMkN5S2l2a0I5VzFaMThMU3UwTXluRFZWM1FXbnpEM2pOanluSC94?= =?utf-8?Q?niAgvylicZ/ygntfKPgX8ZpWPhjzd7w+fOF2Oyt?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7d9a75ad-11ed-4b60-6e92-08d93fcfdb6e X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jul 2021 16:13:42.2932 (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: 3VHQv4+gLQmlrhwxC2FJBLrxMNW7prRSD7DCFzKrNFGfbxqMLReTNxsisnUQYd0Lm95diYXgvrf3hdbr7U+T2w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0402MB2829 X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1625501647603100001 Content-Type: text/plain; charset="utf-8" Conditionalize it and its uses accordingly. The main goal though is to demonstrate that x86's p2m_teardown() is now empty when !HVM, which in particular means the last remaining use of p2m_lock() in this cases goes away. Signed-off-by: Jan Beulich Reviewed-by: George Dunlap Reviewed-by: Tamas K Lengyel --- I was on the edge of introducing a helper for atomic_read(&d->shr_pages) but decided against because of dump_domains() not being able to use it sensibly (I really want to omit the output field altogether there when !MEM_SHARING). --- a/xen/arch/x86/mm/p2m-basic.c +++ b/xen/arch/x86/mm/p2m-basic.c @@ -159,7 +159,6 @@ void p2m_teardown(struct p2m_domain *p2m { #ifdef CONFIG_HVM struct page_info *pg; -#endif struct domain *d; =20 if ( !p2m ) @@ -169,16 +168,17 @@ void p2m_teardown(struct p2m_domain *p2m =20 p2m_lock(p2m); =20 +#ifdef CONFIG_MEM_SHARING ASSERT(atomic_read(&d->shr_pages) =3D=3D 0); +#endif =20 -#ifdef CONFIG_HVM p2m->phys_table =3D pagetable_null(); =20 while ( (pg =3D page_list_remove_head(&p2m->pages)) ) d->arch.paging.free_page(d, pg); -#endif =20 p2m_unlock(p2m); +#endif } =20 void p2m_final_teardown(struct domain *d) --- a/xen/common/domctl.c +++ b/xen/common/domctl.c @@ -109,7 +109,11 @@ void getdomaininfo(struct domain *d, str info->tot_pages =3D domain_tot_pages(d); info->max_pages =3D d->max_pages; info->outstanding_pages =3D d->outstanding_pages; +#ifdef CONFIG_MEM_SHARING info->shr_pages =3D atomic_read(&d->shr_pages); +#else + info->shr_pages =3D 0; +#endif info->paged_pages =3D atomic_read(&d->paged_pages); info->shared_info_frame =3D gfn_x(mfn_to_gfn(d, _mfn(virt_to_mfn(d->shared_info)))); --- a/xen/common/keyhandler.c +++ b/xen/common/keyhandler.c @@ -274,9 +274,16 @@ static void dump_domains(unsigned char k printk(" refcnt=3D%d dying=3D%d pause_count=3D%d\n", atomic_read(&d->refcnt), d->is_dying, atomic_read(&d->pause_count)); - printk(" nr_pages=3D%d xenheap_pages=3D%d shared_pages=3D%u pag= ed_pages=3D%u " - "dirty_cpus=3D{%*pbl} max_pages=3D%u\n", - domain_tot_pages(d), d->xenheap_pages, atomic_read(&d->shr_= pages), + printk(" nr_pages=3D%u xenheap_pages=3D%u" +#ifdef CONFIG_MEM_SHARING + " shared_pages=3D%u" +#endif + " paged_pages=3D%u" + " dirty_cpus=3D{%*pbl} max_pages=3D%u\n", + domain_tot_pages(d), d->xenheap_pages, +#ifdef CONFIG_MEM_SHARING + atomic_read(&d->shr_pages), +#endif atomic_read(&d->paged_pages), CPUMASK_PR(d->dirty_cpumask), d->max_pages); printk(" handle=3D%02x%02x%02x%02x-%02x%02x-%02x%02x-" --- a/xen/include/xen/sched.h +++ b/xen/include/xen/sched.h @@ -385,7 +385,11 @@ struct domain unsigned int outstanding_pages; /* pages claimed but not possessed= */ unsigned int max_pages; /* maximum value for domain_tot_pa= ges() */ unsigned int extra_pages; /* pages not included in domain_to= t_pages() */ + +#ifdef CONFIG_MEM_SHARING atomic_t shr_pages; /* shared pages */ +#endif + atomic_t paged_pages; /* paged-out pages */ =20 /* Scheduling. */ From nobody Thu May 2 07:08:03 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=1625501681; cv=pass; d=zohomail.com; s=zohoarc; b=CXC11EJqo+KEcVjzR8v16eeN71rhr3ClOSOzMZfKSugRdB6jr8NG78v5IcKioL7UULF4MfxHnIcu+0XiXHcaK2u5oOn6yuav+oUyrb+M4vkQGedXYD1+7Qr5jd1ifRcrzKSmFPcgqjmInJMHCcFKmU2H63msysyZ56Kd6aVilFU= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1625501681; 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=SE8Wia9zm61iMhrCrdaQ5NA8h1Pf4RFF97weGVEt5BA=; b=krOjQiAEkZohuV/BMuqaFdBgM+f4aFewNCcPrmG4eCHdCeq1Ddl45AwWf+E7/uUriYmp344AHlIiAS/5ny0qTURwWbRjE5yQZ3K5YH7BTRrgoaQvCkMtwQUB7PABCb0YqvN+pR1SNUj19bTifOZgMAieXpV9fvT6/M5/BbU2Cfo= 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 1625501681814118.59504199582568; Mon, 5 Jul 2021 09:14:41 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.150513.278279 (Exim 4.92) (envelope-from ) id 1m0REm-0002Ry-2g; Mon, 05 Jul 2021 16:14:24 +0000 Received: by outflank-mailman (output) from mailman id 150513.278279; Mon, 05 Jul 2021 16:14:24 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1m0REl-0002Rr-Vh; Mon, 05 Jul 2021 16:14:23 +0000 Received: by outflank-mailman (input) for mailman id 150513; Mon, 05 Jul 2021 16:14:22 +0000 Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1m0REk-0002Rj-RL for xen-devel@lists.xenproject.org; Mon, 05 Jul 2021 16:14:22 +0000 Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id 0e652e46-ddac-11eb-844d-12813bfff9fa; Mon, 05 Jul 2021 16:14:21 +0000 (UTC) Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05lp2172.outbound.protection.outlook.com [104.47.17.172]) (Using TLS) by relay.mimecast.com with ESMTP id de-mta-36-OE61xHFRP1q8W0wKZCZoCA-1; Mon, 05 Jul 2021 18:14:19 +0200 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) by VI1PR0402MB2829.eurprd04.prod.outlook.com (2603:10a6:800:bb::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4287.33; Mon, 5 Jul 2021 16:14:18 +0000 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4287.033; Mon, 5 Jul 2021 16:14:18 +0000 Received: from [10.156.60.236] (37.24.206.209) by FR0P281CA0084.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:1e::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4308.12 via Frontend Transport; Mon, 5 Jul 2021 16:14:17 +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: 0e652e46-ddac-11eb-844d-12813bfff9fa DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1625501660; 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=SE8Wia9zm61iMhrCrdaQ5NA8h1Pf4RFF97weGVEt5BA=; b=Yb8yBTDb+NQuyVLclt4YehGLeraLfF5zELXNUAs7KI36Bzz03QROZVh3Tl8OQXITUif2d7 fs0gCwwZr5505Z+YREFUVjZVC+huwCS7bJHyRqbpMjh0G/U1z0suUVbiaWUZjwu0gFUS6q UR66xk8tU2CcpUj+17B47EP2aTFtbSk= X-MC-Unique: OE61xHFRP1q8W0wKZCZoCA-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=cuAjUIEwdgZp0zcXUX35ro+FoVIW3GjIUk02XXdU7PwL60awowAeSfyH3p+6jRpWBkz32iCJe8K3jXYgkHtTKHWQBxxyaTQGqj+j7XQpxS/RLAIul7wQrl/uj4dqgjbkPY8Naw9S1ruG8MyrIud0B93/Jvz6FsDuTgZ/WVrMKZ7AXLZ0Mml6vz5s9ur4ePpDg7k7o5UH0sim+qbsFewNgNashAnb3U1Uekkv6L7QPreVfKSafxbiCx7O5yTgbfRDzxrdx59ta5JK3GwjoMvUUSWq02EfDenwON7cAfgb71WTeHpQGjUKkyXL9SaV0opqvzzXUbm5r51J4QUdeM/f6A== 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-SenderADCheck; bh=SE8Wia9zm61iMhrCrdaQ5NA8h1Pf4RFF97weGVEt5BA=; b=Gh5nyEls9IdAabiPi3v+agXhVcClU8qGz8Xt04Do1rMM2FZ2atuyEW6QWPBmX6EvRhWVbbl9N8vuBpIrNHzmdVcvLbThURsDHtVJh39rgfeDaqF1dHvCwkr1x/aiACz7gTEfTgGW6pF1TOQdRn5D/l9N4zSATNxNwGk23AsSu5kUlAhtKDxnt2QL9SyH4Te6YrCSrvuA7mBj5yp1yPuw5iKT4SvXLhpHQ5YW2UnTWACBZlM2p2c+X2lkcOS+zRtyOqLYwEmIomXAQhoMzyBLs9fvGMccCbuThz72L17rnCHQkF7IO63/r/4MOwpmdBhi8ahNJ36m4KIa8bW7Fafggg== 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: xen.org; dkim=none (message not signed) header.d=none;xen.org; dmarc=none action=none header.from=suse.com; Subject: [PATCH 14/16] paged_pages field is MEM_PAGING-only From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= , Tamas K Lengyel , Andrew Cooper , George Dunlap , Ian Jackson , Julien Grall , Stefano Stabellini , Wei Liu References: Message-ID: Date: Mon, 5 Jul 2021 18:14:17 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 In-Reply-To: Content-Language: en-US Content-Transfer-Encoding: quoted-printable X-Originating-IP: [37.24.206.209] X-ClientProxiedBy: FR0P281CA0084.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:1e::23) To VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 9ac3251a-5d68-4396-5a9a-08d93fcff124 X-MS-TrafficTypeDiagnostic: VI1PR0402MB2829: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:7691; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ns1tYEUSGRJ+NDUmSLhzDmSiVwqFXjy8snJjKEOqc1C7zVNCCaELy4OiXZUx84klKxDgP16aINfAmqn8zXv6THQAH5nYWnzC3nvvOuuNnuO8eF4pLlkiRo0xiu871s8+sliomkAnJQnYqdWdpGji3yYCVAGknYqvw8jmrRQeXwGgKfpcUd76mdp8ML8wEV+rqZr8W2H3eYvQiV1wdirOP+5GutmihGoJAGRJ2zmiayNMFComrQ+0mRcfVMxBJoNW1oQg5GNeePgdzv+jNKh+dJj6xtGG3v0Ep4KgYZukdgMVrU+LY+wpIvUgjEw1WW2J1R3ISZBY9qoG7v8ziEhKclcxGig6KihXHYF8Gim+KPNs6DF6yOoLlByT6I1LpoehqNYNqeolNgtr1ZPZXqjE/Qks4LYDQgCTxmTTTHVEFucQ1bUVz3zxA9DMjOyGhLmTeeOP5AMOoDcOs37IEyGQe2j5gd/zoYCOeorBdDisl0R+HMO15dnm+TDL+Xahsvp6oSErOnRaQD8bI4l5+AWlrDnukvJ8ymsWrtCFXJhfMvf4YOYsB7cIzUj2HV+Zk/VHPlXeeo2KFMX/SsK6zSMQQGbeuiIH0ce85mb2g1yZBcBB/BXtqRMDdHQQ1V0ORZX+7r+2BcUrJgezkCmq5vR9CNoDdB6JtRASq04LtNAJHw9l6ztf2QBldFpkipMSSnuWNQFCsGSlfoXn5J1JjoqbmGgj5q9TqIEp4Em2VE3uryI= 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:(39850400004)(366004)(136003)(376002)(346002)(396003)(6486002)(26005)(16576012)(478600001)(2616005)(956004)(86362001)(2906002)(6916009)(316002)(8676002)(16526019)(66556008)(36756003)(8936002)(38100700002)(54906003)(31696002)(4326008)(66476007)(186003)(66946007)(31686004)(5660300002)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?eDhYSElWUllMWXhGelJ1bDJ0cldMS0ZnS2x3NEtENGlaWTBXUGZSKy82R3ht?= =?utf-8?B?T013WkYvZVNlSjlZZlJSQmsvdjJ3eVl5cjMzYXZLQ05kTFEvdXFMTXkyTFpP?= =?utf-8?B?dHVNOVU2U1NKTkpqMVJsYzlqUDdEblIzZ1N6SzY4SGFTQklkcVNKT3UzQ2xV?= =?utf-8?B?VUgyTUd6SDhJVlN3VmU0MzVEZEcza2lFYXkyTzR6WG53N05SSUNIMXo5WitJ?= =?utf-8?B?dGNuR1QzL2N0cVFoMjArRFJERlhlUWE0QUg2NFc3OFR5OW1zMmJFZzJXaG5a?= =?utf-8?B?K1YyQ1lGQWVTTHZBMUxBaUl5QXhObXhhWExMbUxmMmhkVG5FVWtlcCt2VzZW?= =?utf-8?B?WG1nWDYrOTFUSW9naWIxaXNBYjUvS25MYThndHZVNEdGOVFGRXFIQkh1VGo0?= =?utf-8?B?Z2R1ZTJFbmo2dkRvSzJYd3BFMVRhd0NJRklYbC9aNGlzQUtTN2pSS0tyUERz?= =?utf-8?B?Yml4Nkk0WGN3Qkh5QlBVcW5yNUpxTDV0WnVTcnlJbGVqcENuKzB6TXJXbXJR?= =?utf-8?B?bzQxbXlhYWkxeTVsczJOS1ZRRHJlaWl5cyt0ZXA2dzFvL01rNm81bzBaRUpt?= =?utf-8?B?SmdySzI5b3pGUURjSE1MMXJFdGNwZ05SVmIwUW5kUjVDRVE2UHFCTkxndUVt?= =?utf-8?B?TVQvUy84OEcwbi90aWIvaGJzbUVmMExDTFJuM1l6Vnk5THRqMGpqYmkzWFFF?= =?utf-8?B?MkxKZjR3K3BEcG5reHdxSytlNTFFd29Nd2RMNkhRQVFJaUpjdFRLeEVBVm5B?= =?utf-8?B?aG5GaUk1aDlnK1kwa0pDL3lRSndkaGY4dVI3aHF1NnZ4RnpkQVlOMC96Mi85?= =?utf-8?B?dm9aZFpKb1FaYk1WUGFleEhRV09adjYrZ3JFMU12Y0hyUUZobGdSTlRLU2E0?= =?utf-8?B?RlY5TW5FTWxsQi9pbTZCOUU4ZUZQc0pQRHN3aHk3RGkzQ0tDcVQ0NmlraEtZ?= =?utf-8?B?WjlEZzM5Tnd5WVI4VTFCclBseUlVTDU5LzNXaW14SVZOVnVRYUQ0ZWIwRXBn?= =?utf-8?B?cWVXMGlvSGhJdGxZYzhXZGRmemRGN1RkV1kwWHBLRnR5eklRL1VhdklQWWsw?= =?utf-8?B?NVlEQ3FQaVhtTEp3SlZpeU9BWXRVSDN4QWJqZXFLdElXRVF2ckEzenFKdXp0?= =?utf-8?B?L3hUK2dwTWZ6UlgwQXIrMU1pTnlJWHFaLzBjSzJXbDZlWDczdEF6bmJIT3Nk?= =?utf-8?B?aFRnM3o3OWNJMTdEWWN1MHpKbHBRUXltK1Y2Zk5YNXVkQWN2T3dDTFo3ZEVy?= =?utf-8?B?a2k2dkd1eXZ4MTFiZnZUZjdjSDFvVThSSzFmek1aeFA1QlQvM3B1aXNWcmdV?= =?utf-8?B?eFhQZnY4VzZBKzlFbUVmUjRHejB0ZHFjaFNiaFJQOFlaOVpGSG5qWXJHY09H?= =?utf-8?B?Szl3OEtMbDl4QXJJU25JT1ptYnZQZzY4K1o0c1N5ZElHcDh2YlVaWkEvQjA4?= =?utf-8?B?Z2ZvTHVtT3VrVFFUMFJqRDN4YnYxN3A3NFQyWkVRR3AvV1FYdEhhK29LdGF3?= =?utf-8?B?dGhhK2N5akZjcFFPTEFvUEdmeDVEbG16OW9vT2hjN3IxcFp0NFMwT1VFU01E?= =?utf-8?B?RlY2MjBmdUt2ZThlQ0p4REtxdWR5QzQ1dTU0aXhJLzB5K0pUQXRuYU5MNlYw?= =?utf-8?B?Rml5UW1uMW5DOUxzNFZ5c3hVOW9qNGlxVlNEcTdHZjlTRkNFMlQ4clpYUXVQ?= =?utf-8?B?MnlVdWhuT1BZL0ZOeVdWa205czBMOTRtcUFFTzI3UmRSYUY0NEVEZDEvYTlK?= =?utf-8?Q?aIoZZEMvtlO8BI6CWq6a8uyFgJljUcLhGRjgvsR?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9ac3251a-5d68-4396-5a9a-08d93fcff124 X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jul 2021 16:14:18.7336 (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: 7J79D1wJi9TCx7nxk4QDPnugR5HQQ81UdQx2OpXzRgDBPFlohSdWByPjxvCwgNxPqsto/x3qFV5UxQtMsccSuQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0402MB2829 X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1625501686449100001 Content-Type: text/plain; charset="utf-8" Conditionalize it and its uses accordingly. Signed-off-by: Jan Beulich Acked-by: Tamas K Lengyel Reviewed-by: George Dunlap --- I was on the edge of introducing a helper for atomic_read(&d->paged_pages) but decided against because of dump_domains() not being able to use it sensibly (I really want to omit the output field altogether there when !MEM_PAGING). --- a/xen/arch/x86/mm/mem_sharing.c +++ b/xen/arch/x86/mm/mem_sharing.c @@ -1213,6 +1213,7 @@ int add_to_physmap(struct domain *sd, un } else { +#ifdef CONFIG_MEM_PAGING /* * There is a chance we're plugging a hole where a paged out * page was. @@ -1238,6 +1239,7 @@ int add_to_physmap(struct domain *sd, un put_page(cpage); } } +#endif } =20 atomic_inc(&nr_saved_mfns); --- a/xen/arch/x86/mm/p2m.c +++ b/xen/arch/x86/mm/p2m.c @@ -666,11 +666,13 @@ p2m_add_page(struct domain *d, gfn_t gfn /* Count how man PoD entries we'll be replacing if successful = */ pod_count++; } +#ifdef CONFIG_MEM_PAGING else if ( p2m_is_paging(ot) && (ot !=3D p2m_ram_paging_out) ) { /* We're plugging a hole in the physmap where a paged out page= was */ atomic_dec(&d->paged_pages); } +#endif } =20 /* Then, look for m->p mappings for this range and deal with them */ --- a/xen/common/domctl.c +++ b/xen/common/domctl.c @@ -114,7 +114,11 @@ void getdomaininfo(struct domain *d, str #else info->shr_pages =3D 0; #endif +#ifdef CONFIG_MEM_PAGING info->paged_pages =3D atomic_read(&d->paged_pages); +#else + info->paged_pages =3D 0; +#endif info->shared_info_frame =3D gfn_x(mfn_to_gfn(d, _mfn(virt_to_mfn(d->shared_info)))); BUG_ON(SHARED_M2P(info->shared_info_frame)); --- a/xen/common/keyhandler.c +++ b/xen/common/keyhandler.c @@ -278,14 +278,18 @@ static void dump_domains(unsigned char k #ifdef CONFIG_MEM_SHARING " shared_pages=3D%u" #endif +#ifdef CONFIG_MEM_PAGING " paged_pages=3D%u" +#endif " dirty_cpus=3D{%*pbl} max_pages=3D%u\n", domain_tot_pages(d), d->xenheap_pages, #ifdef CONFIG_MEM_SHARING atomic_read(&d->shr_pages), #endif - atomic_read(&d->paged_pages), CPUMASK_PR(d->dirty_cpumask), - d->max_pages); +#ifdef CONFIG_MEM_PAGING + atomic_read(&d->paged_pages), +#endif + CPUMASK_PR(d->dirty_cpumask), d->max_pages); printk(" handle=3D%02x%02x%02x%02x-%02x%02x-%02x%02x-" "%02x%02x-%02x%02x%02x%02x%02x%02x vm_assist=3D%08lx\n", d->handle[ 0], d->handle[ 1], d->handle[ 2], d->handle[ 3], --- a/xen/include/xen/sched.h +++ b/xen/include/xen/sched.h @@ -390,7 +390,9 @@ struct domain atomic_t shr_pages; /* shared pages */ #endif =20 +#ifdef CONFIG_MEM_PAGING atomic_t paged_pages; /* paged-out pages */ +#endif =20 /* Scheduling. */ void *sched_priv; /* scheduler-specific data */ From nobody Thu May 2 07:08:03 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=1625501706; cv=pass; d=zohomail.com; s=zohoarc; b=Lm56uMNzNZgxZPTeFzEm3YKC/w3leqFZf2KQMGV/jCK2YHSw0Ng/lU2rJfB8lpVoMMuekQmfJzL+fyCeMLRG6v9iiCQEeN6fPt2MpIR0sW/dQVpaGzvF6L3ktSzyg6BX8u+0ngb+FXDDJljGgcBatrC2sD+h8ibdpTxdsUBZAtQ= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1625501706; 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=RREdxymQaAXQtLLMkVVF928yZA3I7Wa987QcwLYQXxI=; b=NRwEilGFN1SMLZ6mRXrjjgltrC/moNR6AcBj//4OfPdVArC827/Pzp9Hw7zPsERhd5t80MyKZBi/RGGKd1D4+OiHdGAqC9ORENM3MvFhZ8tLEDu0HjLpPwLcMeKajtOTfdyCxdI+DXz1NFmGlyue8uwW4ExqJQRz7J3ZlB4wlJs= 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 1625501706863268.34378072383356; Mon, 5 Jul 2021 09:15:06 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.150517.278291 (Exim 4.92) (envelope-from ) id 1m0RFD-000339-DY; Mon, 05 Jul 2021 16:14:51 +0000 Received: by outflank-mailman (output) from mailman id 150517.278291; Mon, 05 Jul 2021 16:14:51 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1m0RFD-000332-9p; Mon, 05 Jul 2021 16:14:51 +0000 Received: by outflank-mailman (input) for mailman id 150517; Mon, 05 Jul 2021 16:14:49 +0000 Received: from us1-rack-iad1.inumbo.com ([172.99.69.81]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1m0RFB-00031a-GZ for xen-devel@lists.xenproject.org; Mon, 05 Jul 2021 16:14:49 +0000 Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS id 154712db-250e-44bd-953f-956c64bec38b; Mon, 05 Jul 2021 16:14:48 +0000 (UTC) Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05lp2176.outbound.protection.outlook.com [104.47.17.176]) (Using TLS) by relay.mimecast.com with ESMTP id de-mta-30-27NWrKgeNzSqBjibl8V9Qg-1; Mon, 05 Jul 2021 18:14:46 +0200 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) by VI1PR0402MB2829.eurprd04.prod.outlook.com (2603:10a6:800:bb::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4287.33; Mon, 5 Jul 2021 16:14:46 +0000 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4287.033; Mon, 5 Jul 2021 16:14:46 +0000 Received: from [10.156.60.236] (37.24.206.209) by PR1PR01CA0029.eurprd01.prod.exchangelabs.com (2603:10a6:102::42) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4287.21 via Frontend Transport; Mon, 5 Jul 2021 16:14:45 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 154712db-250e-44bd-953f-956c64bec38b DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1625501687; 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=RREdxymQaAXQtLLMkVVF928yZA3I7Wa987QcwLYQXxI=; b=YaEByNrtP+F49+6bfEmtqTrswurUj3/WRkt8+uAPRXzWoqu00rln66jOCVBtjuGUAC26aZ 2C85nZ6fxcmmxQ4SSxI+/Y4XjUOjCM7MWmA+XJmv/Y50wUfxVBVDicay7op4tYYWmXvPHY OOO386xCQTQfvcAntu3EGRmrN6OefqI= X-MC-Unique: 27NWrKgeNzSqBjibl8V9Qg-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=frSWrQyG0ml5v4VpM9e6S0cXv+ZoMc9QO86XLXlzfFQimL/3X+bv5PCrbhzwNkvJz5nQx/Y4pezHAOlg17/wKsAHvXcsh8PZGYmEyrzyOw45xEKr7HH1QXeBTpj1oGqmwYHIoMqFSGBhm2U7+boLA3xxmhKvTuAYnn2rZLx78E5dm7Bio04XOyBAO27nh2J9MAh8r45NQH121GULhx5O33NNDFwaXIl/wSPdgnhdf1/17UYNMDmL/fGa1tJYoMcKUa7WKMlgrsqK//mUR94OVrrQ5Z0tNgj39HahPxX2XE0iSqkBF+w3efmlJV0JdouPmNBLogyv7f7fRZuXs51xyw== 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-SenderADCheck; bh=RREdxymQaAXQtLLMkVVF928yZA3I7Wa987QcwLYQXxI=; b=DCnJ0ceenuP5NLPNWQSvH8/MfqQlzvroRBlrcRjmYuZd/f+D40tVHSaoAhlABavaX6D7On2gV6ssY04iDZwz0MIJjBt8DhlnEOOmhxsCmiOyqkLsgB9fIy5jzgaxgdKlaqJi6rtiHBdBBFHymZka6KtncJ13Sl61Ykm20wsuLJOoOCrtYeCxa/OUozruFieODExV6i5IfTacR0VWSJAy3azRi6brH8Cg/fza3LKI0qdpSydRRO6JnwYh/xYd421uaX9vlrivfYP5UdRgb1lzNRm11Zh5BOFmegY/O5LbUjbAy9anmElcaPazoBc3fhOcHItQ1mvFxFXLcceig1XrLw== 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: citrix.com; dkim=none (message not signed) header.d=none;citrix.com; dmarc=none action=none header.from=suse.com; Subject: [PATCH 15/16] x86/P2M: p2m.c is HVM-only From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Andrew Cooper , Wei Liu , =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= , George Dunlap References: Message-ID: <7f868820-20ac-4850-aec7-35bc843cab6e@suse.com> Date: Mon, 5 Jul 2021 18:14:44 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 In-Reply-To: Content-Language: en-US Content-Transfer-Encoding: quoted-printable X-Originating-IP: [37.24.206.209] X-ClientProxiedBy: PR1PR01CA0029.eurprd01.prod.exchangelabs.com (2603:10a6:102::42) To VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: f3a01401-d328-4fbe-fd14-08d93fd00163 X-MS-TrafficTypeDiagnostic: VI1PR0402MB2829: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:4941; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: YNulpkveIax6YbT8wNvgY2XNhbgiaBadZzFGMkNMtIdHK2wZlrVL3v6T/jFepeUbh/pnr0I9zjFSAFHxfDwakfrTb0Ijx7oM3M8HZRKY3JkgVNsogpDZLaVPmIhpa2wbTTfUO3kh6Kh6UlhRkgkRFINrPJ0Bh2eUwyf4RhykaGALDBcXwGPzI/F2z0Dw+bZjhoBBQwuSwEeob01ioV2NDUlFwGO6mi2mQiTdCPDPWycNh9X7Jc7lfhZTtnAaqSV18kEiVGeMtbedEPng7yrQxVVtpisT+oB0FqWRhfKczdpuc0KLKNUlfETXd6zg4kG0fxuEYwTXYCwIlvThgHuAWVOPsWewEvXmq7Zj4WI21MrKEY4uIwj12upiBNIn7R5Rb1qAi+zTHwiTl8UZ/ZBZ6lWFqt/yZggxFRts9hP45rxX3+m97l3m6YRqnAh12UqL8RJZeCdjRVFPS0aFE/GAf3LU1FEpV7qNqpV5AIfgoDlKtFgfMkJXnOkU6SH/r5UcZd79aFobmoz34jHbH67CuEICzhs355UyR/uI0BamPGw3otVayZYBKc/EEIQhf7FK7BftgAH3tE7JH0198sEyqL/2ILywgk0u3080uWIhoIZZxLfOd2jRin8321zfVDD5AGsNFc4N2NSt8yQ2S72w2CTsCauxZbrF6GpCKQ/HmaFu47QEhdUfGuuBWDzFU6fi0NXm/ACMR6mcBJudoi1yWw== 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:(39850400004)(366004)(136003)(376002)(346002)(396003)(6486002)(26005)(16576012)(478600001)(2616005)(956004)(86362001)(2906002)(6916009)(316002)(83380400001)(8676002)(16526019)(66556008)(36756003)(8936002)(38100700002)(54906003)(31696002)(4326008)(66476007)(186003)(66946007)(31686004)(5660300002)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?eE42UWRDcmZGcVdpQjFkUDRQeUltck1MY1JCWUhreGpnKzdoN3ZxUnpsU2lw?= =?utf-8?B?R0dUdTJPdjlKVXFEdnduaUpsbW9zM3lreForL0YzaWdITVV1RkhLY0UvSjFC?= =?utf-8?B?TUJvbWliRlR1bzBDTDh0aDZjMmJac2hVdWN2WGJTcmNZQU16L3BPRjc5V2xv?= =?utf-8?B?SFNNYzJEcDZtNGlnQmZMU1B6WE1iNjNvUjZPanByTzRjMThSTkI1MTdIWFVh?= =?utf-8?B?N3NEU2ZrTkY4SkZLYjQ5dkFTUnMrRnNFTkJZRkF3WXZpaU1RWlliQkttK1Fn?= =?utf-8?B?Sk5tbnNCbDhVMkM2WXU2am5aUkVaNlZzcXpYbmZLNlZ5Y2JNREZpdlNlaWVS?= =?utf-8?B?N3Y4UWg3aUExYXMwV1YzL1R4RUlJOU0za3Bjemd5eWpxaHRPTHBoM0ZKOS81?= =?utf-8?B?ZHQ0a1U2UTRtSlhGTnJsSU8xMEx6SElFWCtkUVl0Z1FzTDhuWFVPRmg3Y29Y?= =?utf-8?B?UG9wY3IwMis2aFI4cXRsWiswK01SR3p4NmlxTlNIenJ0WEpKR09mS0VabmpY?= =?utf-8?B?ZDlrNld0ZDNESnI5T3lqME94QTJRRm5RNnNmUzJNN3ZPZTdrOWorS21QMmZr?= =?utf-8?B?OVlvS2wybVlJcTBmY0pBelpEcW1XSVF3djN1bDhpdW9SZ09IdFZIWEVjMHU3?= =?utf-8?B?MmFxZWc2K1U0eWd6Q1NNZ3QxMTJubmI2UlQ1RVM0WXRDWmpEb1VJa0Y2N0NQ?= =?utf-8?B?Q25CNVJzdEExOVpjNmRidjNtU09md2Z4M0NiWWVTcEl3U1Q3akJPRFd1Ymtj?= =?utf-8?B?VkdsMDczdEROSXpxVjFWU2E3dUVuNkppWjRDVlRwTEZoRm93QUwzdWcxY1Yr?= =?utf-8?B?U2p3bGczcjVEYng2NmthdU5qMmNlTmJ4QVhTRDQ0VW5ObkFSWnBxbmJBaW9W?= =?utf-8?B?SDlNVU5XOHVreUxwdEJnRlZGelF5cDF4K3A3dnhWTW9zcnFjL21iOXRmYkdK?= =?utf-8?B?YzdhcDU2VzF6MlIvTlArUWNkTGlON0dGMmRpUkRHaitsR0w1RGUvc0R2bm1L?= =?utf-8?B?dmlRMUljODhxTWYzODFRNUI5SmxRenEvcEJuUlg2MERWb2l1T0QvdWtnRUlj?= =?utf-8?B?MUNYZUJWc0pDZjdQemVkYkl2TFdTVko0ZythLzc1U3pMYS9JTzJVMXY5VmIx?= =?utf-8?B?Q0g3QVUzM05iN3NrN1YwSXJQMzZiQ250OGtjMGhYVjVmWlVVNFdoaHBMV3hF?= =?utf-8?B?K2E3V1NBSjczMGJkWm9qWnN1MmJJa1BQbnZKUDROa2NBUUwrUXZpUXZ6NHFp?= =?utf-8?B?Q3NvOEczMkxCaG9NK2huQVJtWkdCTXhKVXhJUlVCaFpXWVM4WHFreUtNTVRs?= =?utf-8?B?Zk1sSUdWa0xWV3JpSjU5NkRZb1FqNXl6ekpZM2J5L0ZjdXcvUUhObGttUDZ3?= =?utf-8?B?Y053QVVtb1pNZUhHc2JRQktVQjRJUzVrYkUyZHRadHVrTTdpNGliT09lMTNu?= =?utf-8?B?cTQxay9GQ3JiaGtHNTh4WlNhRG9EVVB4aXNLRG1VQVhBc1lKVWtxYXZCWEtq?= =?utf-8?B?c2FKN3RhMFdSN3hrdEZWNFlNSVUxTmFmWXZqMmxzY1B6VjBSbTNsczlZQ3F4?= =?utf-8?B?T0JURnhsUjZrY3dMdmQxN1ZYN3ZSdnNQMDRNM0E4aXRkUTB0TmZRb0NUVklt?= =?utf-8?B?RWlHWjMzU0o3eUR1cHhQOGlDSEV0RlVJZFhicnhRdG9HdzhTRTl0eEZOL2NZ?= =?utf-8?B?V3BMQWttcmRPTGc2OGVVL3lNMnpQY3l4L1VOZi9IMGhpbXZQMk5LMWpDVEhT?= =?utf-8?Q?rl8jslQeyLfZJusfGX+80CSN79iv/Qugnscxw5c?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: f3a01401-d328-4fbe-fd14-08d93fd00163 X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jul 2021 16:14:45.9752 (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: UkKbQegMcQeKKfEvrkK5b2R9DVDKG10lRjqg0o91mK1JBtQv10fNrUdzc4/dcFFHSkA/jIugNnT850fEsYiQCA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0402MB2829 X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1625501714400100001 Content-Type: text/plain; charset="utf-8" This only requires moving p2m_percpu_rwlock elsewhere (ultimately I think all P2M locking should go away as well when !HVM, but this looks to require further code juggling). The two other unguarded functions are already unneeded (by virtue of DCE) when !HVM. Signed-off-by: Jan Beulich Reviewed-by: George Dunlap --- a/xen/arch/x86/mm/Makefile +++ b/xen/arch/x86/mm/Makefile @@ -8,7 +8,7 @@ obj-$(CONFIG_MEM_ACCESS) +=3D mem_access.o obj-$(CONFIG_MEM_PAGING) +=3D mem_paging.o obj-$(CONFIG_MEM_SHARING) +=3D mem_sharing.o obj-$(CONFIG_HVM) +=3D nested.o -obj-y +=3D p2m.o +obj-$(CONFIG_HVM) +=3D p2m.o obj-y +=3D p2m-basic.o obj-$(CONFIG_HVM) +=3D p2m-ept.o p2m-pod.o p2m-pt.o obj-y +=3D paging.o --- a/xen/arch/x86/mm/p2m.c +++ b/xen/arch/x86/mm/p2m.c @@ -53,10 +53,6 @@ bool_t __initdata opt_hap_1gb =3D 1, __ini boolean_param("hap_1gb", opt_hap_1gb); boolean_param("hap_2mb", opt_hap_2mb); =20 -DEFINE_PERCPU_RWLOCK_GLOBAL(p2m_percpu_rwlock); - -#ifdef CONFIG_HVM - int p2m_init_logdirty(struct p2m_domain *p2m) { if ( p2m->logdirty_ranges ) @@ -258,8 +254,6 @@ void p2m_flush_hardware_cached_dirty(str } } =20 -#endif /* CONFIG_HVM */ - /* * Force a synchronous P2M TLB flush if a deferred flush is pending. * @@ -286,8 +280,6 @@ void p2m_unlock_and_tlb_flush(struct p2m mm_write_unlock(&p2m->lock); } =20 -#ifdef CONFIG_HVM - mfn_t p2m_get_gfn_type_access(struct p2m_domain *p2m, gfn_t gfn, p2m_type_t *t, p2m_access_t *a, p2m_query_t = q, unsigned int *page_order, bool_t locked) @@ -2589,8 +2581,6 @@ int p2m_set_altp2m_view_visibility(struc return rc; } =20 -#endif /* CONFIG_HVM */ - /* * Local variables: * mode: C --- a/xen/arch/x86/mm/p2m-basic.c +++ b/xen/arch/x86/mm/p2m-basic.c @@ -28,6 +28,8 @@ #include "mm-locks.h" #include "p2m.h" =20 +DEFINE_PERCPU_RWLOCK_GLOBAL(p2m_percpu_rwlock); + /* Init the datastructures for later use by the p2m code */ static int p2m_initialise(struct domain *d, struct p2m_domain *p2m) { From nobody Thu May 2 07:08:03 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=1625501733; cv=pass; d=zohomail.com; s=zohoarc; b=KwSm3VU03tARNRYhtpNtuK8b8y02yDIQhK4aCStbtC1M0UgKNpvPhDygTtXFc9UsTlQsopHd1uUe/zSvCC/nzbUhtzZwm7CNPrAWpE5hkRSgBmvocH7fRQSb3IlWgoyeJgc2cIpl/HdAyV3hVPtQYQmkYdv6VzWF1qYzPqCx0/M= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1625501733; 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=3iQ7NFvbW+C8AVXqVXivhOo4ScWJDlsGayh6E5RebDA=; b=f3zwUgsp60Xu3hy3UfSM6xeBZCZwulEa4rBbZWELefrfMvYAN3v39YDejlcJuoJ5PMtNcko/JioEAfcgiaT5uYSTW/eTfvpXs0bWzrT1/TtzeWFgZtthillVbpU34irvdeVrw9SZh7gkNtC96NZLMU2us93wbX2JRRzdgEK6i7I= 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 1625501733931667.7647960244442; Mon, 5 Jul 2021 09:15:33 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.150524.278302 (Exim 4.92) (envelope-from ) id 1m0RFe-0003i0-Pz; Mon, 05 Jul 2021 16:15:18 +0000 Received: by outflank-mailman (output) from mailman id 150524.278302; Mon, 05 Jul 2021 16:15:18 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1m0RFe-0003ht-M4; Mon, 05 Jul 2021 16:15:18 +0000 Received: by outflank-mailman (input) for mailman id 150524; Mon, 05 Jul 2021 16:15:17 +0000 Received: from us1-rack-iad1.inumbo.com ([172.99.69.81]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1m0RFd-0003hb-8d for xen-devel@lists.xenproject.org; Mon, 05 Jul 2021 16:15:17 +0000 Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS id c0c01110-17f5-4feb-bf78-3aee15f5569f; Mon, 05 Jul 2021 16:15:16 +0000 (UTC) Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05lp2177.outbound.protection.outlook.com [104.47.17.177]) (Using TLS) by relay.mimecast.com with ESMTP id de-mta-31-QofTHA8xOuWANYvNt19zcA-1; Mon, 05 Jul 2021 18:15:14 +0200 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) by VI1PR0402MB2829.eurprd04.prod.outlook.com (2603:10a6:800:bb::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4287.33; Mon, 5 Jul 2021 16:15:13 +0000 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4287.033; Mon, 5 Jul 2021 16:15:13 +0000 Received: from [10.156.60.236] (37.24.206.209) by PR0P264CA0184.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1c::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4287.22 via Frontend Transport; Mon, 5 Jul 2021 16:15:12 +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: c0c01110-17f5-4feb-bf78-3aee15f5569f DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1625501715; 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=3iQ7NFvbW+C8AVXqVXivhOo4ScWJDlsGayh6E5RebDA=; b=VTMJdj0DlDgkqRvrk6trBQF2WiU+I5xSefMhgl9E1bzjRAwSEefTtGmWSTWY/i/XORRyy5 ENp6HnzKA3hOBoHmXJSDecp/PWw4nW6bEti1oEoPbg9WrqrdUzJEB0EvtpJSl1An5rbzqI /65gy1TCiIrMUWiPpbhixGB1tjyAM6Y= X-MC-Unique: QofTHA8xOuWANYvNt19zcA-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jvxk71p3QR6z/zusqPx7xVWThBcWaQYHX2jGEWDbXize9feHNtbZmKkHRSxCQfNCZVP71BvNaj4kT0CbOsTCtUwhNrVf2bDhy11dBQglKsUTb3X7D8Cwdtc3v4a1ue+W9vozpJz/mv4VTbiHIMeZVF5JgZyT6iAyZKut1wOhW2PrznDuLSXA/Mpy1ewe/FwICMhkDjMQIC2sgEoObuWQKIlj+I9xgQQlG+60ZlgshA34HEhFHYdmul8fYTvN4UZZ97CBStCIb9Y7KmPYKp781FYaRSpqNWgQWWeml+7rzrrOSyXEuqiENGmyeGDVcSYcdY7FSypdAc4cnDzP/7MTyQ== 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-SenderADCheck; bh=3iQ7NFvbW+C8AVXqVXivhOo4ScWJDlsGayh6E5RebDA=; b=kTj5xYCcklD3WCzDAdIxQAk/pEp8/L6zo7xtvgsWLarNADYt5Z2aa1WluFgF/gjxNBmdiQ8Nv4ZwogJfr3fwFrFqxTpOoEBYc6KA9ohJnb3FFrj5lLtaXaqun1eHLBxafVPpdJvBXJG5hPXAKB0lkHRSQjWGxirY4GJtiIC1jvwtajvzXadokO9kCBe1a7s1gihAl0cBMwYvBV3yHkT5QJYJnVKZqzcm18o0YgTGEaDxSRIJ/SdKY5gVekcvM+tVFElOWhxlUbcThBH9Eo+FX8aNahwtuPA0MEgnr7DkJ7XENda7KSEoYGrQkPVES3fTA8aRBnQSJV6B0Y4gfCneCQ== 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: xen.org; dkim=none (message not signed) header.d=none;xen.org; dmarc=none action=none header.from=suse.com; Subject: [PATCH 16/16] x86/P2M: the majority for struct p2m_domain's fields are HVM-only From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Andrew Cooper , Wei Liu , =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= , George Dunlap , Paul Durrant References: Message-ID: Date: Mon, 5 Jul 2021 18:15:11 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 In-Reply-To: Content-Language: en-US Content-Transfer-Encoding: quoted-printable X-Originating-IP: [37.24.206.209] X-ClientProxiedBy: PR0P264CA0184.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1c::28) To VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 89328dc8-2bea-42e8-ec37-08d93fd01178 X-MS-TrafficTypeDiagnostic: VI1PR0402MB2829: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:6430; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: kBgnuxcckez0tquYpN98TWJmV6IcLHtavT7e/OFTJCUWCa2cEpfWNEph5osySZTINf+6/ieVF8o8Na77K/Sr8GnemS8a2YMaj5aNosDOPaCuqlDL3biy8SBCHSOhl+31AYssCIEITpIVBzIccvBju13n1sDimnXtGVNdNGm378H0tx5MMR+jkxQKUdW5QmmD8KDqWOezoTO7qc4I3Sd+BNr9crA3HHAYNOT5Wrs28IeX7oGs9hiw6fEtYzmdffVin1hrzf1xy14t0HOs5KwEHAYUbxVqGWCpfYoM+dL5RcbFY1G0PrUlA3Yb/MAw+t6EOFzclwtH7ay0ow4KpFMAMX7ixlI7qQLcbLcp0PQhxu2VEG0JXdNhUgxA9uxoOt0Fvg0/dvDbDlJ/Vx0iVWbODp9C6x2uDseFt/7TyN0Y9lRpfPC2teEdTBkwIZID9Tj/K2rVQJqZ2EYgQqVWr2a9DsTqLZznmhcT2cexbsaop0HynaCfMSimICNus7uAQ3LM7Sp/YjFMRlaNwVkAEf8ZxWE7wOwjsYKVwPntk4JeusGfO4lBq1yxR6KEIPXxVcy4h0xP7A/yubaL+78moyElNJXP+iTHJeB/i6rKLhYkjSqOW3FRYwyALsce3udjGDKuwbmOcV/g0oARFGedKFZLbjGu5dqTayET8n74n9FmrxaqAdz5cXnr9GwK6sR29H5l/OYMLeqJxCTHZ0HLoQyMOv+qDzd7V/jDZeCIkKTYbe0= 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:(39850400004)(366004)(136003)(376002)(346002)(396003)(6486002)(26005)(16576012)(478600001)(2616005)(956004)(86362001)(2906002)(6916009)(316002)(83380400001)(8676002)(16526019)(66556008)(36756003)(8936002)(38100700002)(54906003)(31696002)(4326008)(66476007)(186003)(66946007)(31686004)(5660300002)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?VXlZMGtQb1h2enVJdFBLdFM2eDNVNkJORGt0OEhOemQ1Z1FpQjJtbytiUHRN?= =?utf-8?B?amZIalZDVTFiaC9uYVN6T1hRYnlwM0svYlpvYTJrMTJDYTh5Nkl2b1Z2UzdH?= =?utf-8?B?V0o2d05peERweU1yZlk4YzFDNy9peWN0Z3lsRzNyZU5Kck1lME9CQlY5N1do?= =?utf-8?B?TERoM01lcWR1SFBJYXBzQmtFQzYvNUZoMmNOSHJrTW91MnBmeEJEb2w5WnVl?= =?utf-8?B?YUFIN0NzdTZCdktDdGEyVy9iMlNvWmM3OGpqenV5MGdRRUhpSHV5RXFqaVBN?= =?utf-8?B?U1Z0VjJ1SHY1K0dHVzk5dzJ6SUFYVEZSN01yMTFVdHFLZnZGcDFIckF3ekd5?= =?utf-8?B?NXFUYnhkcWxPekgxRnhHaXQvV2Fha2k5MHp0ajNtallFOG9zS1hZSGloMkRq?= =?utf-8?B?b0JTUmh5U3RVaVpPNU1ITUI0bXl6cnhSY2o1QzJPdExBUGNqQ0dNYVJIV3Rj?= =?utf-8?B?dHhSUnNnU200djVSV2EwcDRhckI5Q0JnamthWVhWYUhNMnExc2FZMzJ0NHUy?= =?utf-8?B?bjBSVmliWmFNSkxRNWRLM09Pc1dEemdtYUYrR0FYMmIwcVk0ZkR1TzhDc2Zx?= =?utf-8?B?cTdCMWJJc0VFZzczaTZ0SVBmTUM4MUNHclZaV0RDM1lXanFoUEZMeHAwZHRQ?= =?utf-8?B?WDJyNktyekpQTVBKYXFNYWY5bzRaYmg5VzZSMytPYmhsV3pwVVJFd2FiemZv?= =?utf-8?B?Zzh2NnRObm9HMnB2UkgxNEppcXBRaktYMjdaMmRRT3pRU3FYT0tBVGJrZGh4?= =?utf-8?B?UEtKMmxKVWJYZnRZYVI4QjNmb1JOcndSSlRjcllrTHB2dXIvditxKysvcUFK?= =?utf-8?B?TWR3K1h0TDNnRFRkbElNZkMxUmFabm8wY3hacmRQWmZaQUlrTVp5WGUwYXJt?= =?utf-8?B?MlFRaFU0d2dhQzBJWit2UUhvbUhieElNdVY5TCtxdUh3ZUZsRTJnYXljVUd5?= =?utf-8?B?dVdnWXdzWEd4MHM0WmpwL2JuVzhYWWJGbENvOHVoamE5K2N6UXp3K0NJRk4y?= =?utf-8?B?WlJ5czdsWmFRZlZ5ZlJ4YTN6VWxwaTFCOFdabDBMTEgyMGNjaTlzaTdML0Nx?= =?utf-8?B?aWhsc3RjRTJiMllFTGNndmg5VTZNNUl6eENhcHZpTm8ydWluWU84OHk3N3cw?= =?utf-8?B?cHVaZ3JFNzhMdFkyNXVRTXRRUEN4N1pORzlBdnkwWnlVN1JHUEtHNWowM3lL?= =?utf-8?B?YlpQcG4ycnM1Q2xvOXJDc05qQ01GSVZJc1ZxR1ZXVGFqWGVjUlJzQVVqelpT?= =?utf-8?B?RU56bDcvcENOMlVkaTl6SVlHMWxpcW41a3VhUFpzSi9wS21TYUJqK0ZhdmNU?= =?utf-8?B?YzZkRmNTblNocDJSRldlWFRSS3RBeS9Xa0RDK2h3anc1ZFlnaXJ4M0s5c056?= =?utf-8?B?b3I5UkNBQ1c5U2hDb05uVFJFVEZJdWhINkVtKzZrakRCSEpXcmpBMThjQmpJ?= =?utf-8?B?ZmNsaGUrNnNDckxRSHNMcXlDd2RZaDZaTndiRHBnYk1NdHBpWFN2cHlzQThK?= =?utf-8?B?VFpKemtSeklhZ0ZLa2lWSllROWtCQTJHNTJXZGVmNzFUT1Y3SE1hRmJUQm1T?= =?utf-8?B?MjBxdU5VVFBHNmk1NElNVUd1bE1xNkJYZEdWRUpwVXhuL0hZVDlWd1NlWlpy?= =?utf-8?B?QldzOTY5RUcwaEhRV0tqNnRHOUp4dnlpRUVnY0VBNy8xMTRrVzBpZ0M1R1dQ?= =?utf-8?B?MS9CMFJ3WHExS0lwTkR5Q2k2TlhieEgvOUgyQTdhL0Q2S2p3S2J0VGY4ZzFH?= =?utf-8?Q?VVX1uwJtD9CgQyX5krkZRdqde3NgtPJas5IzYMQ?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 89328dc8-2bea-42e8-ec37-08d93fd01178 X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jul 2021 16:15:12.9979 (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: TAXSYouP5oqQROLj/oh5fZPvO6vhavgpVtp27wNU8yxebLDqwJg1+mp0Lqaf9rd5GWWTmbqNyeGFZVYnocF5Qg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0402MB2829 X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1625501740107100001 Content-Type: text/plain; charset="utf-8" ..., as are the majority of the locks involved. Conditionalize things accordingly. Also adjust the ioreq field's indentation at this occasion. Signed-off-by: Jan Beulich Reviewed-by: George Dunlap Reviewed-by: Paul Durrant --- a/xen/arch/x86/mm.c +++ b/xen/arch/x86/mm.c @@ -481,8 +481,11 @@ unsigned int page_get_ram_type(mfn_t mfn =20 unsigned long domain_get_maximum_gpfn(struct domain *d) { +#ifdef CONFIG_HVM if ( is_hvm_domain(d) ) return p2m_get_hostp2m(d)->max_mapped_pfn; +#endif + /* NB. PV guests specify nr_pfns rather than max_pfn so we adjust here= . */ return (arch_get_max_pfn(d) ?: 1) - 1; } --- a/xen/arch/x86/mm/mm-locks.h +++ b/xen/arch/x86/mm/mm-locks.h @@ -237,6 +237,8 @@ static inline void mm_enforce_order_unlo * * ************************************************************************/ =20 +#ifdef CONFIG_HVM + /* Nested P2M lock (per-domain) * * A per-domain lock that protects the mapping from nested-CR3 to @@ -354,6 +356,8 @@ declare_mm_lock(pod) #define pod_unlock(p) mm_unlock(&(p)->pod.lock) #define pod_locked_by_me(p) mm_locked_by_me(&(p)->pod.lock) =20 +#endif /* CONFIG_HVM */ + /* Page alloc lock (per-domain) * * This is an external lock, not represented by an mm_lock_t. However, --- a/xen/arch/x86/mm/p2m.c +++ b/xen/arch/x86/mm/p2m.c @@ -48,6 +48,8 @@ #undef virt_to_mfn #define virt_to_mfn(v) _mfn(__virt_to_mfn(v)) =20 +DEFINE_PERCPU_RWLOCK_GLOBAL(p2m_percpu_rwlock); + /* Turn on/off host superpage page table support for hap, default on. */ bool_t __initdata opt_hap_1gb =3D 1, __initdata opt_hap_2mb =3D 1; boolean_param("hap_1gb", opt_hap_1gb); --- a/xen/arch/x86/mm/p2m-basic.c +++ b/xen/arch/x86/mm/p2m-basic.c @@ -28,16 +28,15 @@ #include "mm-locks.h" #include "p2m.h" =20 -DEFINE_PERCPU_RWLOCK_GLOBAL(p2m_percpu_rwlock); - /* Init the datastructures for later use by the p2m code */ static int p2m_initialise(struct domain *d, struct p2m_domain *p2m) { int ret =3D 0; =20 - mm_rwlock_init(&p2m->lock); #ifdef CONFIG_HVM + mm_rwlock_init(&p2m->lock); INIT_PAGE_LIST_HEAD(&p2m->pages); + spin_lock_init(&p2m->ioreq.lock); #endif =20 p2m->domain =3D d; @@ -55,8 +54,6 @@ static int p2m_initialise(struct domain else p2m_pt_init(p2m); =20 - spin_lock_init(&p2m->ioreq.lock); - return ret; } =20 --- a/xen/drivers/passthrough/x86/iommu.c +++ b/xen/drivers/passthrough/x86/iommu.c @@ -338,7 +338,7 @@ bool arch_iommu_use_permitted(const stru return d =3D=3D dom_io || (likely(!mem_sharing_enabled(d)) && likely(!mem_paging_enabled(d)) && - likely(!p2m_get_hostp2m(d)->global_logdirty)); + likely(!p2m_is_global_logdirty(d))); } =20 /* --- a/xen/include/asm-x86/p2m.h +++ b/xen/include/asm-x86/p2m.h @@ -199,8 +199,10 @@ typedef enum { =20 /* Per-p2m-table state */ struct p2m_domain { +#ifdef CONFIG_HVM /* Lock that protects updates to the p2m */ mm_rwlock_t lock; +#endif =20 /* * Same as a domain's dirty_cpumask but limited to @@ -220,13 +222,14 @@ struct p2m_domain { */ p2m_access_t default_access; =20 +#ifdef CONFIG_HVM + /* Host p2m: Log-dirty ranges registered for the domain. */ struct rangeset *logdirty_ranges; =20 /* Host p2m: Global log-dirty mode enabled for the domain. */ bool global_logdirty; =20 -#ifdef CONFIG_HVM /* Translated domain: p2m mapping */ pagetable_t phys_table; =20 @@ -269,7 +272,6 @@ struct p2m_domain { unsigned int level); void (*write_p2m_entry_post)(struct p2m_domain *p2m, unsigned int oflags); -#endif #if P2M_AUDIT long (*audit_p2m)(struct p2m_domain *p2m); #endif @@ -304,7 +306,6 @@ struct p2m_domain { unsigned long min_remapped_gfn; unsigned long max_remapped_gfn; =20 -#ifdef CONFIG_HVM /* Populate-on-demand variables * All variables are protected with the pod lock. We cannot rely on * the p2m lock if it's turned into a fine-grained lock. @@ -361,27 +362,27 @@ struct p2m_domain { * threaded on in LRU order. */ struct list_head np2m_list; -#endif =20 union { struct ept_data ept; /* NPT-equivalent structure could be added here. */ }; =20 - struct { - spinlock_t lock; - /* - * ioreq server who's responsible for the emulation of - * gfns with specific p2m type(for now, p2m_ioreq_server). - */ - struct ioreq_server *server; - /* - * flags specifies whether read, write or both operations - * are to be emulated by an ioreq server. - */ - unsigned int flags; - unsigned long entry_count; - } ioreq; + struct { + spinlock_t lock; + /* + * ioreq server who's responsible for the emulation of + * gfns with specific p2m type(for now, p2m_ioreq_server). + */ + struct ioreq_server *server; + /* + * flags specifies whether read, write or both operations + * are to be emulated by an ioreq server. + */ + unsigned int flags; + unsigned long entry_count; + } ioreq; +#endif /* CONFIG_HVM */ }; =20 /* get host p2m table */ @@ -645,6 +646,15 @@ int p2m_finish_type_change(struct domain gfn_t first_gfn, unsigned long max_nr); =20 +static inline bool p2m_is_global_logdirty(const struct domain *d) +{ +#ifdef CONFIG_HVM + return p2m_get_hostp2m(d)->global_logdirty; +#else + return false; +#endif +} + int p2m_is_logdirty_range(struct p2m_domain *, unsigned long start, unsigned long end); =20 @@ -792,6 +802,8 @@ extern void audit_p2m(struct domain *d, #define P2M_DEBUG(f, a...) do { (void)(f); } while(0) #endif =20 +#ifdef CONFIG_HVM + /* * Functions specific to the p2m-pt implementation */ @@ -852,7 +864,7 @@ void nestedp2m_write_p2m_entry_post(stru /* * Alternate p2m: shadow p2m tables used for alternate memory views */ -#ifdef CONFIG_HVM + /* get current alternate p2m table */ static inline struct p2m_domain *p2m_get_altp2m(struct vcpu *v) { @@ -905,10 +917,10 @@ int p2m_altp2m_propagate_change(struct d /* Set a specific p2m view visibility */ int p2m_set_altp2m_view_visibility(struct domain *d, unsigned int idx, uint8_t visible); -#else +#else /* CONFIG_HVM */ struct p2m_domain *p2m_get_altp2m(struct vcpu *v); static inline void p2m_altp2m_check(struct vcpu *v, uint16_t idx) {} -#endif +#endif /* CONFIG_HVM */ =20 /* * p2m type to IOMMU flags @@ -942,6 +954,8 @@ static inline unsigned int p2m_get_iommu return flags; } =20 +#ifdef CONFIG_HVM + int p2m_set_ioreq_server(struct domain *d, unsigned int flags, struct ioreq_server *s); struct ioreq_server *p2m_get_ioreq_server(struct domain *d, @@ -1006,6 +1020,8 @@ static inline int p2m_entry_modify(struc return 0; } =20 +#endif /* CONFIG_HVM */ + #endif /* _XEN_ASM_X86_P2M_H */ =20 /*