No Description

Michael Kubacki dd3ba82d31 .github/ISSUE_TEMPLATE/config.yml: Add initial issue template 1 year ago
.azurepipelines ab9768cd46 .azurepipelines: Add LoongArch64 architecture on LoongArch64 EDK2 CI. 1 year ago
.github dd3ba82d31 .github/ISSUE_TEMPLATE/config.yml: Add initial issue template 1 year ago
.mergify b491eace37 .mergify: Simplify Mergify rules using GitHub status checks 2 years ago
.pytool 80f097711b .pytool: Add googletest submodule to CISettings.py 1 year ago
ArmPkg 6ae2b6648e ArmPkg/ArmTrngLib: Remove ASSERTs in ArmTrngLibConstructor() 1 year ago
ArmPlatformPkg cc650a0378 ArmPlatformPkg: Retire NorFlashDxe driver 1 year ago
ArmVirtPkg b556f2445c ArmVirtPkg: Kvmtool: Add RNG support using Arm TRNG interface 1 year ago
BaseTools 31377aba8f BaseTools/Plugin/HostBaseUnitTestRunner: Enable gtest xml output 1 year ago
Conf 7d83e9e847 BaseTools:Delete FrameworkDatabase from BaseTools/Conf 5 years ago
CryptoPkg 50bee4cc12 CryptoPkg: Sha1 functions causing build errors 1 year ago
DynamicTablesPkg c9a4df88fd DynamicTablesPkg: Readme.md: Update available tables for generation 1 year ago
EmbeddedPkg 8aff08c817 EmbeddedPkg/MetronomeDxe: Update outdated lower bound comment 1 year ago
EmulatorPkg 7ef91af84c EmulatorPkg/PosixFileSystem: Add NULL check on memory allocation 1 year ago
FatPkg d8c073c89b FatPkg: Add LOONGARCH64 architecture for EDK2 CI. 1 year ago
FmpDevicePkg 2067672ded FmpDevicePkg: Add LOONGARCH64 architecture for EDK2 CI. 1 year ago
IntelFsp2Pkg 3182843f3b IntelFsp2Pkg: Improvement of supporting null UPD pointer in FSP-T 1 year ago
IntelFsp2WrapperPkg 26638d2aa3 IntelFsp2WrapperPkg: Check header revision for MultiPhase support. 1 year ago
MdeModulePkg ee3da09bb2 MdeModulePkg/Ufs :Coverity scan flags multiple issues in edk2-stable202205 1 year ago
MdePkg b92e049522 BaseSynchronizationLib: Fix RISC-V helper name 1 year ago
NetworkPkg e0200cc47a NetworkPkg: Add LoongArch64 architecture. 1 year ago
OvmfPkg 765ba5bf05 OvmfPkg/UefiCpuPkg: Add CcExit prefix to the APIs of CcExitLib 1 year ago
PcAtChipsetPkg 29ae55a0b8 PcAtChipsetPkg: Change the flow of PcRtcInit() 1 year ago
PrmPkg 6032b46dce PrmPkg/PrmSsdtInstallDxe: Update PRMT Device CID to PNP0C02. 1 year ago
RedfishPkg df7ce74e6c RedfishPkg/RedfishDiscoverDxe: Fix memory free issue 1 year ago
SecurityPkg 9eb5ccda50 SecurityPkg/RngDxe: Add Arm support of RngDxe 1 year ago
ShellPkg c8c978d328 ShellPkg/DpDynamicCommand: Add ResetEnd support in DP command 1 year ago
SignedCapsulePkg b3d379d188 SignedCapsulePkg: Add package CI YAML file 1 year ago
SourceLevelDebugPkg cf01fdd5d7 SourceLevelDebugPkg: Add package CI YAML file 1 year ago
StandaloneMmPkg 0ccf955674 StandaloneMmPkg: Remove duplicated words 1 year ago
UefiCpuPkg 765ba5bf05 OvmfPkg/UefiCpuPkg: Add CcExit prefix to the APIs of CcExitLib 1 year ago
UefiPayloadPkg 85d805ed32 UefiPayloadPkg: The UPL info section is not aligned at 4-byte boundary 1 year ago
UnitTestFrameworkPkg d4586fe3ae UnitTestFrameworkPkg/Library/CmockaLib: Generate symbol information 1 year ago
.gitignore 48760409cc .gitignore: Ignore python compiled files, extdeps, and vscode 4 years ago
.gitmodules cef0c5c684 UnitTestFrameworkPkg: Add googletest submodule and GoogleTestLib 1 year ago
.mailmap fb97626fe0 .mailmap: add entries for Rebecca Cran 3 years ago
CONTRIBUTING.md 7e6f150b69 Add a stub CONTRIBUTING.md pointing to the wiki 3 years ago
License-History.txt f53de8aecb edk2: Add License-History.txt 5 years ago
License.txt 304bff7223 edk2: Change License.txt from 2-Clause BSD to BSD+Patent 5 years ago
Maintainers.txt 0cb30c3f5e Maintainers: Update the VmgExitLib to CcExitLib 1 year ago
ReadMe.rst cef0c5c684 UnitTestFrameworkPkg: Add googletest submodule and GoogleTestLib 1 year ago
edksetup.bat d3b0d007a1 BaseTools: Add double quote around CLANG_BIN path string 3 years ago
edksetup.sh cf2d8d4978 edksetup.sh: remove redundant -?, -h and --help in options parsing 4 years ago
pip-requirements.txt fff6d81270 pip-requirements.txt: Update to edk2-pytool-extensions 0.20.0 1 year ago

