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.web10.95185.1679637638981244777 for ; Thu, 23 Mar 2023 23:00:39 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=jOXbDkPB; spf=pass (domain: intel.com, ip: 192.55.52.151, mailfrom: dun.tan@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1679637638; x=1711173638; h=from:to:subject:date:message-id:mime-version: content-transfer-encoding; bh=IWuPPNNaBPMePa4KCPLUgarTiAcFOOGBZ3Ydhx/btQI=; b=jOXbDkPBxKV/7DTy/LV3ZXcCtSt7s+/0qc8VRALrSHgnGYk2dcXFZ+nq csNOasv9NdkcdH3kvxfyvqf11EVBO7ZCSVoXeU/HNhWiD/WvuHNp7/R+H 4uLukzPX/ZyMhjtn5sV6Gs0Vpt8i74A4rp+r9eUofLrlCkzdSmj5kTFvK l48n61qJliPmaBNzyvciLQvDgoSDgEWS+IxmowbNOHaZAxgVUyERD9D7W OfOWmFlzROnpeZZeXVkXTz8n75j9NR8yxy4Ef33jIa1JE1WyX7ZthujGx cGf7ov6WHp1b/p6x6oSLRKGCZEXTE7LArks5tGZdVP1n5KrfClRc/g9sT A==; X-IronPort-AV: E=McAfee;i="6600,9927,10658"; a="320093820" X-IronPort-AV: E=Sophos;i="5.98,286,1673942400"; d="scan'208";a="320093820" Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 Mar 2023 23:00:29 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10658"; a="1012122004" X-IronPort-AV: E=Sophos;i="5.98,286,1673942400"; d="scan'208";a="1012122004" Received: from shwdeopenlab702.ccr.corp.intel.com ([10.239.55.92]) by fmsmga005-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 Mar 2023 23:00:29 -0700 From: "duntan" To: devel@edk2.groups.io Subject: [Patch V5 00/22] Fix issues in CpuPageTableLib Date: Fri, 24 Mar 2023 13:59:58 +0800 Message-Id: <20230324060020.940-1-dun.tan@intel.com> X-Mailer: git-send-email 2.31.1.windows.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit In the V5 atch set: 1. In 'Fix the non-1:1 mapping issue' patch, add (UINT64) for PagingEntryIndex to avoid IA32 build failure 2. In 'Fix issue when splitting leaf entry', still use IA32_PE_BASE_ADDRESS_MASK_40 but add some comments to explain why. 3. In 'Add check for Mask and Attr', lines of @retval RETURN_INVALID_PARAMETER is added to describes the invalid cases. 4. In 'Add manual test to check Mask and Attr', modify the wrong comments in code. 5. A new patch 'Add LastMapEntry pointer' to add LastMapEntry pointer to replace MapEntrys->Maps[MapsIndex] 6. In 'Modify RandomTest to check Mask/Attr', modify the commit message and correspding code due to Ray's comments 7. In 'Add OUTPUT IsModified parameter', modify the code due to Ray's comments 8. In 'Combine branch for non-present and leaf ParentEntry', modify the code due to Ray's comments 9. In 'Enable PAE paging', removed the unneeded new macro Dun Tan (20): UefiCpuPkg/CpuPageTableLib: Remove unneeded 'if' condition UefiCpuPkg/CpuPageTableLib: Add check for input Length UefiCpuPkg/CpuPageTableLib:Initialize some LocalVariable at beginning UefiCpuPkg/CpuPageTableLib: Fix the non-1:1 mapping issue UefiCpuPkg/CpuPageTableLib:Clear PageSize bit(Bit7) for non-leaf UefiCpuPkg/CpuPageTableLib: Fix issue when splitting leaf entry UefiCpuPkg/MpInitLib: Add code to initialize MapMask UefiCpuPkg/CpuPageTableLib:Add check for Mask and Attr UefiCpuPkg/CpuPageTableLib: Add manual test to check Mask and Attr UefiCpuPkg/CpuPageTableLib:Modify RandomBoolean() in RandomTest UefiCpuPkg/CpuPageTableLib: Add LastMapEntry pointer UefiCpuPkg/CpuPageTableLib:Modify RandomTest to check Mask/Attr UefiCpuPkg/CpuPageTableLib: Enable non-1:1 mapping in random test UefiCpuPkg/CpuPageTableLib: Add OUTPUT IsModified parameter. UefiCpuPkg/CpuPageTableLib: Modify RandomTest to check IsModified UefiCpuPkg/CpuPageTableLib: Add check for page table creation UefiCpuPkg: Combine branch for non-present and leaf ParentEntry UefiCpuPkg/CpuPageTableLib: Enable PAE paging UefiCpuPkg/CpuPageTableLib: Add RandomTest for PAE paging UefiCpuPkg/CpuPageTableLib: Reduce the number of random tests Zhiguang Liu (2): UefiCpuPkg: Fix IA32 build failure in CpuPageTableLib.inf UefiCpuPkg: Modify UnitTest code since tested API is changed UefiCpuPkg/Include/Library/CpuPageTableLib.h | 44 +++++++++++++++++++++++++------------------- UefiCpuPkg/Library/CpuPageTableLib/CpuPageTable.h | 127 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------------------------------------------------- UefiCpuPkg/Library/CpuPageTableLib/CpuPageTableMap.c | 317 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------------------------ UefiCpuPkg/Library/CpuPageTableLib/CpuPageTableParse.c | 25 +++++++++++++++++++++---- UefiCpuPkg/Library/CpuPageTableLib/UnitTest/CpuPageTableLibUnitTestHost.c | 225 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------------------------------------- UefiCpuPkg/Library/CpuPageTableLib/UnitTest/RandomTest.c | 338 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------------------------------------------------------------------------------------------- UefiCpuPkg/Library/CpuPageTableLib/UnitTest/TestHelper.c | 22 +++++++++++++++------- UefiCpuPkg/Library/MpInitLib/X64/CreatePageTable.c | 11 +++++------ 8 files changed, 782 insertions(+), 327 deletions(-) -- 2.31.1.windows.1