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://github.com/tianocore/edk2-cmocka/blob/f5e2cd77c88d9f792562888d2b70c5a396bfbf7a/COPYING>`__
96 - `UnitTestFrameworkPkg/Library/GoogleTestLib/googletest <https://github.com/google/googletest/blob/86add13493e5c881d7e4ba77fb91c1f57752b3a4/LICENSE>`__
97 - `RedfishPkg/Library/JsonLib/jansson <https://github.com/akheron/jansson/blob/2882ead5bb90cf12a01b07b2c2361e24960fae02/LICENSE>`__
99 The EDK II Project is composed of packages. The maintainers for each package
100 are listed in `Maintainers.txt <Maintainers.txt>`__.
105 - `TianoCore <http://www.tianocore.org>`__
107 II <https://github.com/tianocore/tianocore.github.io/wiki/EDK-II>`__
108 - `Getting Started with EDK
109 II <https://github.com/tianocore/tianocore.github.io/wiki/Getting-Started-with-EDK-II>`__
111 Lists <https://github.com/tianocore/tianocore.github.io/wiki/Mailing-Lists>`__
112 - `TianoCore Bugzilla <https://bugzilla.tianocore.org>`__
114 Contribute <https://github.com/tianocore/tianocore.github.io/wiki/How-To-Contribute>`__
116 Planning <https://github.com/tianocore/tianocore.github.io/wiki/EDK-II-Release-Planning>`__
121 To make a contribution to a TianoCore project, follow these steps.
123 #. Create a change description in the format specified below to
124 use in the source control commit log.
125 #. Your commit message must include your ``Signed-off-by`` signature
126 #. Submit your code to the TianoCore project using the process
127 that the project documents on its web page. If the process is
128 not documented, then submit the code on development email list
130 #. It is preferred that contributions are submitted using the same
131 copyright license as the base project. When that is not possible,
132 then contributions using the following licenses can be accepted:
134 - BSD (2-clause): http://opensource.org/licenses/BSD-2-Clause
135 - BSD (3-clause): http://opensource.org/licenses/BSD-3-Clause
136 - MIT: http://opensource.org/licenses/MIT
137 - Python-2.0: http://opensource.org/licenses/Python-2.0
138 - Zlib: http://opensource.org/licenses/Zlib
142 - FreeBSD Documentation License
143 https://www.freebsd.org/copyright/freebsd-doc-license.html
145 Contributions of code put into the public domain can also be accepted.
147 Contributions using other licenses might be accepted, but further
148 review will be required.
150 Developer Certificate of Origin
151 -------------------------------
153 Your change description should use the standard format for a
154 commit message, and must include your ``Signed-off-by`` signature.
156 In order to keep track of who did what, all patches contributed must
157 include a statement that to the best of the contributor's knowledge
158 they have the right to contribute it under the specified license.
160 The test for this is as specified in the `Developer's Certificate of
161 Origin (DCO) 1.1 <https://developercertificate.org/>`__. The contributor
162 certifies compliance by adding a line saying
164 Signed-off-by: Developer Name developer@example.org
166 where ``Developer Name`` is the contributor's real name, and the email
167 address is one the developer is reachable through at the time of
172 Developer's Certificate of Origin 1.1
174 By making a contribution to this project, I certify that:
176 (a) The contribution was created in whole or in part by me and I
177 have the right to submit it under the open source license
178 indicated in the file; or
180 (b) The contribution is based upon previous work that, to the best
181 of my knowledge, is covered under an appropriate open source
182 license and I have the right under that license to submit that
183 work with modifications, whether created in whole or in part
184 by me, under the same open source license (unless I am
185 permitted to submit under a different license), as indicated
188 (c) The contribution was provided directly to me by some other
189 person who certified (a), (b) or (c) and I have not modified
192 (d) I understand and agree that this project and the contribution
193 are public and that a record of the contribution (including all
194 personal information I submit with it, including my sign-off) is
195 maintained indefinitely and may be redistributed consistent with
196 this project or the open source license(s) involved.
198 Sample Change Description / Commit Message
199 ------------------------------------------
203 From: Contributor Name <contributor@example.com>
204 Subject: [Repository/Branch PATCH] Pkg-Module: Brief-single-line-summary
208 Signed-off-by: Contributor Name <contributor@example.com>
210 Notes for sample patch email
211 ````````````````````````````
213 - The first line of commit message is taken from the email's subject
214 line following ``[Repository/Branch PATCH]``. The remaining portion
215 of the commit message is the email's content.
216 - ``git format-patch`` is one way to create this format
218 Definitions for sample patch email
219 ``````````````````````````````````
221 - ``Repository`` is the identifier of the repository the patch applies.
222 This identifier should only be provided for repositories other than
223 ``edk2``. For example ``edk2-BuildSpecification`` or ``staging``.
224 - ``Branch`` is the identifier of the branch the patch applies. This
225 identifier should only be provided for branches other than
227 For example ``edk2/UDK2015``,
228 ``edk2-BuildSpecification/release/1.27``, or
229 ``staging/edk2-test``.
230 - ``Module`` is a short identifier for the affected code or
231 documentation. For example ``MdePkg``, ``MdeModulePkg/UsbBusDxe``, ``Introduction``, or
232 ``EDK II INF File Format``.
233 - ``Brief-single-line-summary`` is a short summary of the change.
234 - The entire first line should be less than ~70 characters.
235 - ``Full-commit-message`` a verbose multiple line comment describing
236 the change. Each line should be less than ~70 characters.
237 - ``Signed-off-by`` is the contributor's signature identifying them
238 by their real/legal name and their email address.
243 Submodule in EDK II is allowed but submodule chain should be avoided
244 as possible as we can. Currently EDK II contains the following submodules
246 - CryptoPkg/Library/OpensslLib/openssl
247 - ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3
248 - MdeModulePkg/Universal/RegularExpressionDxe/oniguruma
249 - MdeModulePkg/Library/BrotliCustomDecompressLib/brotli
250 - BaseTools/Source/C/BrotliCompress/brotli
252 ArmSoftFloatLib is actually required by OpensslLib. It's inevitable
253 in openssl-1.1.1 (since stable201905) for floating point parameter
254 conversion, but should be dropped once there's no such need in future
257 To get a full, buildable EDK II repository, use following steps of git
262 git clone https://github.com/tianocore/edk2.git
264 git submodule update --init
267 If there's update for submodules, use following git commands to get
268 the latest submodules code.
276 Note: When cloning submodule repos, '--recursive' option is not
277 recommended. EDK II itself will not use any code/feature from
278 submodules in above submodules. So using '--recursive' adds a
279 dependency on being able to reach servers we do not actually want
280 any code from, as well as needlessly downloading code we will not
283 .. ===================================================================
284 .. This is a bunch of directives to make the README file more readable
285 .. ===================================================================
289 .. _Windows_VS2019: https://dev.azure.com/tianocore/edk2-ci/_build/latest?definitionId=32&branchName=master
290 .. |WindowsCiBuild| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/Windows%20VS2019%20CI?branchName=master
291 .. |WindowsCiTest| image:: https://img.shields.io/azure-devops/tests/tianocore/edk2-ci/32.svg
292 .. |WindowsCiCoverage| image:: https://img.shields.io/badge/coverage-coming_soon-blue
294 .. _Ubuntu_GCC5: https://dev.azure.com/tianocore/edk2-ci/_build/latest?definitionId=31&branchName=master
295 .. |UbuntuCiBuild| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/Ubuntu%20GCC5%20CI?branchName=master
296 .. |UbuntuCiTest| image:: https://img.shields.io/azure-devops/tests/tianocore/edk2-ci/31.svg
297 .. |UbuntuCiCoverage| image:: https://img.shields.io/badge/coverage-coming_soon-blue
301 .. _ArmVirtPkg_Ubuntu_GCC5: https://dev.azure.com/tianocore/edk2-ci/_build/latest?definitionId=46&branchName=master
302 .. |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
303 .. |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
304 .. |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
306 .. |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
307 .. |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
308 .. |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
312 .. |TCBZ_2668| image:: https://img.shields.io/bugzilla/2668?baseUrl=https%3A%2F%2Fbugzilla.tianocore.org
313 .. _TCBZ_2668: https://bugzilla.tianocore.org/show_bug.cgi?id=2668
315 .. |TCBZ_2639| image:: https://img.shields.io/bugzilla/2639?baseUrl=https%3A%2F%2Fbugzilla.tianocore.org
316 .. _TCBZ_2639: https://bugzilla.tianocore.org/show_bug.cgi?id=2639
318 .. _EmulatorPkg_Win_VS2019: https://dev.azure.com/tianocore/edk2-ci/_build/latest?definitionId=44&branchName=master
319 .. _EmulatorPkg_Ubuntu_GCC5: https://dev.azure.com/tianocore/edk2-ci/_build/latest?definitionId=43&branchName=master
321 .. |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
322 .. |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
323 .. |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
324 .. |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
325 .. |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
326 .. |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
328 .. |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
329 .. |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
330 .. |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
331 .. |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
332 .. |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
333 .. |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
335 .. |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
336 .. |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
337 .. |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
338 .. |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
339 .. |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
340 .. |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
342 .. |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
343 .. |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
344 .. |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
345 .. |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
346 .. |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
347 .. |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
351 .. |TCBZ_2661| image:: https://img.shields.io/bugzilla/2661?baseUrl=https%3A%2F%2Fbugzilla.tianocore.org
352 .. _TCBZ_2661: https://bugzilla.tianocore.org/show_bug.cgi?id=2661
354 .. _OvmfPkg_Win_VS2019: https://dev.azure.com/tianocore/edk2-ci/_build/latest?definitionId=50&branchName=master
355 .. _OvmfPkg_Ubuntu_GCC5: https://dev.azure.com/tianocore/edk2-ci/_build/latest?definitionId=48&branchName=master
357 .. |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
358 .. |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
359 .. |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
360 .. |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
361 .. |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
362 .. |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
364 .. |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
365 .. |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
366 .. |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
367 .. |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
368 .. |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
369 .. |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
372 .. |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
373 .. |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
374 .. |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
375 .. |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
376 .. |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
377 .. |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
379 .. |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
380 .. |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
381 .. |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
382 .. |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
383 .. |op3264fn| replace:: |TCBZ_2661|_
384 .. |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