## Description
This change added a new driver that can power on, power off, suspend and
resume
designated secondary application processors. The suspend operation
supports C1,
C2 and C3 for all secondary cores.
The BSP suspend operation is also supported, but the core will be woken
up from
timer interrupt.
On ARM specific implementation (which is the only implementation for
now), the driver
is built on top of PSCI based MP service driver from MU_TIANO_ARM repo.
The C2
and C3 will go through PSCI commands. The wakeup interrupt for AP is
through SGI
from BSP.
For each item, place an "x" in between `[` and `]` if true. Example:
`[x]`.
_(you can also check items in the GitHub UI)_
- [x] Impacts functionality?
- [ ] Impacts security?
- [ ] Breaking change?
- [x] Includes tests?
- [x] Includes documentation?
## How This Was Tested
This change is verified using the shell-based unit test on FVP and QEMU
SBSA platforms
(with needed TFA changes).
## Integration Instructions
For ARM based systems, one needs to add
`ArmPkg/Drivers/ArmPsciMpServicesDxe/ArmPsciMpServicesDxe.inf`
in addition to
`UefiTestingPkg/FunctionalSystemTests/MpManagement/Driver/MpManagement.inf`
into platform
dsc and fdf files.