ReadMe.rst

==============
EDK II Project
==============

A modern, feature-rich, cross-platform firmware development
environment for the UEFI and PI specifications from www.uefi.org.

Core CI Build Status
--------------------

============================= ================= =============== ===================
Host Type & Toolchain Build Status Test Status Code Coverage
============================= ================= =============== ===================
Windows_VS2019_ |WindowsCiBuild| |WindowsCiTest| |WindowsCiCoverage|
Ubuntu_GCC5_ |UbuntuCiBuild| |UbuntuCiTest| |UbuntuCiCoverage|
============================= ================= =============== ===================

`More CI Build information <.pytool/Readme.md>`__

Platform CI Build Status
------------------------

Microsoft Windows VS2019
````````````````````````

============================= ================= ============= ============= ==============
Toolchain CONFIG DEBUG RELEASE NOOPT
============================= ================= ============= ============= ==============
EmulatorPkg_Win_VS2019_ | IA32 |em32d| |em32r| |em32n|
| | X64 |em64d| |em64r| |em64n|
| | IA32 FULL |em32fd| |em32fr| |em32fn|
| | X64 FULL |em64fd| |em64fr| |em64fn|
OvmfPkg_Win_VS2019_ | IA32 |op32d| |op32r| |op32n|
| | X64 |op64d| |op64r| |op64n|
| | IA32 X64 |op3264d| |op3264r| |op3264n|
| | IA32 X64 FULL |op3264fd| |op3264fr| |op3264fn|
============================= ================= ============= ============= ==============

