From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from rn-mailsvcp-ppex-lapp35.apple.com (rn-mailsvcp-ppex-lapp35.apple.com [17.179.253.44]) by mx.groups.io with SMTP id smtpd.web09.1807.1638905228523920144 for ; Tue, 07 Dec 2021 11:27:08 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@apple.com header.s=20180706 header.b=FZlS7Nz8; spf=pass (domain: apple.com, ip: 17.179.253.44, mailfrom: afish@apple.com) Received: from pps.filterd (rn-mailsvcp-ppex-lapp35.rno.apple.com [127.0.0.1]) by rn-mailsvcp-ppex-lapp35.rno.apple.com (8.16.1.2/8.16.1.2) with SMTP id 1B7JNVY1004663; Tue, 7 Dec 2021 11:27:06 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=apple.com; h=content-type : mime-version : subject : from : in-reply-to : date : cc : content-transfer-encoding : message-id : references : to; s=20180706; bh=/bE8/eFCHs/BtFA4Bvy2u2Oox18q4eAN6rlaMDQMRKw=; b=FZlS7Nz8qZ64w5dLSN3Ja3eXPiu8gsckJ7BKiSB4KmfTsq4vPOb5GDP7DdurRfVpflih y5Mtx3ZnLtQqSJuK07eycM3IFhBfEy4Y+Qy/y5hsekV4GV6US1kQ4GUZMP1UDaN/38ut HhOdL1/pBJu76yjhRgnBJWaHululN2fr4nCUPjOQ31doBplMTwl3PWIeyUCGzBbuFrOB FJhrcnB28qmU82pA06tdknxqvBEK3yDuszMzswGyz/L1lB+VxM1vlpQ0YbCsKB0+pqeV /+xOufeKugFxT9up55f7ic3n1V9hQOJZ0N8gYuoyfmAQcUdTUSD9VBfKTcnJ7g+A6kNY iQ== Received: from rn-mailsvcp-mta-lapp03.rno.apple.com (rn-mailsvcp-mta-lapp03.rno.apple.com [10.225.203.151]) by rn-mailsvcp-ppex-lapp35.rno.apple.com with ESMTP id 3crs6pk6w3-15 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO); Tue, 07 Dec 2021 11:27:06 -0800 Received: from rn-mailsvcp-mmp-lapp01.rno.apple.com (rn-mailsvcp-mmp-lapp01.rno.apple.com [17.179.253.14]) by rn-mailsvcp-mta-lapp03.rno.apple.com (Oracle Communications Messaging Server 8.1.0.12.20210903 64bit (built Sep 3 2021)) with ESMTPS id <0R3R00PZIFD58N20@rn-mailsvcp-mta-lapp03.rno.apple.com>; Tue, 07 Dec 2021 11:27:05 -0800 (PST) Received: from process_milters-daemon.rn-mailsvcp-mmp-lapp01.rno.apple.com by rn-mailsvcp-mmp-lapp01.rno.apple.com (Oracle Communications Messaging Server 8.1.0.12.20210903 64bit (built Sep 3 2021)) id <0R3R00Y00EOS9L00@rn-mailsvcp-mmp-lapp01.rno.apple.com>; Tue, 07 Dec 2021 11:27:05 -0800 (PST) X-Va-A: X-Va-T-CD: ea8ecdd7c7fec670404234df68c44261 X-Va-E-CD: 45151d1754065b814e40681044744b42 X-Va-R-CD: 2207b74ae8c86198cc80220b2c489470 X-Va-CD: 0 X-Va-ID: ca15c9ea-608f-4e99-bb8c-168f5df49b40 X-V-A: X-V-T-CD: ea8ecdd7c7fec670404234df68c44261 X-V-E-CD: 45151d1754065b814e40681044744b42 X-V-R-CD: 2207b74ae8c86198cc80220b2c489470 X-V-CD: 0 X-V-ID: 4f42d3eb-0a15-4da4-9671-76f34131aa97 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.425,18.0.790 definitions=2021-12-07_07:2021-12-06,2021-12-07 signatures=0 Received: from smtpclient.apple (unknown [17.235.48.119]) by rn-mailsvcp-mmp-lapp01.rno.apple.com (Oracle Communications Messaging Server 8.1.0.12.20210903 64bit (built Sep 3 2021)) with ESMTPSA id <0R3R00BFRFD4BF00@rn-mailsvcp-mmp-lapp01.rno.apple.com>; Tue, 07 Dec 2021 11:27:05 -0800 (PST) MIME-version: 1.0 (Mac OS X Mail 15.0 \(3693.20.0.1.32\)) Subject: Re: [edk2-devel] Uncrustify Conversion Detailed Plan and Extended Hard Freeze Update #5 - Completed - Hard Freeze Lifted From: "Andrew Fish" In-reply-to: Date: Tue, 07 Dec 2021 11:27:04 -0800 Cc: Michael Kubacki , Leif Lindholm Message-id: References: To: devel@edk2.groups.io, Mike Kinney X-Mailer: Apple Mail (2.3693.20.0.1.32) X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.425,18.0.790 definitions=2021-12-07_07:2021-12-06,2021-12-07 signatures=0 Content-type: text/plain; charset=us-ascii Content-transfer-encoding: quoted-printable > On Dec 7, 2021, at 11:22 AM, Michael D Kinney wrote: >=20 > Hello, >=20 > Thank you to everyone for their patience and for everyone who helped with= the development > and review of this important update to the edk2 repository. >=20 > The last 2 PR series have completed review, passed EDK II CI checks, pass= ed CompareBuild > verifications, and been pushed. >=20 > https://github.com/tianocore/edk2/pull/2242 > https://github.com/tianocore/edk2/pull/2244 >=20 > The hard freeze has ended and normal development activities can continue. >=20 > 1) If you have code reviews that started before the uncrustify changes, p= lease > update them. The recipes are included below and will be added to the W= iki. >=20 > 2) For all new patch review, please make sure you run the uncrustify tool= or > use it as a plugin with your editor. If PRs submitted to EDK II CI do = not > match the uncrustified version, they will not pass CI. >=20 Mike, How is this documented outside of this patch set? Is there a Tianocore Wiki= page on configuring uncrustify? Does that Readme.rst link to that? Thanks, Andrew Fish > Changes from Update #4 > -------------------------------------------------------------------------= --- > * Pushed PR (6) > * Pushed PR (7) > * Change uncrustify configuration align_assign_thresh from 4 to 0 (no lim= it). > * Update all use of ', OPTIONAL' to ' OPTIONAL,' for function params. > * Change complex DEBUG_CODE() to DEBUG_CODE_BEGIN/END() >=20 > Changes from Update #3 > -------------------------------------------------------------------------= --- > * Pushed PR (5) > * Added link to PR(6). EDK II CI Status is PASS. Build Compare PASS. > * Waiting for review of PR (6) > * Review of PR (7) completed and waiting for review of PR (6) > -------------------------------------------------------------------------= --- >=20 > Changes from Update #2 > -------------------------------------------------------------------------= --- > * Changed order of PRs swapping (4) and (5). The PR that activates > increases the max CI agent job time is independent of all the other > PRs and its review is complete, so it can be committed now. > * Pushed PRs (1), (2), (3), (4). > * Waiting for review to complete for PRs (5) and (6) > * Reviews complete for PR (7) > * Identifies steps using git filter-branch to apply uncrustify changes to= a > code review patch series that was generated before the uncrustify change= s > avoiding manual merge. > * Identified steps using git filter-repo to generate an alternate history= of > the edk2 repo with uncrustify changes applied on every commit. This may > be useful when evaluating changes to files using tools like git blame > without the large uncrustify patch series. > -------------------------------------------------------------------------= -- >=20 > Changes from Update #1 > -------------------------------------------------------------------------= --- > * Changed order of PRs swapping (6) and (7). The PR that activates > EDK II CI check UncrustifyCheck has to be last because it unconditionall= y > checks all C/H files in all packages. Not just files that have been > modified like some of the other checkers. > * Updated link to the branch with the UncrustifyCheck plugin that has bee= n > updated with a one line change and Reviewed-by and Tested-by tags. > https://github.com/mdkinney/edk2/tree/Bug_3748_add_uncrustify_ci_plugin_= v6=20 > * Reviews complete for (1), (2), (3), (5), and (7) > -------------------------------------------------------------------------= -- >=20 > Michael Kubacki and I have prepared the patches required to apply the=20 > uncrustify changes and enable EDK II CI to check all submitted > patches have been run through uncrustify. >=20 > We have verified through the CompareBuild GitHub Action that the > format changes performed by uncrustify have no functional changes. > All of the OBJ, LIB, DLL, EFI, FFS, FV, and FD files match 100% > across 70 VS2019/GCC5 builds of all package/platform DSC files in > the edk2 repo. >=20 > The hard freeze will be extended after the edk2-stable202111 tag until > all uncrustify related changes are committed. We do not expect this=20 > to take more than a few days. Do not push any PRs until the hard=20 > freeze is lifted. >=20 > The changes are broken up into 7 patch series/PRs. The PRs are ordered > so they can be submitted using the normal submission process and EDK II > CI will pass for each one. Details are listed below. >=20 > Uncrustify 73.0.3 for EDK II > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D > * Sources: https://dev.azure.com/projectmu/_git/Uncrustify > * Documentation: https://dev.azure.com/projectmu/Uncrustify/_wiki/wikis/U= ncrustify.wiki/1/Project-Mu-(EDK-II)-Fork-Readme > * Download: https://dev.azure.com/projectmu/Uncrustify/_packaging?_a=3Dpa= ckage&feed=3Dmu_uncrustify&package=3Dmu-uncrustify-release&protocolType=3DN= uGet&version=3D73.0.3 >=20 > Installing Uncrustify > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > The Uncrustify tool is installed automatically when the Pytools > environment is used and the stuart* commands are run to complete the > environment setup. Please see: >=20 > https://github.com/tianocore/edk2/tree/master/.pytool#running-ci-local= ly >=20 > Uncrustify can also be installed from the download page listed above=20 > or built from sources from the source link above. >=20 > The Documentation link provides instruction on how to run uncrustify from= =20 > the command line or install as a Visual Studio Code plugin. The main > uncrustify documentation also describes how to integrate with a few other > editors. >=20 > We have also discussed a client side githook. That effort has not starte= d. > Let us know if that is a feature you would find useful. >=20 > Developer impact for new code reviews > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > Once the uncrustify checker is active in EDK II CI, developers must=20 > make sure their patches are run through the uncrustify tool before=20 > sending the patches for review. >=20 > Developers must install and run uncrustify against changes files before= =20 > sending patch review emails or submitting PR for EDK II CI. If EDK II CI > detects and differences in source formatting, then EDK II CI will fail > and the developer must run uncrustify and resubmit the patches. >=20 > Developer impact to patch series/PRs reviewed during edk2-stable201121 so= ft/hard freeze > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > Developers must rebase their changes after the uncrustify source changes = are > committed(latest edk2/master) >=20 > The following steps can be used to update an existing branch with the=20 > required uncrustify format. This is the Windows version. I will add > the Linux version soon. >=20 > 1) Fetch and checkout and rebase to latest edk2/master >=20 > git fetch origin > git checkout master > git rebase origin/master >=20 > 2) Make a backup copy of plugin UncrustifyCheck outside WORKSPACE.=20 > (e.g. C:\Temp\UncrustifyCheck) so the uncrustify tool executable an= d > EDK II specific uncrustify configuration file available when workin= g > with a branch that does not have those tools in its scope. >=20 > xcopy .pytool\Plugin\UncrustifyCheck C:\Temp\UncrustifyCheck >=20 > 3) Check out the patch series branch (e.g. MyBranch) >=20 > git checkout MyBranch >=20 > 4) Rebase patch series against edk2-stable202111 >=20 > git rebase edk2-stable202111 >=20 > 5) Create new branch for the uncrustifed version (e.g. MyBranch_Uncrus= tified) >=20 > git checkout -b MyBranch_Uncrustified >=20 > 6) Use git filter-branch to uncrustify all the commits in the series > between the rebase target from (2) and HEAD of the branch. A filte= r > can be used to scope the uncrustify operations to only the C/H file= s > in the specific package the patch series is against. (e.g. DynamicT= ablesPkg). > BaseTools should always be excluded. If the package scoped filter = is=20 > not used, it will still work, but will take longer to run because= =20 > uncrustify will rescan every C/H files in the whole repo. >=20 > git filter-branch --tree-filter "git ls-files DynamicTablesPkg*= .c DynamicTablesPkg*.h :!BaseTools/* | c:\\Temp\\UncrustifyCheck\\mu-uncrus= tify-release_extdep\\Windows-x86\\uncrustify.exe -c c:\\Temp\\UncrustifyChe= ck\\uncrustify.cfg -F - --replace --no-backup --if-changed" edk2-stable2021= 11..HEAD >=20 > 7) Now that all the individual patches in the branch are uncrustified,= =20 > rebase against latest edk2/master that is already uncrustified. >=20 > git rebase master >=20 > 8) Verify the patches in this new branch. >=20 > Impacts to tracing history across the uncrusity changes > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D > Tools the view file and line history do work with the large uncrustify > patch series. One impact is that the operations can be very slow due > to the large uncrustify patches. >=20 > One option to provide a faster experience is to provide an alternate > version of the edk2 repository as "documentation" that has the=20 > entire history re-written with uncrustify run on every commit. > The tool called git-filter-repo can be used to perform this=20 > transformation and runs in a reasonable period of time (a few hours)=20 >=20 > https://github.com/newren/git-filter-repo > https://github.com/newren/git-filter-repo/blob/main/contrib/filter-repo= -demos/lint-history >=20 > The following steps can be used to perform this transformation. > This is the Windows version. I will add the Linux version soon. >=20 > ** WARNING ** This operation modifies(rewrites) all the commits > in the local copy of the repo. Do not perform > these steps on a local repo you are using for=20 > active development. >=20 > 1) Clone edk2 into a new directory (see **WARNING**) >=20 > git clone https://github.com/tianocore/edk2.git edk2-uncrustifi= ed > cd edk2-uncrustified >=20 > 2) Setup python virtual env, install pytools, and run stuart commands > to setup build environment which includes installing uncrustify too= ls. >=20 > https://github.com/tianocore/edk2/tree/master/.pytool#running-c= i-locally >=20 > 3) Make a backup copy of plugin UncrustifyCheck outside WORKSPACE.=20 > (e.g. C:\Temp\UncrustifyCheck) so the uncrustify tool executable an= d > EDK II specific uncrustify configuration file available when workin= g > with a branch that does not have those tools in its scope. >=20 > xcopy .pytool\Plugin\UncrustifyCheck C:\Temp\UncrustifyCheck >=20 > 4) Use lint-history.py from git-filter-repo examples >=20 > https://github.com/newren/git-filter-repo > https://github.com/newren/git-filter-repo/blob/main/contrib/fil= ter-repo-demos/lint-history >=20 > Line #127 - Add try except around subprocess.check_call() with exce= pt > being pass. This is required because there are a few commits of C > files in the edk2 repo that have incorrect C syntax and do not=20 > build with a C compiler and break the uncrustify parser. Skip refo= rmat > of C files that can not be parsed by uncrustify. These rare instan= ces > are addressed in the commit that fixes the C syntax error. >=20 > Run this slightly modified version of lint-history. Include only > C/H files and exclude directories that start with 'Tools' or 'BaseT= ools'. > This step took about 2.2 hours on a laptop. >=20 > lint-history.py=20 > --relevant "return (not filename.startswith(b'Tools') and n= ot filename.startswith(b'BaseTools') and (filename.endswith(b'.c') or filen= ame.endswith(b'.h')))" > c:\\work\\GitHub\\tianocore\\foo\\UncrustifyCheck\\mu-uncru= stify-release_extdep\\Windows-x86\\uncrustify.exe -c c:\\work\\GitHub\\tian= ocore\\foo\\UncrustifyCheck\\uncrustify.cfg --replace --no-backup --if-chan= ged >=20 > Order of PRs to apply during extended hard freeze > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D > 1) Update EmulatorPkg Win Host [BuildOptions] MSFT CC_FLAGS to not force = debug information > * https://bugzilla.tianocore.org/show_bug.cgi?id=3D3747 > * https://github.com/mdkinney/edk2/tree/Bug_3747_EmulatorPkg_WinHost_Re= producibleBuild > * https://github.com/tianocore/edk2/pull/2215 > * Required for EmulatorPkg to pass CompareBuild for VS2019 IA32/X64 bui= lds. > * Status: Review complete. PR pushed. >=20 > 2) EccCheck should not revert staged and local changes > * https://bugzilla.tianocore.org/show_bug.cgi?id=3D2986 > * https://github.com/mdkinney/edk2/tree/Bug_2986_EccCheckRemoveGitRever= t_V2 > * https://github.com/tianocore/edk2/pull/2216 > * Required for EDK II CI to complete in a reasonable period of time whe= n > processing the 4000+ source file style changes made by uncrustify. > * Also fixes critical bugs that can potentially corrupt git state when= =20 > EccCheck is run locally. > * Status: Review complete. PR pushed. >=20 > 3) Update pytool LicenseCheck plugin to use temp directory for diff outpu= t file > * https://bugzilla.tianocore.org/show_bug.cgi?id=3D3746 > * https://github.com/mdkinney/edk2/tree/Bug_3746_LicenseCheckUseDiffOut= putFile_V2 > * https://github.com/tianocore/edk2/pull/2217 > * Required to reduce EDK II CI build times. > * Status: Review complete. PR pushed. >=20 > 4) Update max job time from 60 min to 120 minutes in .azurepipelines/temp= lates > * https://bugzilla.tianocore.org/show_bug.cgi?id=3D3750 > * https://github.com/mdkinney/edk2/tree/Bug_3750_IncreaseAzurePipelines= Timeout > * https://github.com/tianocore/edk2/pull/2219 > * Required to allow EccCheck of uncrustify changes to complete on Azure > Pipelines CI agents without timing out. > * Status: Review complete. PR pushed. >=20 > 5) Update Package YAML to ignore specific ECC files/errors > * https://bugzilla.tianocore.org/show_bug.cgi?id=3D3749 > * https://github.com/mdkinney/edk2/tree/Bug_3749_EccCheckIgnoreFilesErr= ors > * https://github.com/tianocore/edk2/pull/2218 > * Required to pass EccCheck > * Status: Review complete. PR pushed >=20 > 6) Uncrustify Source Changes > * https://bugzilla.tianocore.org/show_bug.cgi?id=3D3737 > * https://bugzilla.tianocore.org/show_bug.cgi?id=3D3767 > * https://bugzilla.tianocore.org/show_bug.cgi?id=3D3760 > * https://bugzilla.tianocore.org/show_bug.cgi?id=3D3739 > * https://github.com/mdkinney/edk2/tree/Bug_3737_3767_3760_3739_ApplyUn= crustifyChanges_V7 > * https://github.com/tianocore/edk2/pull/2242 > * Build comparison result PASS: https://github.com/mdkinney/edk2/action= s/runs/1550132292 > * EFI_D_ -> DEBUG changes required to pass PatchCheck > * , OPTIONAL -> OPTIONAL, changes required for proper formatting > * DEBUG_CODE() -> DEBUG_CODE_BEGIN/END() required for complex code bloc= ks > for proper formatting. > * Uncrustify format changes required to pass UncrustifyCheck > * Status: Review complete. PR pushed >=20 > 7) UncrustifyCheck EDK II CI Plugin > * https://bugzilla.tianocore.org/show_bug.cgi?id=3D3748 > * https://github.com/mdkinney/edk2/tree/Bug_3748_add_uncrustify_ci_plug= in_v7 > * Required to enforce all PRs submitted to EDK II CI match uncrustify f= ormat. > * Unconditionally checks all packages. Cannot be committed until all C= /H > source files have been updated. > * Status: Review complete. PR pushed. >=20 > Combined Branch/PR for Review/Test > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > * Build Comparison results must pass 100% across the full set of PRs befo= re > the individual PRs can be pushed in the order listed above. > * Branch: https://github.com/mdkinney/edk2/tree/TestOnly_Uncrustify_PR_Se= ries > * PR: https://github.com/tianocore/edk2/pull/2229 > Status =3D PASS > * CompareBuild: > Branch: https://github.com/mdkinney/edk2/tree/Bug_3737_3739_ApplyUncru= stifyChanges_V5 > --ref1: ef9a059cdb15844fe52a49af2bf7d86b9dd3e9bf > --ref2: Bug_3737_3739_ApplyUncrustifyChanges_V5 > Extra Options: -n 4 --quiet > Results: https://github.com/mdkinney/edk2/actions/runs/1521618836 > 30 VS2019 build comparisons PASS > 40 GCC5 build comparisons PASS > 100% PASS >=20 > The following git log shows the set of patches from --ref1 to --ref 2acro= ss > which there are no differences in any of the OBJ/LIB/DLL/EFI/FFS/FV/FD fi= les. >=20 > --ref2 > b7d4bf0675b7 (HEAD -> Bug_3737_3739_ApplyUncrustifyChanges_V5) UnitTestFr= ameworkPkg: Apply uncrusitify changes > 7f03d25f60e7 UefiPayloadPkg: Apply uncrusitify changes =20 > 0bfd8d9b5ac9 UefiCpuPkg: Apply uncrusitify changes = = =20 > e1cd9bfb9dea StandaloneMmPkg: Apply uncrusitify changes = = =20 > 5da2f65be378 SourceLevelDebugPkg: Apply uncrusitify changes = = =20 > 95b86de07e5d SignedCapsulePkg: Apply uncrusitify changes = = =20 > fe71d97246c4 ShellPkg: Apply uncrusitify changes = = =20 > 54c21c952992 SecurityPkg: Apply uncrusitify changes = = =20 > 187a3785f12b RedfishPkg: Apply uncrusitify changes = = =20 > 810100002a46 PcAtChipsetPkg: Apply uncrusitify changes = = =20 > 276a695c0cf2 OvmfPkg: Apply uncrusitify changes = = =20 > 303c0a91ab07 NetworkPkg: Apply uncrusitify changes = = =20 > bc80792cd1b1 MdePkg: Apply uncrusitify changes = = =20 > 3ea86be17a2a MdeModulePkg: Apply uncrusitify changes = = =20 > c70ef11ed0cd IntelFsp2WrapperPkg: Apply uncrusitify changes = = =20 > c0291221f252 IntelFsp2Pkg: Apply uncrusitify changes = = =20 > 6a479952a690 FmpDevicePkg: Apply uncrusitify changes = = =20 > 3a7c05b7070d FatPkg: Apply uncrusitify changes = = =20 > b789f98c8959 EmulatorPkg: Apply uncrusitify changes = = =20 > 952d7a1c9220 EmbeddedPkg: Apply uncrusitify changes = = =20 > a1cc9881bab6 DynamicTablesPkg: Apply uncrusitify changes = = =20 > 50654dfe5785 CryptoPkg: Apply uncrusitify changes = = =20 > ed965a02dfa1 ArmVirtPkg: Apply uncrusitify changes = = =20 > 9744023fbc46 ArmPlatformPkg: Apply uncrusitify changes = = =20 > 7a1cde5f5bba ArmPkg: Apply uncrusitify changes = = =20 > 19d17e0913e8 UefiCpuPkg: Change use of EFI_D_* to DEBUG_* = = =20 > ffa718b4f994 SourceLevelDebugPkg: Change use of EFI_D_* to DEBUG_* = = =20 > b86cb3c5e5b4 ShellPkg: Change use of EFI_D_* to DEBUG_* = = =20 > c7c42204dc07 SecurityPkg: Change use of EFI_D_* to DEBUG_* = = =20 > 16b8e6f958e4 PcAtChipsetPkg: Change use of EFI_D_* to DEBUG_* = = =20 > 0ac3f8b2dac5 OvmfPkg: Change use of EFI_D_* to DEBUG_* = = =20 > bc5004b8d294 NetworkPkg: Change use of EFI_D_* to DEBUG_* = = =20 > 6f671a8e2377 MdePkg: Change use of EFI_D_* to DEBUG_* = = =20 > a10c610ff9a3 MdeModulePkg: Change use of EFI_D_* to DEBUG_* = = =20 > 09a3bddba390 FatPkg: Change use of EFI_D_* to DEBUG_* = = =20 > 59c61318246a EmulatorPkg: Change use of EFI_D_* to DEBUG_* = = =20 > 3a80367dda3b EmbeddedPkg: Change use of EFI_D_* to DEBUG_* = = =20 > 23eb1aaf80ca ArmVirtPkg: Change use of EFI_D_* to DEBUG_* = = =20 > 875914b45c54 ArmPlatformPkg: Change use of EFI_D_* to DEBUG_* = = =20 > eb2eca82b451 ArmPkg: Change use of EFI_D_* to DEBUG_* = = =20 > f0f3f5aae7c4 (origin/master, origin/HEAD, master) UnitTestFrameworkPkg: U= pdate YAML to ignore specific ECC files/errors = =20 > c05734797790 UefiPayloadPkg: Update YAML to ignore specific ECC files/err= ors = =20 > c30c40d6c63d StandaloneMmPkg: Update YAML to ignore specific ECC files/er= rors = =20 > 9944508e85f1 ShellPkg: Update YAML to ignore specific ECC files/errors = = =20 > 60fa40be458d SecurityPkg: Update YAML to ignore specific ECC files/errors= = =20 > df790cd6b37e MdePkg: Update YAML to ignore specific ECC files/errors = = =20 > 9deb9370766e MdeModulePkg: Update YAML to ignore specific ECC files/error= s = =20 > d7d30e8f219f EmulatorPkg: Update YAML to ignore specific ECC files/errors= = =20 > d5744ecba813 CryptoPkg: Update YAML to ignore specific ECC files/errors = = =20 > c97fee87f0f9 ArmVirtPkg: Update YAML to ignore specific ECC files/errors = = =20 > 1939fc9569f2 ArmPlatformPkg: Update YAML to ignore specific ECC files/err= ors = =20 > 365dced2c37a ArmPkg: Update YAML to ignore specific ECC files/errors = = =20 > 76a1ce4d5fec .azurepipelines/templates: Update max pipeline job time to 2= hours = =20 > 99f84ff47390 .pytools/Plugin/LicenseCheck: Use temp directory for git dif= f output = =20 > 3019f1bbabf1 .pytool/Plugin/EccCheck: Add performance optimizations = = =20 > 854462bd3479 .pytool/Plugin/EccCheck: Remove temp directory on exception = = =20 > 69877614fdee .pytool/Plugin/EccCheck: Remove RevertCode()=20 > --ref1 = = =20 > ef9a059cdb15 EmulatorPkg/Win/Host: Update CC_FLAGS = = =20 > bb1bba3d7767 (tag: edk2-stable202111) NetworkPkg: Fix invalid pointer for= DNS response token on error = =20 >=20 > Best regards, >=20 > Mike >=20 >=20 >=20 >=20 >=20 >=20