ReadMe.rst 26 KB

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