TianoCore EDK2 master
|
#include <MdePkg/Include/Protocol/MpService.h>
When installed, the MP Services Protocol produces a collection of services that are needed for MP management.
Before the UEFI event EFI_EVENT_GROUP_READY_TO_BOOT is signaled, the module that produces this protocol is required to place all APs into an idle state whenever the APs are disabled or the APs are not executing code as requested through the StartupAllAPs() or StartupThisAP() services. The idle state of an AP before the UEFI event EFI_EVENT_GROUP_READY_TO_BOOT is signaled is implementation dependent.
After the UEFI event EFI_EVENT_GROUP_READY_TO_BOOT is signaled, all the APs must be placed in the OS compatible CPU state as defined by the UEFI Specification. Implementations of this protocol may use the UEFI event EFI_EVENT_GROUP_READY_TO_BOOT to force APs into the OS compatible state as defined by the UEFI Specification. Modules that use this protocol must guarantee that all non-blocking mode requests on all APs have been completed before the UEFI event EFI_EVENT_GROUP_READY_TO_BOOT is signaled. Since the order that event notification functions in the same event group are executed is not deterministic, an event of type EFI_EVENT_GROUP_READY_TO_BOOT cannot be used to guarantee that APs have completed their non-blocking mode requests.
When the UEFI event EFI_EVENT_GROUP_READY_TO_BOOT is signaled, the StartAllAPs() and StartupThisAp() services must no longer support non-blocking mode requests. The support for SwitchBSP() and EnableDisableAP() may no longer be supported after this event is signaled. Since UEFI Applications and UEFI OS Loaders execute after the UEFI event EFI_EVENT_GROUP_READY_TO_BOOT is signaled, these UEFI images must be aware that the functionality of this protocol may be reduced.
Definition at line 662 of file MpService.h.
EFI_MP_SERVICES_ENABLEDISABLEAP _EFI_MP_SERVICES_PROTOCOL::EnableDisableAP |
Definition at line 668 of file MpService.h.
EFI_MP_SERVICES_GET_NUMBER_OF_PROCESSORS _EFI_MP_SERVICES_PROTOCOL::GetNumberOfProcessors |
Definition at line 663 of file MpService.h.
EFI_MP_SERVICES_GET_PROCESSOR_INFO _EFI_MP_SERVICES_PROTOCOL::GetProcessorInfo |
Definition at line 664 of file MpService.h.
EFI_MP_SERVICES_STARTUP_ALL_APS _EFI_MP_SERVICES_PROTOCOL::StartupAllAPs |
Definition at line 665 of file MpService.h.
EFI_MP_SERVICES_STARTUP_THIS_AP _EFI_MP_SERVICES_PROTOCOL::StartupThisAP |
Definition at line 666 of file MpService.h.
EFI_MP_SERVICES_SWITCH_BSP _EFI_MP_SERVICES_PROTOCOL::SwitchBSP |
Definition at line 667 of file MpService.h.
EFI_MP_SERVICES_WHOAMI _EFI_MP_SERVICES_PROTOCOL::WhoAmI |
Definition at line 669 of file MpService.h.