From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by mx.groups.io with SMTP id smtpd.web08.38208.1658218673454132378 for ; Tue, 19 Jul 2022 01:17:53 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=CkHZVmCi; spf=pass (domain: intel.com, ip: 192.55.52.151, mailfrom: ray.ni@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1658218673; x=1689754673; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=/nVLFbPT2ASOnyOlpjkB0W3y4GafYs4Zc6qPtHLfUa0=; b=CkHZVmCikFzkjHx88G3t0KZqeoUy9/oIjX23Y6Kz6VTaG3r6avSIEc7T OBHcFbcFyyXwgu/VfmEISkq1TfP5kvRw7zK+HLSrdEKlKAbGc1ZDfK45B E4INjJQtXj1Jy+6Mo+W7TgIZNMVKwcdg+tYSHAFSfnhzvwgYaG8loCoKm /w9UJjy7xZc9UBgxNfPtTJoCXzGFD7CzCJc2Ju8sz9yzvVcuqEKQMsm2z wO+eIP0u9oT19lF8cETtzf7JbVb8402ESc2UOq3xvla4bzvzGMNU1h6ga 3ZDsS8B4hlIaJc5KONRY/pkqZHaAxC830ORjLA68YFyGN6N6CgRjWdJgR w==; X-IronPort-AV: E=McAfee;i="6400,9594,10412"; a="266831519" X-IronPort-AV: E=Sophos;i="5.92,283,1650956400"; d="scan'208";a="266831519" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 Jul 2022 01:17:53 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.92,283,1650956400"; d="scan'208";a="655651038" Received: from orsmsx601.amr.corp.intel.com ([10.22.229.14]) by fmsmga008.fm.intel.com with ESMTP; 19 Jul 2022 01:17:53 -0700 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) by ORSMSX601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.28; Tue, 19 Jul 2022 01:17:52 -0700 Received: from orsmsx608.amr.corp.intel.com (10.22.229.21) by ORSMSX611.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27; Tue, 19 Jul 2022 01:17:51 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx608.amr.corp.intel.com (10.22.229.21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27 via Frontend Transport; Tue, 19 Jul 2022 01:17:51 -0700 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (104.47.58.169) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2308.27; Tue, 19 Jul 2022 01:17:51 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=n7/eeBF/+qIPunioyhsExBAUoplZvSeGYRh7cSsjrrvR7JBHSKBZ2uYhDTq5HUMnNhWHd4qTGA+ZY7jF1qJ7loFZMVLoLV+sFqs7e551IgsZ+B5HuE9M7ZVpKucQ6664vEK9DeeG2a3uS6pD3FlOKaaOnx7UdOcnwx1Qs3pFZ0zXB64eEboJmXHIrCAolLjbDGCBxJqnf9DcUdN8G0IRkrdsrMLb0J02qhn2989LEIY5rKlFvP/rQrgwDHUEc7TSHLRmiCVHCoNVOjzCVbpZMBB5sBGs9FwuJTwhy3XQ0VyA/J015VSRvMfrBgTXkRAeLaWc+xUCWjv8vzW9oXSzAA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=hnNgsiioJFIx8W6wTAYIRPq5esI1oSMxVDLuip6Pnzk=; b=fwXdztn5kNgkliO2i3lmsf//G0KnyB2pVpTcbJBZeDKCmupp4PQpbSco6Bwa7N4kgKOVJG7c6oi6qBSWLrkGbCo+O1fh9NyDfHFUlMLd2BXZaVcew2WxOUUBhqMWDLe5fkXxFui5EhrxZ2hk8yHmuQiXRoI7xV9ZNOgR60T3EW5hxq97+HWC5+GL1k8LW8KtgRX4OVr7nfNfPq2pZ8kTMSS34F+F5pHQCCngSXon36lqryX6loRqBHJR066yLTly4qd1rZ6KTlWvkxo0T1td8V0Ne61f8Nrg5cq3zT3XrtdKQodpJ1wLtxQSHvA8pdO2SUIZGfuxkI6eP2k7hbl6bg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from MWHPR11MB1631.namprd11.prod.outlook.com (2603:10b6:301:10::10) by CY4PR1101MB2231.namprd11.prod.outlook.com (2603:10b6:910:1f::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5438.20; Tue, 19 Jul 2022 08:17:49 +0000 Received: from MWHPR11MB1631.namprd11.prod.outlook.com ([fe80::991b:97a0:7836:5174]) by MWHPR11MB1631.namprd11.prod.outlook.com ([fe80::991b:97a0:7836:5174%10]) with mapi id 15.20.5438.023; Tue, 19 Jul 2022 08:17:49 +0000 From: "Ni, Ray" To: "devel@edk2.groups.io" , "kraxel@redhat.com" CC: "Dong, Eric" Subject: Re: [edk2-devel] [PATCH 01/10] UefiCpuPkg: Create CpuPageTableLib for manipulating X86 paging structs Thread-Topic: [edk2-devel] [PATCH 01/10] UefiCpuPkg: Create CpuPageTableLib for manipulating X86 paging structs Thread-Index: AQHYmq1CJJZcmdoSwUGWOE9mk0nmm62FWVHQ Date: Tue, 19 Jul 2022 08:17:49 +0000 Message-ID: References: <20220718131831.660-1-ray.ni@intel.com> <20220718131831.660-2-ray.ni@intel.com> <20220718134954.s7h5gmbqbcim6nis@sirius.home.kraxel.org> In-Reply-To: <20220718134954.s7h5gmbqbcim6nis@sirius.home.kraxel.org> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 588fd4df-a5b9-4576-2049-08da695f2b45 x-ms-traffictypediagnostic: CY4PR1101MB2231:EE_ x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: ef9BRqtzuSkP1Qgo8QiI3RC63BPcCv8D85ARA2qti0bJUHoqie0dOCH8DplshbK0XcQmSWG/WS3sq0dIlarWEH5rqiDyg0PDGuabTY55uQfd52CyPeoOqbpzrb+LZT+KsaVNzG51k3c8bpqXb5YT5Hksp+44AOs0XJ7UjmyKvJPT9jUQzrpUGWDRr7cbUhEXBoOxhJOFtzRQr5NF2AOKQbRdgtBULE3VELpdwLMKZBAYt0OCuKFDupUTkfOfxEnwaghUR9KDU5hNl3EvHQV/Q63TH5PhvIkghUkw7mbtNj5lwj4Wu+LcwjD67LB010Ry/ZxVvaCdDati4y/AP5eRN8yGjldYw8VF5/8OKoBBRlf7/1ymQbn+QV6cZC3TTl/fKfXbCVYOEr7GWzpzPYYVoSJa1DL6mMGGfe0qeA0mXQ/7IHejwNkDkQI+pEkWXLYg+93koA4qFC9cbsU3RACoYLILFVnKq/z9rO6Ew3MxW9tCY6XHtnfo5olTavXewkK6qvl5OldzS9y6g/uYub8vq1M0gybeInWaJPLeKdVw/81w5TvIz4JOC0rH4D48usYweQ9C0fg/9SeholviXeL+6Zf21z6c+DVJdVTrmXUAFkcDF+gaMQMli8Hif4E3RLb7uCo1g2GYli1ls50xMVi54ytsMF0JAihHL+IjxiOfn5SXmzKTAus1cQxtq+Z6Bgssk0+m1l6PYJ3fXR3GTQKipqNhzGJLxVkYK0nE/l07OKY87wehM/xH5W5uPaLTK+0/dzwxDr8ezxtSUs0ASZzyF0uGKYIJ8xxuHjrf0UqA9cYD4AARQQz9iPvfzscJV8sisoRAQw4eT17XtLruDbPKyDRYExiRZKc23fWAZaMyOcrXsXRvM2jVqoDAJy/7DgiH x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MWHPR11MB1631.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(39860400002)(346002)(366004)(376002)(396003)(136003)(38100700002)(86362001)(38070700005)(82960400001)(33656002)(9686003)(71200400001)(478600001)(186003)(6506007)(110136005)(26005)(7696005)(41300700001)(53546011)(966005)(66556008)(52536014)(316002)(66946007)(2906002)(8936002)(66476007)(5660300002)(4326008)(55016003)(76116006)(64756008)(8676002)(107886003)(66446008)(122000001)(83380400001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?7mZ0ftOuya7FwGqFgyJgPrsoA6airbVFbTAQpdd6+PGEm2KxxObbRijVI+uq?= =?us-ascii?Q?Q3nQ1xpoK4BeilVgyTX1KgLPyVdUtuoX656nexvbQUUR5ozKEKeof1zN3lG5?= =?us-ascii?Q?h+MLi97+w2NvmXOp3Vvfk9pDDLsf+9itFjprZRbw0m9ektxG2d4twzIOtKIM?= =?us-ascii?Q?x1pxNDudkg5maB1Wnpiy+p5I/vPTek9zDRHKIVT7BdAXjvnplYC4D+71nrzn?= =?us-ascii?Q?bqPmrgaSaX8xQLJsRp5838VHGYSqsdHWwoTgByVlzf5zgsk2uJ+ao1v0EDZH?= =?us-ascii?Q?PvZ+OY9tNn0rkQPLh8O8QU0BzMw5KNZKfeGgn3qCCpPuOxz9Ot/bRHAiKiLv?= =?us-ascii?Q?r2qaCRLQN0gDAv+TWeybIX2MPHplNqncDOjaVTFy6l+/wwXByf3ACrHlzRQP?= =?us-ascii?Q?DSlxDAGf3B7Z75Pa2FlYb50eEqy4SGkAjisaHpCQUAeU+Izp3e22Y2darBYO?= =?us-ascii?Q?qWgNi4IiBK/XVd8BtfpnJGbyvRk0ercabBaRCXT4Skt/VFVSlYP67FKn91sY?= =?us-ascii?Q?y22IIHw0bLEr3KXYGAt8SoqZkgV+T1k7kUYarJU2PLBj1EnsxE9sTzvdGF9s?= =?us-ascii?Q?nefcE12hZ1DwUxzk0gZQEq3gRvggnXcG8dxSpU/HAoC9+bqp6Bhm10fZrImd?= =?us-ascii?Q?mPx00lpepp/O07PD1BObA0APeaZYAhWYLfULTkGpTaraepR796a0bLOuvTu3?= =?us-ascii?Q?MZ1/qHA1OkhYzFSRN4FnUzJlwCjtyr6kmXRM6LVcPdd74iFqOM+Q+TFBL3UJ?= =?us-ascii?Q?H6h+iv1ANZZ6YZsKLNb/iUrrE/GJsJc7PUBCefpL8ONZ1R6UiL5BgMu5d6Q+?= =?us-ascii?Q?LAqNehalem+i1x/U0ybWdw1LK1OrJHxLlf4eMs5MfCjJmXwDrTynfNW5DDnD?= =?us-ascii?Q?gmCf3qJR355VxSbRkxg5ZfMvnhP+1Ew66INtgL2lgfXbtBehmRrzxA9SiNDv?= =?us-ascii?Q?N/+I8vqlgroizpZ2Ps/FbHtO3vYbuTwxhEw0PygQoX2lv8Gfy2k13zvmF9L+?= =?us-ascii?Q?jjH3grYz2/HF5/lNIEu++KMfcfc35YfSOkAfa63qBKmN3oHafhqoy8jDXwhG?= =?us-ascii?Q?4S64a1JmS3fgXzzX0HhZY4V4zOsQe/w2qfzmVXhiYvlJZBzud5qlbZdB0M96?= =?us-ascii?Q?yuUiPBWkXsUhc+kOpgG6YLWaCJa5LkGXLxO65aQHIuh+7zk8ELPJvokQ6J3Z?= =?us-ascii?Q?tJV6jPPw1FG/+rQsVvwqxZzattKf5hc3RUxUaEDyaKNy7AuExVYO9Fv+bdrU?= =?us-ascii?Q?GgpL7zXqg8QeOVu93f+zC2jAhRwG3PjwoBtHgPcXIknQMJ3p8DPlwoPimace?= =?us-ascii?Q?vFh71JbIB8o2279raXG8lzjnl7PclHDXlzihUDeR6DznlaPBFMzdvnlVNO31?= =?us-ascii?Q?3rC1W/LfUysdwavD1XnblghKtxUUqoRZFu27Eu8EyQVxwWdjwVOKLfzo9ivP?= =?us-ascii?Q?yFNhJBpsdja3cne5PyPTyhq6nzUP0GE08wtE62qHfXSoz1S0tzzA2ZOIa/BD?= =?us-ascii?Q?AO8NcwovdjAPw6hgn3VboLJho0WVqY4ybRsFCmLAEV+4uMbs4acFig/OmkOw?= =?us-ascii?Q?grzGcWjUIOGgabLUc2M=3D?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MWHPR11MB1631.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 588fd4df-a5b9-4576-2049-08da695f2b45 X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Jul 2022 08:17:49.4950 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: yDpdOtT1Q8oeiIobeckii197yRQD3Ou8MNgQzBdr9sNe8gxujHPdNZHBrZFXq0LLZC9ks6RpAIwI79ZSOwSTcA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR1101MB2231 Return-Path: ray.ni@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable It has been in my todo list for years. I wish this lib could be created earlier so that existing duplicated page t= able manipulation logics could be avoided. The Map() supports different PagingModes (4Level, 4Level1G, 5Level, 5Level1= G). It creates big page entry as the PagingMode allows (e.g.: 4Level1G allows t= o create PDPTE entry mapping to 1G physical mem while 4Level only allows to create PDE ent= ry mapping to 2M physical mem.) All are hidden from the Map() API. > -----Original Message----- > From: devel@edk2.groups.io On Behalf Of Gerd > Hoffmann > Sent: Monday, July 18, 2022 9:50 PM > To: devel@edk2.groups.io; Ni, Ray > Cc: Dong, Eric > Subject: Re: [edk2-devel] [PATCH 01/10] UefiCpuPkg: Create > CpuPageTableLib for manipulating X86 paging structs >=20 > On Mon, Jul 18, 2022 at 09:18:22PM +0800, Ni, Ray wrote: > > The lib includes two APIs: > > * PageTableMap > > It creates/updates mapping from LA to PA. > > The implementation only supports paging structures used in 64bit > > mode now. PAE paging structure support will be added in future. > > > > * PageTableParse > > It parses the page table and returns the mapping relations in an > > array of IA32_MAP_ENTRY. > > > > It passed some stress tests. These test code will be upstreamed in > > other patches following edk2 Unit Test framework. >=20 > Nice to finally see the paging library arrive. >=20 > What is the plan for splitting huge pages? I remember several places > needed that functionality. Will the library get functions for that in > the future? Or is the plan to hide that from callers, i.e. have > PageTableMap() automatically create huge pages if possible and split > them if needed? >=20 > thanks, > Gerd >=20 >=20 >=20 >=20 >=20