From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by mx.groups.io with SMTP id smtpd.web11.7860.1660016793456413284 for ; Mon, 08 Aug 2022 20:46:33 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=HTwE8Fnh; spf=pass (domain: intel.com, ip: 192.55.52.93, mailfrom: eric.dong@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1660016793; x=1691552793; h=from:to:subject:date:message-id:references:in-reply-to: content-transfer-encoding:mime-version; bh=774x5W/J0l54CQcmNxBvtVB63fsltS7gKiMVxF4hxXs=; b=HTwE8FnhBI9SCaW0vkmVC24KtljNVU1wrJCfG6OA1pWZANwqS0QXrVyc w0ao5tOQJsEqIQ48B2W63PxczMGsbu2JB12bk5Gwacmw+Wjxe6mBqhQlH OsSi9aGkdmz8INS9dZej6TpTuw3BZjcnnkPEQrcxoX9yVAaciUrz4KBLY Vm/Dq2Nrn3T6TwCWuY+26/0KaAXJAJXfsK3LsxBorcRPAaw1QffUICG8t uSSstp5Qqx+woOuBDcu82Kf0bMyNHCz6oH5Z5UOEAmU4ntISHCv7SV7Om 37Hyi/Ot0PCSeV+1RVrR66BoeMMHlejjnXYL3SxBTGiD7QxzqP6HPHoma Q==; X-IronPort-AV: E=McAfee;i="6400,9594,10433"; a="288311833" X-IronPort-AV: E=Sophos;i="5.93,223,1654585200"; d="scan'208";a="288311833" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Aug 2022 20:46:32 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.93,223,1654585200"; d="scan'208";a="580633603" Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by orsmga006.jf.intel.com with ESMTP; 08 Aug 2022 20:46:32 -0700 Received: from fmsmsx608.amr.corp.intel.com (10.18.126.88) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.28; Mon, 8 Aug 2022 20:46:32 -0700 Received: from fmsmsx608.amr.corp.intel.com (10.18.126.88) by fmsmsx608.amr.corp.intel.com (10.18.126.88) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.28; Mon, 8 Aug 2022 20:46:31 -0700 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx608.amr.corp.intel.com (10.18.126.88) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.28 via Frontend Transport; Mon, 8 Aug 2022 20:46:31 -0700 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.105) by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2375.28; Mon, 8 Aug 2022 20:46:31 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=LZEAjSXpuDxPPxWSKSv1bgu2sude+Owm7rLn2LWtOJ3oUyM3SEUEeVIwFpHllVX++YhLiKivrH9HP3K34DuM7VwbciNbNG+vUxUbsK84rs9pRJHPPg8S8PtEuWEnT3mbMdV3SEdt9pnlG6VGziILaJhmhG66Qgmu28q3v4hBaCPMTN7CPBY1WzDEo7qa9xPBD17kVylrpdb5oyS3HLVg2V+1RG9ovKMwV9y8c8swO7WGbdPWvvUUySgjSatiW+GWzguSFpnE1L8GXccmXyniuXkvdykt4SAEHBE32RCGxxdWTb34OrY4gx8OHEO3Zjm9t1xoMzbAT1f9R4p/thNoxg== 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=B2l0jsEI2Zk82KuoMaeBkyrFtDyT2QVQUvFxf7EHkXU=; b=dN1MyGsSxejKrTHN3mnvYI7k8BbhybHgy53QTN0g/2lDw+Inl33vw7nQ5UCsUCdr6SohbJ8CYMJAH6EF7Cyd4zE+0LS+edfmuxmrtaMxTzydDE/j3QZv5ZuzpuR5yt8L2mb+rnnNSQKZdGQuuDsXvpe2e4ZyMPxZBNLs+S85zX24SeYaEex4AaBXGeRhOhZ2lBq/3BVQGkPIrmoXz7tIDnj9e5BkyMp7G/w7pZjiDfgaNmitnmh0ccaS97DNvFkn7aHvtU+6L9J7kBcC+nqcoAfkGR3z24ucJWVFdiEZoV5TKedBaenBTlnS3zjheuKdHXf/EArfJJzCaaWMOibLOQ== 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 DM4PR11MB6480.namprd11.prod.outlook.com (2603:10b6:8:8d::17) by BY5PR11MB4499.namprd11.prod.outlook.com (2603:10b6:a03:1bf::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.16; Tue, 9 Aug 2022 03:46:29 +0000 Received: from DM4PR11MB6480.namprd11.prod.outlook.com ([fe80::142c:bb38:3d9b:709f]) by DM4PR11MB6480.namprd11.prod.outlook.com ([fe80::142c:bb38:3d9b:709f%5]) with mapi id 15.20.5504.020; Tue, 9 Aug 2022 03:46:29 +0000 From: "Dong, Eric" To: "devel@edk2.groups.io" , "Ni, Ray" Subject: Re: [edk2-devel] [PATCH 00/10] UefiCpuPkg: Create CpuPageTableLib for manipulating X86 paging structs Thread-Topic: [edk2-devel] [PATCH 00/10] UefiCpuPkg: Create CpuPageTableLib for manipulating X86 paging structs Thread-Index: AQHYmqj2gZO0eWKXzUC/QwQ13vX9ka2mD8dA Date: Tue, 9 Aug 2022 03:46:29 +0000 Message-ID: References: <20220718131831.660-1-ray.ni@intel.com> In-Reply-To: <20220718131831.660-1-ray.ni@intel.com> 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: 3772812a-7a45-481a-d134-08da79b9be40 x-ms-traffictypediagnostic: BY5PR11MB4499:EE_ x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 4F0i+z9QHUXQruNJBvDzBJaGDGMpcsoEwMzphJWGrZHvCsndqHwU3dR1NaGSgUSp9VC6A7n8vchbX37irnsz0oi+M88yukGB3CZJ/CXiqOqTEDMu59mdS9nywkIQkuCorAyXAgjcAIYXtdD67wQgu72CfUpPmmZUOjxorjA7UrCP9d/qmqvWUVAM7odyq6pccqCb9KNe1TKhuEWHzPScqIrU8LRlwIOIX5VShKtGALz3h9Yg5GEAKzkcLIJpRysm3iKSbL1tgRTAU51hOzL9fJf2y7Tmk+/BsYyzpAo8YJ190QchfmZl6Vhl0IIMIaRiQV18q+WmdrEgzoxrcBoz3HxXjvGOzGfH4v+tL8UfuOCSQPWidS+bOB+b8yzQth98EW5825zPH2lAeh3TYVUNV1Xsxq/M6RUStiqX4gL016zhKuwKTmTElRrTilijQTA/YncL2MZm0Fh4y9Rsjl+sUQUhzClj5n/w1wN7Vr+RUlD+0bSNWh/97xEQkYkX2t5nrEUkgzXCEwbJrA9m4YRhtornzsfT0dVQKWwCJco5F7ec+jMmT1bm2Tb+2HiNAryagZRUh8t0xEBynegM+9ImgIxOy/V/SNHzxf777Yal2LUDgkw/8+7m2Ecx3QNXU26wkUydDPk/jF7i+xkRxXei2kS1Gz5tHknZKMaKIk0C/yqXVyLR47E1Lb41Fh/G/aLLcf7DgrpxxCDJygJbEgR+InYluzmeEKwB1gBim1YEeleaBYfIoqD/kLVPTq+KwSfVIFM03uQYHapbF04W5QX5Fi04hSfe9OBGI8qaqNEYy7BerW6on/BKxWOZ9VYmopERaTBXWTsUli4CyMurbpRynz2kjPbZF6az72CoG+FGACaSsTw1RxD0V0LP6qmSUU5h x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM4PR11MB6480.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(366004)(396003)(346002)(39860400002)(136003)(376002)(9686003)(86362001)(53546011)(26005)(7696005)(6506007)(122000001)(38100700002)(41300700001)(38070700005)(82960400001)(83380400001)(186003)(64756008)(66446008)(66476007)(66556008)(8676002)(76116006)(66946007)(33656002)(52536014)(5660300002)(2906002)(8936002)(71200400001)(478600001)(6636002)(966005)(55016003)(110136005)(316002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?DNVPTN5GRhaYRFny50Eusvw3TVgGUjlI+tDyja0PWHkCn2Z09olWndKFBmh9?= =?us-ascii?Q?59UlvAZ5sdqf5bKjiQT4kirzwCoP8Y6Hy1ZiTnbdGGcC6taeZ27eDQG0bdly?= =?us-ascii?Q?RiQRPj5NcYiKn8XRlNPEMqh/qyXDITRohyqq48R1gavxPEOCf9U05USxPYks?= =?us-ascii?Q?C88dCgv+HDFRvrfo6cdbzGSLEZSNRQMXl6XDp4lANDUehZxK56XDEt3Ppw1O?= =?us-ascii?Q?Vk1pnZCBYGt4uAEv/jLB4LGWkGENTLshEd40NIHzMsxRufCIy8h1GmpIJfS7?= =?us-ascii?Q?m+qL6kp6CxVhV8M/WNzPrf2lhjVussIZyWVJtlAy/k93ZRG9g6Vt0cX4jEBE?= =?us-ascii?Q?XU1WybvC+xjJpBftK7Pg/skLV2YfQUVX95oBx/4bUy1MEX1WfrydxoxJ/a19?= =?us-ascii?Q?AOj08uIrmGcRfP4PG5gyw5NlZzMq9stS1Eo+tal+CmINJvVb/77EwSAo8TNw?= =?us-ascii?Q?PSYrpOb5I9VDhq25TLcxapNymwhK7okvmIlqVgVJycuEUmQfGZ2ifB0nDyoa?= =?us-ascii?Q?7uumvf+6Tnu4FwIVs5zZ1kGMzVLwsUpDaLe5P2pv9dPlsR/CIWjI62nqbYEZ?= =?us-ascii?Q?WPtkBoGFBEvbSTz66TyxRdIxAMtBQk+TqqNVITrphMvGYK4ikorj8pUgzXCF?= =?us-ascii?Q?Yu6R+Ts7ZmwV3TD05bGtOXiZZkiQsbY1jKv97KDBFZ+31TVlfw4AUHoJC8v+?= =?us-ascii?Q?Q1KQg3iIGXIsR4x3VXUt4o04twKBdhzow2axsKonbZwbRR1I1BSWBkGC+JA/?= =?us-ascii?Q?szieqlJohNYFSqR14UtgzT05FoASY1Tx9ygturDZ8gpNDSa8Pgvf9jNP3Jy+?= =?us-ascii?Q?3FNjcLD+uapJ8wfG8Wy09tQWeY3A99H0l9CzVy09MBI3EcwVjKFtQFoaWQkt?= =?us-ascii?Q?py2iGyp+BLHdCDvKHZD5rodXuLfqeBW9aHouQLh62xtXM01wWaBkZ9444OE3?= =?us-ascii?Q?PH+D+Zf/bPYerBVcE0Sc/3tHIgPustvTgNoLS/uAMZ51Y+oUb+RKvDst4LOx?= =?us-ascii?Q?NSXMAVrngKkPE0PGUB0NixYb0ZHKVxdEVN/ohyn727AnS9jY4AbKldWFj4z6?= =?us-ascii?Q?C2Y0rDeqI7G5KI1Jb7D2nXN9oMCbZZ7+NGTT56NSYH4f4YSkuwnCWQsDDoFm?= =?us-ascii?Q?kvDXsVaBuWZNjElVFgSIlV2KxqgU2MXyAfqMbC4iOSg5xxnVihNcBaQGzkgB?= =?us-ascii?Q?PUcVUCwivQDUREpR3Tz3xC6SbITfl1smH13DmyDzqmqjXA9rYJVyXRCLwWFF?= =?us-ascii?Q?3p7a8J8pJBthohIXoBUbJukwcqZraD/rB7l7hfL8G6tR1WHsgf7Q9Z2XIL/q?= =?us-ascii?Q?6SIsmN/tryKy4FSf14rVRuyza/hVOq7W6p6M1TW2JNESMZt8K8v6VCW5a9aL?= =?us-ascii?Q?VFVyrzjb/8VeAmqtToT8ORHPcCdnG+yE/rXabqJrS36aGOaePpc9z7ok7zNQ?= =?us-ascii?Q?zg3CbDLA4AVf+jeNM5ifycLpKnEBueNYahPsfE7MYqgPywwAljY1Glz7OtbR?= =?us-ascii?Q?DIXoJRitzsj1MqCppXl3Xjgrr6CoHn6QZI960BK4kCCZGNtX/C6X3hF/Jkwv?= =?us-ascii?Q?BPx1gEGGafbBurYl8GyKwaBSmg8mGrpNw1eaZnWo?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM4PR11MB6480.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3772812a-7a45-481a-d134-08da79b9be40 X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Aug 2022 03:46:29.3551 (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: 8gFMLVlV4wPX4rn9/SkduwnmIP0dxwSSB630CIJkX27oeV18zqXJW0S6wGIpx7oFjOvWJ6oYGuY+qJii+32GZw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR11MB4499 Return-Path: eric.dong@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Reviewed-by: Eric Dong -----Original Message----- From: devel@edk2.groups.io On Behalf Of Ni, Ray Sent: Monday, July 18, 2022 9:18 PM To: devel@edk2.groups.io Subject: [edk2-devel] [PATCH 00/10] UefiCpuPkg: Create CpuPageTableLib for = manipulating X86 paging structs Ray Ni (10): UefiCpuPkg: Create CpuPageTableLib for manipulating X86 paging structs UefiCpuPkg/CpuPageTableLib: Return error on invalid parameters CpuPageTableLib: Fix a bug when a bit is 1 in Attribute, 0 in Mask CpuPageTableLib: Refactor the logic CpuPageTableLib: Split the page entry when LA is aligned but PA is not CpuPageTableLib: Avoid treating non-leaf entry as leaf one CpuPageTableLib: Fix parent attributes are not inherited properly CpuPageTableLib: Fix a bug to avoid unnecessary changing to page table CpuPageTableLib: Fix bug that wrongly requires extra size for mapping CpuPageTableLib: define IA32_PAGE_LEVEL enum type internally UefiCpuPkg/Include/Library/CpuPageTableLib.h | 129 ++++ .../Library/CpuPageTableLib/CpuPageTable.h | 230 ++++++ .../CpuPageTableLib/CpuPageTableLib.inf | 35 + .../Library/CpuPageTableLib/CpuPageTableMap.c | 690 ++++++++++++++++++ .../CpuPageTableLib/CpuPageTableParse.c | 330 +++++++++ UefiCpuPkg/UefiCpuPkg.dec | 3 + UefiCpuPkg/UefiCpuPkg.dsc | 4 +- 7 files changed, 1420 insertions(+), 1 deletion(-) create mode 100644 Uef= iCpuPkg/Include/Library/CpuPageTableLib.h create mode 100644 UefiCpuPkg/Library/CpuPageTableLib/CpuPageTable.h create mode 100644 UefiCpuPkg/Library/CpuPageTableLib/CpuPageTableLib.inf create mode 100644 UefiCpuPkg/Library/CpuPageTableLib/CpuPageTableMap.c create mode 100644 UefiCpuPkg/Library/CpuPageTableLib/CpuPageTableParse.c -- 2.35.1.windows.2