5 A modern, feature-rich, cross-platform firmware development
6 environment for the UEFI and PI specifications from www.uefi.org.
11 ============================= ================= =============== ===================
12 Host Type & Toolchain Build Status Test Status Code Coverage
13 ============================= ================= =============== ===================
14 Windows_VS2019_ |WindowsCiBuild| |WindowsCiTest| |WindowsCiCoverage|
15 Ubuntu_GCC5_ |UbuntuCiBuild| |UbuntuCiTest| |UbuntuCiCoverage|
16 ============================= ================= =============== ===================
18 `More CI Build information <.pytool/Readme.md>`__
20 Platform CI Build Status
21 ------------------------
23 Microsoft Windows VS2019
24 ````````````````````````
26 ============================= ================= ============= ============= ==============
27 Toolchain CONFIG DEBUG RELEASE NOOPT
28 ============================= ================= ============= ============= ==============
29 EmulatorPkg_Win_VS2019_ | IA32 |em32d| |em32r| |em32n|
30 | | X64 |em64d| |em64r| |em64n|
31 | | IA32 FULL |em32fd| |em32fr| |em32fn|
32 | | X64 FULL |em64fd| |em64fr| |em64fn|
33 OvmfPkg_Win_VS2019_ | IA32 |op32d| |op32r| |op32n|
34 | | X64 |op64d| |op64r| |op64n|
35 | | IA32 X64 |op3264d| |op3264r| |op3264n|
36 | | IA32 X64 FULL |op3264fd| |op3264fr| |op3264fn|
37 ============================= ================= ============= ============= ==============
42 ============================= ================= ============= ============= ==============
43 Toolchain CONFIG DEBUG RELEASE NOOPT
44 ============================= ================= ============= ============= ==============
45 ArmVirtPkg_Ubuntu_GCC5_ | AARCH64 |avAArch64du| |avAArch64ru| |avAArch64nu|
46 | | ARM |avArmdu| |avArmru| |avArmnu|
47 EmulatorPkg_Ubuntu_GCC5_ | IA32 |em32du| |em32ru| |em32nu|
48 | | X64 |em64du| |em64ru| |em64nu|
49 | | IA32 FULL |em32fdu| |em32fru| |em32fnu|
50 | | X64 FULL |em64fdu| |em64fru| |em64fnu|
51 OvmfPkg_Ubuntu_GCC5_ | IA32 |op32du| |op32ru| |op32nu|
52 | | X64 |op64du| |op64ru| |op64nu|
53 | | IA32 X64 |op3264du| |op3264ru| |op3264nu|
54 | | IA32 X64 FULL |op3264fdu| |op3264fru| |op3264fru|
55 ============================= ================= ============= ============= ==============
57 |TCBZ_2668|_ - EmulatorPkg Ubuntu GCC5 Segfaults during execution.
59 |TCBZ_2639|_ - EmulatorPkg Ubuntu GCC5 Segfaults during execution.
61 `More ArmVirtPkg CI Build Information <ArmVirtPkg/PlatformCI/ReadMe.md>`__
63 `More EmulatorPkg CI Build Information <EmulatorPkg/PlatformCI/ReadMe.md>`__
65 `More OvmfPkg CI Build Information <OvmfPkg/PlatformCI/ReadMe.md>`__
71 The majority of the content in the EDK II open source project uses a
72 `BSD-2-Clause Plus Patent License <License.txt>`__. The EDK II open
73 source project contains the following components that are covered by additional
76 - `BaseTools/Source/C/LzmaCompress <BaseTools/Source/C/LzmaCompress/LZMA-SDK-README.txt>`__
77 - `BaseTools/Source/C/VfrCompile/Pccts <BaseTools/Source/C/VfrCompile/Pccts/RIGHTS>`__
78 - `CryptoPkg\Library\BaseCryptLib\SysCall\inet_pton.c <CryptoPkg\Library\BaseCryptLib\SysCall\inet_pton.c>`__
79 - `CryptoPkg\Library\Include\crypto\dso_conf.h <https://github.com/openssl/openssl/blob/e2e09d9fba1187f8d6aafaa34d4172f56f1ffb72/LICENSE>`__
80 - `CryptoPkg\Library\Include\openssl\opensslconf.h <https://github.com/openssl/openssl/blob/e2e09d9fba1187f8d6aafaa34d4172f56f1ffb72/LICENSE>`__
81 - `EmbeddedPkg/Library/FdtLib <EmbeddedPkg/Library/FdtLib/fdt.c>`__. (EDK II uses BSD License)
82 - `EmbeddedPkg/Include/fdt.h <EmbeddedPkg/Include/fdt.h>`__. (EDK II uses BSD Licence)
83 - `EmbeddedPkg/Include/libfdt.h <EmbeddedPkg/Include/libfdt.h>`__. (EDK II uses BSD License)
84 - `MdeModulePkg/Library/LzmaCustomDecompressLib <MdeModulePkg/Library/LzmaCustomDecompressLib/LZMA-SDK-README.txt>`__
85 - `OvmfPkg <OvmfPkg/License.txt>`__
87 The EDK II open source project uses content from upstream projects as git submodules
88 that are covered by additional licenses.
90 - `ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3 <https://github.com/ucb-bar/berkeley-softfloat-3/blob/b64af41c3276f97f0e181920400ee056b9c88037/COPYING.txt>`__
91 - `BaseTools/Source/C/BrotliCompress/brotli <https://github.com/google/brotli/blob/666c3280cc11dc433c303d79a83d4ffbdd12cc8d/LICENSE>`__
92 - `CryptoPkg/Library/OpensslLib/openssl <https://github.com/openssl/openssl/blob/e2e09d9fba1187f8d6aafaa34d4172f56f1ffb72/LICENSE>`__
93 - `MdeModulePkg/Library/BrotliCustomDecompressLib/brotli <https://github.com/google/brotli/blob/666c3280cc11dc433c303d79a83d4ffbdd12cc8d/LICENSE>`__
94 - `MdeModulePkg/Universal/RegularExpressionDxe/oniguruma <https://github.com/kkos/oniguruma/blob/abfc8ff81df4067f309032467785e06975678f0d/COPYING>`__
95 - `UnitTestFrameworkPkg/Library/CmockaLib/cmocka <https://git.cryptomilk.org/projects/cmocka.git/tree/COPYING?h=cmocka-1.1.5&id=f5e2cd77c88d9f792562888d2b70c5a396bfbf7a>`__
97 The EDK II Project is composed of packages. The maintainers for each package
98 are listed in `Maintainers.txt <Maintainers.txt>`__.
103 - `TianoCore <http://www.tianocore.org>`__
105 II <https://github.com/tianocore/tianocore.github.io/wiki/EDK-II>`__
106 - `Getting Started with EDK
107 II <https://github.com/tianocore/tianocore.github.io/wiki/Getting-Started-with-EDK-II>`__
109 Lists <https://github.com/tianocore/tianocore.github.io/wiki/Mailing-Lists>`__
110 - `TianoCore Bugzilla <https://bugzilla.tianocore.org>`__
112 Contribute <https://github.com/tianocore/tianocore.github.io/wiki/How-To-Contribute>`__
114 Planning <https://github.com/tianocore/tianocore.github.io/wiki/EDK-II-Release-Planning>`__
119 To make a contribution to a TianoCore project, follow these steps.
121 #. Create a change description in the format specified below to
122 use in the source control commit log.
123 #. Your commit message must include your ``Signed-off-by`` signature
124 #. Submit your code to the TianoCore project using the process
125 that the project documents on its web page. If the process is
126 not documented, then submit the code on development email list
128 #. It is preferred that contributions are submitted using the same
129 copyright license as the base project. When that is not possible,
130 then contributions using the following licenses can be accepted:
132 - BSD (2-clause): http://opensource.org/licenses/BSD-2-Clause
133 - BSD (3-clause): http://opensource.org/licenses/BSD-3-Clause
134 - MIT: http://opensource.org/licenses/MIT
135 - Python-2.0: http://opensource.org/licenses/Python-2.0
136 - Zlib: http://opensource.org/licenses/Zlib
140 - FreeBSD Documentation License
141 https://www.freebsd.org/copyright/freebsd-doc-license.html
143 Contributions of code put into the public domain can also be accepted.
145 Contributions using other licenses might be accepted, but further
146 review will be required.
148 Developer Certificate of Origin
149 -------------------------------
151 Your change description should use the standard format for a
152 commit message, and must include your ``Signed-off-by`` signature.
154 In order to keep track of who did what, all patches contributed must
155 include a statement that to the best of the contributor's knowledge
156 they have the right to contribute it under the specified license.
158 The test for this is as specified in the `Developer's Certificate of
159 Origin (DCO) 1.1 <https://developercertificate.org/>`__. The contributor
160 certifies compliance by adding a line saying
162 Signed-off-by: Developer Name developer@example.org
164 where ``Developer Name`` is the contributor's real name, and the email
165 address is one the developer is reachable through at the time of
170 Developer's Certificate of Origin 1.1
172 By making a contribution to this project, I certify that:
174 (a) The contribution was created in whole or in part by me and I
175 have the right to submit it under the open source license
176 indicated in the file; or
178 (b) The contribution is based upon previous work that, to the best
179 of my knowledge, is covered under an appropriate open source
180 license and I have the right under that license to submit that
181 work with modifications, whether created in whole or in part
182 by me, under the same open source license (unless I am
183 permitted to submit under a different license), as indicated
186 (c) The contribution was provided directly to me by some other
187 person who certified (a), (b) or (c) and I have not modified
190 (d) I understand and agree that this project and the contribution
191 are public and that a record of the contribution (including all
192 personal information I submit with it, including my sign-off) is
193 maintained indefinitely and may be redistributed consistent with
194 this project or the open source license(s) involved.
196 Sample Change Description / Commit Message
197 ------------------------------------------
201 From: Contributor Name <contributor@example.com>
202 Subject: [Repository/Branch PATCH] Pkg-Module: Brief-single-line-summary
206 Signed-off-by: Contributor Name <contributor@example.com>
208 Notes for sample patch email
209 ````````````````````````````
211 - The first line of commit message is taken from the email's subject
212 line following ``[Repository/Branch PATCH]``. The remaining portion
213 of the commit message is the email's content.
214 - ``git format-patch`` is one way to create this format
216 Definitions for sample patch email
217 ``````````````````````````````````
219 - ``Repository`` is the identifier of the repository the patch applies.
220 This identifier should only be provided for repositories other than
221 ``edk2``. For example ``edk2-BuildSpecification`` or ``staging``.
222 - ``Branch`` is the identifier of the branch the patch applies. This
223 identifier should only be provided for branches other than
225 For example ``edk2/UDK2015``,
226 ``edk2-BuildSpecification/release/1.27``, or
227 ``staging/edk2-test``.
228 - ``Module`` is a short identifier for the affected code or
229 documentation. For example ``MdePkg``, ``MdeModulePkg/UsbBusDxe``, ``Introduction``, or
230 ``EDK II INF File Format``.
231 - ``Brief-single-line-summary`` is a short summary of the change.
232 - The entire first line should be less than ~70 characters.
233 - ``Full-commit-message`` a verbose multiple line comment describing
234 the change. Each line should be less than ~70 characters.
235 - ``Signed-off-by`` is the contributor's signature identifying them
236 by their real/legal name and their email address.
241 Submodule in EDK II is allowed but submodule chain should be avoided
242 as possible as we can. Currently EDK II contains the following submodules
244 - CryptoPkg/Library/OpensslLib/openssl
245 - ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3
246 - MdeModulePkg/Universal/RegularExpressionDxe/oniguruma
247 - MdeModulePkg/Library/BrotliCustomDecompressLib/brotli
248 - BaseTools/Source/C/BrotliCompress/brotli
250 ArmSoftFloatLib is actually required by OpensslLib. It's inevitable
251 in openssl-1.1.1 (since stable201905) for floating point parameter
252 conversion, but should be dropped once there's no such need in future
255 To get a full, buildable EDK II repository, use following steps of git
260 git clone https://github.com/tianocore/edk2.git
262 git submodule update --init
265 If there's update for submodules, use following git commands to get
266 the latest submodules code.
274 Note: When cloning submodule repos, '--recursive' option is not
275 recommended. EDK II itself will not use any code/feature from
276 submodules in above submodules. So using '--recursive' adds a
277 dependency on being able to reach servers we do not actually want
278 any code from, as well as needlessly downloading code we will not
281 .. ===================================================================
282 .. This is a bunch of directives to make the README file more readable
283 .. ===================================================================
287 .. _Windows_VS2019: https://dev.azure.com/tianocore/edk2-ci/_build/latest?definitionId=32&branchName=master
288 .. |WindowsCiBuild| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/Windows%20VS2019%20CI?branchName=master
289 .. |WindowsCiTest| image:: https://img.shields.io/azure-devops/tests/tianocore/edk2-ci/32.svg
290 .. |WindowsCiCoverage| image:: https://img.shields.io/badge/coverage-coming_soon-blue
292 .. _Ubuntu_GCC5: https://dev.azure.com/tianocore/edk2-ci/_build/latest?definitionId=31&branchName=master
293 .. |UbuntuCiBuild| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/Ubuntu%20GCC5%20CI?branchName=master
294 .. |UbuntuCiTest| image:: https://img.shields.io/azure-devops/tests/tianocore/edk2-ci/31.svg
295 .. |UbuntuCiCoverage| image:: https://img.shields.io/badge/coverage-coming_soon-blue
299 .. _ArmVirtPkg_Ubuntu_GCC5: https://dev.azure.com/tianocore/edk2-ci/_build/latest?definitionId=46&branchName=master
300 .. |avAArch64du| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_ArmVirtPkg_Ubuntu_GCC5_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20QEMU_AARCH64_DEBUG
301 .. |avAArch64ru| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_ArmVirtPkg_Ubuntu_GCC5_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20QEMU_AARCH64_RELEASE
302 .. |avAArch64nu| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_ArmVirtPkg_Ubuntu_GCC5_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20QEMU_AARCH64_NOOPT
304 .. |avArmdu| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_ArmVirtPkg_Ubuntu_GCC5_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20QEMU_ARM_DEBUG
305 .. |avArmru| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_ArmVirtPkg_Ubuntu_GCC5_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20QEMU_ARM_RELEASE
306 .. |avArmnu| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_ArmVirtPkg_Ubuntu_GCC5_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20QEMU_ARM_NOOPT
310 .. |TCBZ_2668| image:: https://img.shields.io/bugzilla/2668?baseUrl=https%3A%2F%2Fbugzilla.tianocore.org
311 .. _TCBZ_2668: https://bugzilla.tianocore.org/show_bug.cgi?id=2668
313 .. |TCBZ_2639| image:: https://img.shields.io/bugzilla/2639?baseUrl=https%3A%2F%2Fbugzilla.tianocore.org
314 .. _TCBZ_2639: https://bugzilla.tianocore.org/show_bug.cgi?id=2639
316 .. _EmulatorPkg_Win_VS2019: https://dev.azure.com/tianocore/edk2-ci/_build/latest?definitionId=44&branchName=master
317 .. _EmulatorPkg_Ubuntu_GCC5: https://dev.azure.com/tianocore/edk2-ci/_build/latest?definitionId=43&branchName=master
319 .. |em32d| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_EmulatorPkg_Windows_VS2019_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20EmulatorPkg_IA32_DEBUG
320 .. |em32du| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_EmulatorPkg_Ubuntu_GCC5_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20EmulatorPkg_IA32_DEBUG
321 .. |em32r| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_EmulatorPkg_Windows_VS2019_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20EmulatorPkg_IA32_RELEASE
322 .. |em32ru| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_EmulatorPkg_Ubuntu_GCC5_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20EmulatorPkg_IA32_RELEASE
323 .. |em32n| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_EmulatorPkg_Windows_VS2019_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20EmulatorPkg_IA32_NOOPT
324 .. |em32nu| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_EmulatorPkg_Ubuntu_GCC5_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20EmulatorPkg_IA32_NOOPT
326 .. |em32fd| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_EmulatorPkg_Windows_VS2019_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20EmulatorPkg_IA32_FULL_DEBUG
327 .. |em32fdu| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_EmulatorPkg_Ubuntu_GCC5_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20EmulatorPkg_IA32_FULL_DEBUG
328 .. |em32fr| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_EmulatorPkg_Windows_VS2019_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20EmulatorPkg_IA32_FULL_RELEASE
329 .. |em32fru| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_EmulatorPkg_Ubuntu_GCC5_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20EmulatorPkg_IA32_FULL_RELEASE
330 .. |em32fn| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_EmulatorPkg_Windows_VS2019_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20EmulatorPkg_IA32_FULL_NOOPT
331 .. |em32fnu| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_EmulatorPkg_Ubuntu_GCC5_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20EmulatorPkg_IA32_FULL_NOOPT
333 .. |em64d| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_EmulatorPkg_Windows_VS2019_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20EmulatorPkg_X64_DEBUG
334 .. |em64du| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_EmulatorPkg_Ubuntu_GCC5_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20EmulatorPkg_X64_DEBUG
335 .. |em64r| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_EmulatorPkg_Windows_VS2019_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20EmulatorPkg_X64_RELEASE
336 .. |em64ru| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_EmulatorPkg_Ubuntu_GCC5_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20EmulatorPkg_X64_RELEASE
337 .. |em64n| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_EmulatorPkg_Windows_VS2019_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20EmulatorPkg_X64_NOOPT
338 .. |em64nu| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_EmulatorPkg_Ubuntu_GCC5_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20EmulatorPkg_X64_NOOPT
340 .. |em64fd| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_EmulatorPkg_Windows_VS2019_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20EmulatorPkg_X64_FULL_DEBUG
341 .. |em64fdu| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_EmulatorPkg_Ubuntu_GCC5_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20EmulatorPkg_X64_FULL_DEBUG
342 .. |em64fr| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_EmulatorPkg_Windows_VS2019_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20EmulatorPkg_X64_FULL_RELEASE
343 .. |em64fru| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_EmulatorPkg_Ubuntu_GCC5_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20EmulatorPkg_X64_FULL_RELEASE
344 .. |em64fn| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_EmulatorPkg_Windows_VS2019_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20EmulatorPkg_X64_FULL_NOOPT
345 .. |em64fnu| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_EmulatorPkg_Ubuntu_GCC5_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20EmulatorPkg_X64_FULL_NOOPT
349 .. |TCBZ_2661| image:: https://img.shields.io/bugzilla/2661?baseUrl=https%3A%2F%2Fbugzilla.tianocore.org
350 .. _TCBZ_2661: https://bugzilla.tianocore.org/show_bug.cgi?id=2661
352 .. _OvmfPkg_Win_VS2019: https://dev.azure.com/tianocore/edk2-ci/_build/latest?definitionId=50&branchName=master
353 .. _OvmfPkg_Ubuntu_GCC5: https://dev.azure.com/tianocore/edk2-ci/_build/latest?definitionId=48&branchName=master
355 .. |op32d| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_OvmfPkg_Windows_VS2019_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20OVMF_IA32_DEBUG
356 .. |op32du| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_OvmfPkg_Ubuntu_GCC5_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20OVMF_IA32_DEBUG
357 .. |op32r| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_OvmfPkg_Windows_VS2019_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20OVMF_IA32_RELEASE
358 .. |op32ru| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_OvmfPkg_Ubuntu_GCC5_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20OVMF_IA32_RELEASE
359 .. |op32n| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_OvmfPkg_Windows_VS2019_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20OVMF_IA32_NOOPT
360 .. |op32nu| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_OvmfPkg_Ubuntu_GCC5_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20OVMF_IA32_NOOPT
362 .. |op64d| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_OvmfPkg_Windows_VS2019_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20OVMF_X64_DEBUG
363 .. |op64du| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_OvmfPkg_Ubuntu_GCC5_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20OVMF_X64_DEBUG
364 .. |op64r| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_OvmfPkg_Windows_VS2019_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20OVMF_X64_RELEASE
365 .. |op64ru| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_OvmfPkg_Ubuntu_GCC5_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20OVMF_X64_RELEASE
366 .. |op64n| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_OvmfPkg_Windows_VS2019_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20OVMF_X64_NOOPT
367 .. |op64nu| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_OvmfPkg_Ubuntu_GCC5_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20OVMF_X64_NOOPT
370 .. |op3264d| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_OvmfPkg_Windows_VS2019_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20OVMF_IA32X64_DEBUG
371 .. |op3264du| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_OvmfPkg_Ubuntu_GCC5_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20OVMF_IA32X64_DEBUG
372 .. |op3264r| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_OvmfPkg_Windows_VS2019_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20OVMF_IA32X64_RELEASE
373 .. |op3264ru| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_OvmfPkg_Ubuntu_GCC5_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20OVMF_IA32X64_RELEASE
374 .. |op3264n| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_OvmfPkg_Windows_VS2019_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20OVMF_IA32X64_NOOPT
375 .. |op3264nu| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_OvmfPkg_Ubuntu_GCC5_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20OVMF_IA32X64_NOOPT
377 .. |op3264fd| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_OvmfPkg_Windows_VS2019_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20OVMF_IA32X64_FULL_DEBUG
378 .. |op3264fdu| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_OvmfPkg_Ubuntu_GCC5_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20OVMF_IA32X64_FULL_DEBUG
379 .. |op3264fr| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_OvmfPkg_Windows_VS2019_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20OVMF_IA32X64_FULL_RELEASE
380 .. |op3264fru| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_OvmfPkg_Ubuntu_GCC5_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20OVMF_IA32X64_FULL_RELEASE
381 .. |op3264fn| replace:: |TCBZ_2661|_
382 .. |op3264fnu| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_OvmfPkg_Ubuntu_GCC5_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20OVMF_IA32X64_FULL_NOOPT