ArmPkg: only attempt buildin MmCommunicationDxe for AArch64
[mirror_edk2.git] / ReadMe.rst
CommitLineData
64ab457d
SB
1==============\r
2EDK II Project\r
3==============\r
4\r
5A modern, feature-rich, cross-platform firmware development\r
6environment for the UEFI and PI specifications from www.uefi.org.\r
7\r
8Core CI Build Status\r
9--------------------\r
10\r
11============================= ================= =============== ===================\r
12 Host Type & Toolchain Build Status Test Status Code Coverage\r
13============================= ================= =============== ===================\r
14Windows_VS2019_ |WindowsCiBuild| |WindowsCiTest| |WindowsCiCoverage|\r
15Ubuntu_GCC5_ |UbuntuCiBuild| |UbuntuCiTest| |UbuntuCiCoverage|\r
16============================= ================= =============== ===================\r
17\r
18`More CI Build information <.pytool/Readme.md>`__\r
19\r
20Platform CI Build Status\r
21------------------------\r
22\r
23Microsoft Windows VS2019\r
24````````````````````````\r
25\r
26============================= ================= ============= ============= ==============\r
27 Toolchain CONFIG DEBUG RELEASE NOOPT\r
28============================= ================= ============= ============= ==============\r
29EmulatorPkg_Win_VS2019_ | IA32 |em32d| |em32r| |em32n|\r
30| | X64 |em64d| |em64r| |em64n|\r
31OvmfPkg_Win_VS2019_ | IA32 |op32d| |op32r| |op32n|\r
32| | X64 |op64d| |op64r| |op64n|\r
33| | IA32 X64 |op3264d| |op3264r| |op3264n|\r
34| | IA32 X64 FULL |op3264fd| |op3264fr| |op3264fn|\r
35============================= ================= ============= ============= ==============\r
36\r
37Ubuntu 18.04 GCC5\r
38`````````````````\r
39\r
40============================= ================= ============= ============= ==============\r
41 Toolchain CONFIG DEBUG RELEASE NOOPT\r
42============================= ================= ============= ============= ==============\r
43ArmVirtPkg_Ubuntu_GCC5_ | AARCH64 |avAArch64du| |avAArch64ru| |avAArch64nu|\r
44| | ARM |avArmdu| |avArmru| |avArmnu|\r
45EmulatorPkg_Ubuntu_GCC5_ | IA32 |em32du| |em32ru| |em32nu|\r
46| | X64 |em64du| |em64ru| |em64nu|\r
47OvmfPkg_Ubuntu_GCC5_ | IA32 |op32du| |op32ru| |op32nu|\r
48| | X64 |op64du| |op64ru| |op64nu|\r
49| | IA32 X64 |op3264du| |op3264ru| |op3264nu|\r
50| | IA32 X64 FULL |op3264fdu| |op3264fru| |op3264fru|\r
51============================= ================= ============= ============= ==============\r
52\r
53|TCBZ_2668|_ - EmulatorPkg Ubuntu GCC5 Segfaults during execution.\r
54\r
55|TCBZ_2639|_ - EmulatorPkg Ubuntu GCC5 Segfaults during execution.\r
56\r
57`More ArmVirtPkg CI Build Information <ArmVirtPkg/PlatformCI/ReadMe.md>`__\r
58\r
59`More EmulatorPkg CI Build Information <EmulatorPkg/PlatformCI/ReadMe.md>`__\r
60\r
61`More OvmfPkg CI Build Information <OvmfPkg/PlatformCI/ReadMe.md>`__\r
62\r
63\r
64License Details\r
65---------------\r
66\r
67The majority of the content in the EDK II open source project uses a\r
68`BSD-2-Clause Plus Patent License <License.txt>`__. The EDK II open\r
69source project contains the following components that are covered by additional\r
70licenses:\r
71\r
72- `BaseTools/Source/C/BrotliCompress/brotli <https://github.com/google/brotli/blob/master/LICENSE>`__\r
73- `MdeModulePkg/Library/BrotliCustomDecompressLib/brotli <https://github.com/google/brotli/blob/master/LICENSE>`__\r
74- `BaseTools/Source/C/LzmaCompress <BaseTools/Source/C/LzmaCompress/LZMA-SDK-README.txt>`__\r
75- `MdeModulePkg/Library/LzmaCustomDecompressLib <MdeModulePkg/Library/LzmaCustomDecompressLib/LZMA-SDK-README.txt>`__\r
76- `IntelFrameworkModulePkg/Library/LzmaCustomDecompressLib/Sdk <IntelFrameworkModulePkg/Library/LzmaCustomDecompressLib/LZMA-SDK-README.txt>`__\r
77- `BaseTools/Source/C/VfrCompile/Pccts <BaseTools/Source/C/VfrCompile/Pccts/RIGHTS>`__\r
78- `MdeModulePkg/Universal/RegularExpressionDxe/oniguruma <https://github.com/kkos/oniguruma/blob/master/README.md>`__\r
79- `OvmfPkg <OvmfPkg/License.txt>`__\r
80- `CryptoPkg/Library/OpensslLib/openssl <https://github.com/openssl/openssl/blob/50eaac9f3337667259de725451f201e784599687/LICENSE>`__\r
81- `ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3 <https://github.com/ucb-bar/berkeley-softfloat-3/blob/b64af41c3276f97f0e181920400ee056b9c88037/COPYING.txt>`__\r
82\r
83The EDK II Project is composed of packages. The maintainers for each package\r
84are listed in `Maintainers.txt <Maintainers.txt>`__.\r
85\r
86Resources\r
87---------\r
88\r
89- `TianoCore <http://www.tianocore.org>`__\r
90- `EDK\r
91 II <https://github.com/tianocore/tianocore.github.io/wiki/EDK-II>`__\r
92- `Getting Started with EDK\r
93 II <https://github.com/tianocore/tianocore.github.io/wiki/Getting-Started-with-EDK-II>`__\r
94- `Mailing\r
95 Lists <https://github.com/tianocore/tianocore.github.io/wiki/Mailing-Lists>`__\r
96- `TianoCore Bugzilla <https://bugzilla.tianocore.org>`__\r
97- `How To\r
98 Contribute <https://github.com/tianocore/tianocore.github.io/wiki/How-To-Contribute>`__\r
99- `Release\r
100 Planning <https://github.com/tianocore/tianocore.github.io/wiki/EDK-II-Release-Planning>`__\r
101\r
102Code Contributions\r
103------------------\r
104\r
105To make a contribution to a TianoCore project, follow these steps.\r
106\r
107#. Create a change description in the format specified below to\r
108 use in the source control commit log.\r
109#. Your commit message must include your ``Signed-off-by`` signature\r
110#. Submit your code to the TianoCore project using the process\r
111 that the project documents on its web page. If the process is\r
112 not documented, then submit the code on development email list\r
113 for the project.\r
114#. It is preferred that contributions are submitted using the same\r
115 copyright license as the base project. When that is not possible,\r
116 then contributions using the following licenses can be accepted:\r
117\r
118- BSD (2-clause): http://opensource.org/licenses/BSD-2-Clause\r
119- BSD (3-clause): http://opensource.org/licenses/BSD-3-Clause\r
120- MIT: http://opensource.org/licenses/MIT\r
121- Python-2.0: http://opensource.org/licenses/Python-2.0\r
122- Zlib: http://opensource.org/licenses/Zlib\r
123\r
124For documentation:\r
125\r
126- FreeBSD Documentation License\r
127 https://www.freebsd.org/copyright/freebsd-doc-license.html\r
128\r
129Contributions of code put into the public domain can also be accepted.\r
130\r
131Contributions using other licenses might be accepted, but further\r
132review will be required.\r
133\r
134Developer Certificate of Origin\r
135-------------------------------\r
136\r
137Your change description should use the standard format for a\r
138commit message, and must include your ``Signed-off-by`` signature.\r
139\r
140In order to keep track of who did what, all patches contributed must\r
141include a statement that to the best of the contributor's knowledge\r
142they have the right to contribute it under the specified license.\r
143\r
144The test for this is as specified in the `Developer's Certificate of\r
145Origin (DCO) 1.1 <https://developercertificate.org/>`__. The contributor\r
146certifies compliance by adding a line saying\r
147\r
148Signed-off-by: Developer Name developer@example.org\r
149\r
150where ``Developer Name`` is the contributor's real name, and the email\r
151address is one the developer is reachable through at the time of\r
152contributing.\r
153\r
154::\r
155\r
156 Developer's Certificate of Origin 1.1\r
157\r
158 By making a contribution to this project, I certify that:\r
159\r
160 (a) The contribution was created in whole or in part by me and I\r
161 have the right to submit it under the open source license\r
162 indicated in the file; or\r
163\r
164 (b) The contribution is based upon previous work that, to the best\r
165 of my knowledge, is covered under an appropriate open source\r
166 license and I have the right under that license to submit that\r
167 work with modifications, whether created in whole or in part\r
168 by me, under the same open source license (unless I am\r
169 permitted to submit under a different license), as indicated\r
170 in the file; or\r
171\r
172 (c) The contribution was provided directly to me by some other\r
173 person who certified (a), (b) or (c) and I have not modified\r
174 it.\r
175\r
176 (d) I understand and agree that this project and the contribution\r
177 are public and that a record of the contribution (including all\r
178 personal information I submit with it, including my sign-off) is\r
179 maintained indefinitely and may be redistributed consistent with\r
180 this project or the open source license(s) involved.\r
181\r
182Sample Change Description / Commit Message\r
183------------------------------------------\r
184\r
185::\r
186\r
187 From: Contributor Name <contributor@example.com>\r
188 Subject: [Repository/Branch PATCH] Pkg-Module: Brief-single-line-summary\r
189\r
190 Full-commit-message\r
191\r
192 Signed-off-by: Contributor Name <contributor@example.com>\r
193\r
194Notes for sample patch email\r
195````````````````````````````\r
196\r
197- The first line of commit message is taken from the email's subject\r
198 line following ``[Repository/Branch PATCH]``. The remaining portion\r
199 of the commit message is the email's content.\r
200- ``git format-patch`` is one way to create this format\r
201\r
202Definitions for sample patch email\r
203``````````````````````````````````\r
204\r
205- ``Repository`` is the identifier of the repository the patch applies.\r
206 This identifier should only be provided for repositories other than\r
207 ``edk2``. For example ``edk2-BuildSpecification`` or ``staging``.\r
208- ``Branch`` is the identifier of the branch the patch applies. This\r
209 identifier should only be provided for branches other than\r
210 ``edk2/master``.\r
211 For example ``edk2/UDK2015``,\r
212 ``edk2-BuildSpecification/release/1.27``, or\r
213 ``staging/edk2-test``.\r
214- ``Module`` is a short identifier for the affected code or\r
215 documentation. For example ``MdePkg``, ``MdeModulePkg/UsbBusDxe``, ``Introduction``, or\r
216 ``EDK II INF File Format``.\r
217- ``Brief-single-line-summary`` is a short summary of the change.\r
218- The entire first line should be less than ~70 characters.\r
219- ``Full-commit-message`` a verbose multiple line comment describing\r
220 the change. Each line should be less than ~70 characters.\r
221- ``Signed-off-by`` is the contributor's signature identifying them\r
222 by their real/legal name and their email address.\r
223\r
224Submodules\r
225----------\r
226\r
227Submodule in EDK II is allowed but submodule chain should be avoided\r
228as possible as we can. Currently EDK II contains the following submodules\r
229\r
230- CryptoPkg/Library/OpensslLib/openssl\r
231- ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3\r
232- MdeModulePkg/Universal/RegularExpressionDxe/oniguruma\r
233- MdeModulePkg/Library/BrotliCustomDecompressLib/brotli\r
234- BaseTools/Source/C/BrotliCompress/brotli\r
235\r
236ArmSoftFloatLib is actually required by OpensslLib. It's inevitable\r
237in openssl-1.1.1 (since stable201905) for floating point parameter\r
238conversion, but should be dropped once there's no such need in future\r
239release of openssl.\r
240\r
241To get a full, buildable EDK II repository, use following steps of git\r
242command\r
243\r
244.. code-block:: bash\r
245\r
246 git clone https://github.com/tianocore/edk2.git\r
247 cd edk2\r
248 git submodule update --init\r
249 cd ..\r
250\r
251If there's update for submodules, use following git commands to get\r
252the latest submodules code.\r
253\r
254.. code-block:: bash\r
255\r
256 cd edk2\r
257 git pull\r
258 git submodule update\r
259\r
260Note: When cloning submodule repos, '--recursive' option is not\r
261recommended. EDK II itself will not use any code/feature from\r
262submodules in above submodules. So using '--recursive' adds a\r
263dependency on being able to reach servers we do not actually want\r
264any code from, as well as needlessly downloading code we will not\r
265use.\r
266\r
267.. ===================================================================\r
268.. This is a bunch of directives to make the README file more readable\r
269.. ===================================================================\r
270\r
271.. CoreCI\r
272\r
273.. _Windows_VS2019: https://dev.azure.com/tianocore/edk2-ci/_build/latest?definitionId=32&branchName=master\r
274.. |WindowsCiBuild| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/Windows%20VS2019%20CI?branchName=master\r
275.. |WindowsCiTest| image:: https://img.shields.io/azure-devops/tests/tianocore/edk2-ci/32.svg\r
276.. |WindowsCiCoverage| image:: https://img.shields.io/badge/coverage-coming_soon-blue\r
277\r
278.. _Ubuntu_GCC5: https://dev.azure.com/tianocore/edk2-ci/_build/latest?definitionId=31&branchName=master\r
279.. |UbuntuCiBuild| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/Ubuntu%20GCC5%20CI?branchName=master\r
280.. |UbuntuCiTest| image:: https://img.shields.io/azure-devops/tests/tianocore/edk2-ci/31.svg\r
281.. |UbuntuCiCoverage| image:: https://img.shields.io/badge/coverage-coming_soon-blue\r
282\r
283.. ArmVirtPkg\r
284\r
285.. _ArmVirtPkg_Ubuntu_GCC5: https://dev.azure.com/tianocore/edk2-ci/_build/latest?definitionId=46&branchName=master\r
286.. |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\r
287.. |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\r
288.. |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\r
289\r
290.. |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\r
291.. |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\r
292.. |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\r
293\r
294.. EmulatorPkg\r
295\r
296.. |TCBZ_2668| image:: https://img.shields.io/bugzilla/2668?baseUrl=https%3A%2F%2Fbugzilla.tianocore.org\r
297.. _TCBZ_2668: https://bugzilla.tianocore.org/show_bug.cgi?id=2668\r
298\r
299.. |TCBZ_2639| image:: https://img.shields.io/bugzilla/2639?baseUrl=https%3A%2F%2Fbugzilla.tianocore.org\r
300.. _TCBZ_2639: https://bugzilla.tianocore.org/show_bug.cgi?id=2639\r
301\r
302.. _EmulatorPkg_Win_VS2019: https://dev.azure.com/tianocore/edk2-ci/_build/latest?definitionId=44&branchName=master\r
303.. _EmulatorPkg_Ubuntu_GCC5: https://dev.azure.com/tianocore/edk2-ci/_build/latest?definitionId=43&branchName=master\r
304\r
305.. |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\r
306.. |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\r
307.. |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\r
308.. |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\r
309.. |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\r
310.. |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\r
311\r
312.. |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\r
313.. |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\r
314.. |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\r
315.. |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\r
316.. |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\r
317.. |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\r
318\r
319.. OvmfPkg\r
320\r
321.. |TCBZ_2661| image:: https://img.shields.io/bugzilla/2661?baseUrl=https%3A%2F%2Fbugzilla.tianocore.org\r
322.. _TCBZ_2661: https://bugzilla.tianocore.org/show_bug.cgi?id=2661\r
323\r
324.. _OvmfPkg_Win_VS2019: https://dev.azure.com/tianocore/edk2-ci/_build/latest?definitionId=50&branchName=master\r
325.. _OvmfPkg_Ubuntu_GCC5: https://dev.azure.com/tianocore/edk2-ci/_build/latest?definitionId=48&branchName=master\r
326\r
327.. |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\r
328.. |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\r
329.. |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\r
330.. |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\r
331.. |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\r
332.. |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\r
333\r
334.. |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\r
335.. |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\r
336.. |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\r
337.. |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\r
338.. |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\r
339.. |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\r
340\r
341\r
342.. |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\r
343.. |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\r
344.. |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\r
345.. |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\r
346.. |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\r
347.. |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\r
348\r
349.. |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\r
350.. |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\r
351.. |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\r
352.. |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\r
353.. |op3264fn| replace:: |TCBZ_2661|_\r
354.. |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\r