Ubuntu 18.04 GCC5
`````````````````

============================= ================= ============= ============= ==============
Toolchain CONFIG DEBUG RELEASE NOOPT
============================= ================= ============= ============= ==============
ArmVirtPkg_Ubuntu_GCC5_ | AARCH64 |avAArch64du| |avAArch64ru| |avAArch64nu|
| | ARM |avArmdu| |avArmru| |avArmnu|
EmulatorPkg_Ubuntu_GCC5_ | IA32 |em32du| |em32ru| |em32nu|
| | X64 |em64du| |em64ru| |em64nu|
| | IA32 FULL |em32fdu| |em32fru| |em32fnu|
| | X64 FULL |em64fdu| |em64fru| |em64fnu|
OvmfPkg_Ubuntu_GCC5_ | IA32 |op32du| |op32ru| |op32nu|
| | X64 |op64du| |op64ru| |op64nu|
| | IA32 X64 |op3264du| |op3264ru| |op3264nu|
| | IA32 X64 FULL |op3264fdu| |op3264fru| |op3264fru|
============================= ================= ============= ============= ==============

|TCBZ_2668|_ - EmulatorPkg Ubuntu GCC5 Segfaults during execution.

|TCBZ_2639|_ - EmulatorPkg Ubuntu GCC5 Segfaults during execution.

`More ArmVirtPkg CI Build Information `__

`More EmulatorPkg CI Build Information `__

`More OvmfPkg CI Build Information `__


License Details
---------------

The majority of the content in the EDK II open source project uses a
`BSD-2-Clause Plus Patent License `__. The EDK II open
source project contains the following components that are covered by additional
licenses:

- `BaseTools/Source/C/LzmaCompress `__
- `BaseTools/Source/C/VfrCompile/Pccts `__
- `CryptoPkg\Library\BaseCryptLib\SysCall\inet_pton.c `__
- `CryptoPkg\Library\Include\crypto\dso_conf.h `__
- `CryptoPkg\Library\Include\openssl\opensslconf.h `__
- `EmbeddedPkg/Library/FdtLib `__. (EDK II uses BSD License)
- `EmbeddedPkg/Include/fdt.h `__. (EDK II uses BSD Licence)
- `EmbeddedPkg/Include/libfdt.h `__. (EDK II uses BSD License)
- `MdeModulePkg/Library/LzmaCustomDecompressLib `__
- `OvmfPkg `__

The EDK II open source project uses content from upstream projects as git submodules
that are covered by additional licenses.

- `ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3 `__
- `BaseTools/Source/C/BrotliCompress/brotli `__
- `CryptoPkg/Library/OpensslLib/openssl `__
- `MdeModulePkg/Library/BrotliCustomDecompressLib/brotli `__
- `MdeModulePkg/Universal/RegularExpressionDxe/oniguruma `__
- `UnitTestFrameworkPkg/Library/CmockaLib/cmocka `__
- `UnitTestFrameworkPkg/Library/GoogleTestLib/googletest `__
- `RedfishPkg/Library/JsonLib/jansson `__

The EDK II Project is composed of packages. The maintainers for each package
are listed in `Maintainers.txt `__.

Resources
---------

- `TianoCore `__
- `EDK
II `__
- `Getting Started with EDK
II `__
- `Mailing
Lists `__
- `TianoCore Bugzilla `__
- `How To
Contribute `__
- `Release
Planning `__

Code Contributions
------------------

To make a contribution to a TianoCore project, follow these steps.

#. Create a change description in the format specified below to
use in the source control commit log.
#. Your commit message must include your ``Signed-off-by`` signature
#. Submit your code to the TianoCore project using the process
that the project documents on its web page. If the process is
not documented, then submit the code on development email list
for the project.
#. It is preferred that contributions are submitted using the same
copyright license as the base project. When that is not possible,
then contributions using the following licenses can be accepted:

- BSD (2-clause): http://opensource.org/licenses/BSD-2-Clause
- BSD (3-clause): http://opensource.org/licenses/BSD-3-Clause
- MIT: http://opensource.org/licenses/MIT
- Python-2.0: http://opensource.org/licenses/Python-2.0
- Zlib: http://opensource.org/licenses/Zlib

For documentation:

- FreeBSD Documentation License
https://www.freebsd.org/copyright/freebsd-doc-license.html

Contributions of code put into the public domain can also be accepted.

Contributions using other licenses might be accepted, but further
review will be required.

Developer Certificate of Origin
-------------------------------

Your change description should use the standard format for a
commit message, and must include your ``Signed-off-by`` signature.

In order to keep track of who did what, all patches contributed must
include a statement that to the best of the contributor's knowledge
they have the right to contribute it under the specified license.

The test for this is as specified in the `Developer's Certificate of
Origin (DCO) 1.1 `__. The contributor
certifies compliance by adding a line saying

Signed-off-by: Developer Name developer@example.org

where ``Developer Name`` is the contributor's real name, and the email
address is one the developer is reachable through at the time of
contributing.

::

Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I
have the right to submit it under the open source license
indicated in the file; or

(b) The contribution is based upon previous work that, to the best
of my knowledge, is covered under an appropriate open source
license and I have the right under that license to submit that
work with modifications, whether created in whole or in part
by me, under the same open source license (unless I am
permitted to submit under a different license), as indicated
in the file; or

(c) The contribution was provided directly to me by some other
person who certified (a), (b) or (c) and I have not modified
it.

(d) I understand and agree that this project and the contribution
are public and that a record of the contribution (including all
personal information I submit with it, including my sign-off) is
maintained indefinitely and may be redistributed consistent with
this project or the open source license(s) involved.

Sample Change Description / Commit Message
------------------------------------------

::

From: Contributor Name
Subject: [Repository/Branch PATCH] Pkg-Module: Brief-single-line-summary

Full-commit-message

Signed-off-by: Contributor Name

Notes for sample patch email
````````````````````````````

- The first line of commit message is taken from the email's subject
line following ``[Repository/Branch PATCH]``. The remaining portion
of the commit message is the email's content.
- ``git format-patch`` is one way to create this format

Definitions for sample patch email
``````````````````````````````````

- ``Repository`` is the identifier of the repository the patch applies.
This identifier should only be provided for repositories other than
``edk2``. For example ``edk2-BuildSpecification`` or ``staging``.
- ``Branch`` is the identifier of the branch the patch applies. This
identifier should only be provided for branches other than
``edk2/master``.
For example ``edk2/UDK2015``,
``edk2-BuildSpecification/release/1.27``, or
``staging/edk2-test``.
- ``Module`` is a short identifier for the affected code or
documentation. For example ``MdePkg``, ``MdeModulePkg/UsbBusDxe``, ``Introduction``, or
``EDK II INF File Format``.
- ``Brief-single-line-summary`` is a short summary of the change.
- The entire first line should be less than ~70 characters.
- ``Full-commit-message`` a verbose multiple line comment describing
the change. Each line should be less than ~70 characters.
- ``Signed-off-by`` is the contributor's signature identifying them
by their real/legal name and their email address.

Submodules
----------

Submodule in EDK II is allowed but submodule chain should be avoided
as possible as we can. Currently EDK II contains the following submodules

- CryptoPkg/Library/OpensslLib/openssl
- ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3
- MdeModulePkg/Universal/RegularExpressionDxe/oniguruma
- MdeModulePkg/Library/BrotliCustomDecompressLib/brotli
- BaseTools/Source/C/BrotliCompress/brotli

ArmSoftFloatLib is actually required by OpensslLib. It's inevitable
in openssl-1.1.1 (since stable201905) for floating point parameter
conversion, but should be dropped once there's no such need in future
release of openssl.

To get a full, buildable EDK II repository, use following steps of git
command

.. code-block:: bash

git clone https://github.com/tianocore/edk2.git
cd edk2
git submodule update --init
cd ..

If there's update for submodules, use following git commands to get
the latest submodules code.

.. code-block:: bash

cd edk2
git pull
git submodule update

Note: When cloning submodule repos, '--recursive' option is not
recommended. EDK II itself will not use any code/feature from
submodules in above submodules. So using '--recursive' adds a
dependency on being able to reach servers we do not actually want
any code from, as well as needlessly downloading code we will not
use.

.. ===================================================================
.. This is a bunch of directives to make the README file more readable
.. ===================================================================

.. CoreCI

.. _Windows_VS2019: https://dev.azure.com/tianocore/edk2-ci/_build/latest?definitionId=32&branchName=master
.. |WindowsCiBuild| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/Windows%20VS2019%20CI?branchName=master
.. |WindowsCiTest| image:: https://img.shields.io/azure-devops/tests/tianocore/edk2-ci/32.svg
.. |WindowsCiCoverage| image:: https://img.shields.io/badge/coverage-coming_soon-blue

.. _Ubuntu_GCC5: https://dev.azure.com/tianocore/edk2-ci/_build/latest?definitionId=31&branchName=master
.. |UbuntuCiBuild| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/Ubuntu%20GCC5%20CI?branchName=master
.. |UbuntuCiTest| image:: https://img.shields.io/azure-devops/tests/tianocore/edk2-ci/31.svg
.. |UbuntuCiCoverage| image:: https://img.shields.io/badge/coverage-coming_soon-blue

.. ArmVirtPkg

.. _ArmVirtPkg_Ubuntu_GCC5: https://dev.azure.com/tianocore/edk2-ci/_build/latest?definitionId=46&branchName=master
.. |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
.. |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
.. |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

.. |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
.. |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
.. |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

.. EmulatorPkg

.. |TCBZ_2668| image:: https://img.shields.io/bugzilla/2668?baseUrl=https%3A%2F%2Fbugzilla.tianocore.org
.. _TCBZ_2668: https://bugzilla.tianocore.org/show_bug.cgi?id=2668

.. |TCBZ_2639| image:: https://img.shields.io/bugzilla/2639?baseUrl=https%3A%2F%2Fbugzilla.tianocore.org
.. _TCBZ_2639: https://bugzilla.tianocore.org/show_bug.cgi?id=2639

.. _EmulatorPkg_Win_VS2019: https://dev.azure.com/tianocore/edk2-ci/_build/latest?definitionId=44&branchName=master
.. _EmulatorPkg_Ubuntu_GCC5: https://dev.azure.com/tianocore/edk2-ci/_build/latest?definitionId=43&branchName=master

.. |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
.. |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
.. |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
.. |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
.. |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
.. |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

.. |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
.. |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
.. |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
.. |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
.. |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
.. |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

.. |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
.. |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
.. |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
.. |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
.. |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
.. |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

.. |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
.. |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
.. |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
.. |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
.. |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
.. |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

.. OvmfPkg

.. |TCBZ_2661| image:: https://img.shields.io/bugzilla/2661?baseUrl=https%3A%2F%2Fbugzilla.tianocore.org
.. _TCBZ_2661: https://bugzilla.tianocore.org/show_bug.cgi?id=2661

.. _OvmfPkg_Win_VS2019: https://dev.azure.com/tianocore/edk2-ci/_build/latest?definitionId=50&branchName=master
.. _OvmfPkg_Ubuntu_GCC5: https://dev.azure.com/tianocore/edk2-ci/_build/latest?definitionId=48&branchName=master

.. |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
.. |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
.. |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
.. |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
.. |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
.. |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

.. |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
.. |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
.. |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
.. |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
.. |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
.. |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


.. |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
.. |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
.. |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
.. |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
.. |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
.. |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

.. |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
.. |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
.. |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
.. |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
.. |op3264fn| replace:: |TCBZ_2661|_
.. |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