TianoCore EDK2 master
|
#include <Base.h>
#include <Uefi.h>
#include <Library/BaseLib.h>
#include <Library/DebugLib.h>
#include <Library/MmServicesTableLib.h>
#include <Protocol/SmmCpuService.h>
#include <Library/SmmCpuRendezvousLib.h>
Go to the source code of this file.
Functions | |
EFI_STATUS EFIAPI | SmmCpuRendezvousProtocolNotify (IN CONST EFI_GUID *Protocol, IN VOID *Interface, IN EFI_HANDLE Handle) |
EFI_STATUS EFIAPI | SmmWaitForAllProcessor (IN BOOLEAN BlockingMode) |
Variables | |
STATIC EDKII_SMM_CPU_RENDEZVOUS_PROTOCOL * | mSmmCpuRendezvous = NULL |
STATIC VOID * | mRegistration = NULL |
SMM CPU Rendezvous sevice implement.
Copyright (c) 2022, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
Definition in file SmmCpuRendezvousLib.c.
EFI_STATUS EFIAPI SmmCpuRendezvousProtocolNotify | ( | IN CONST EFI_GUID * | Protocol, |
IN VOID * | Interface, | ||
IN EFI_HANDLE | Handle | ||
) |
Callback function to wait Smm cpu rendezvous service located.
SmmCpuRendezvousLib need to support MM_STANDALONE and DXE_SMM_DRIVER driver. So do not use library constructor to locate the protocol.
[in] | Protocol | Points to the protocol's unique identifier. |
[in] | Interface | Points to the interface instance. |
[in] | Handle | The handle on which the interface was installed. |
EFI_SUCCESS | Notification runs successfully. |
Definition at line 35 of file SmmCpuRendezvousLib.c.
EFI_STATUS EFIAPI SmmWaitForAllProcessor | ( | IN BOOLEAN | BlockingMode | ) |
This routine wait for all AP processors to arrive in SMM.
[in] | BlockingMode | Blocking mode or non-blocking mode. |
EFI_SUCCESS | All avaiable APs arrived. |
EFI_TIMEOUT | Wait for all APs until timeout. |
OTHER | Fail to register SMM CPU Rendezvous service Protocol. |
Definition at line 64 of file SmmCpuRendezvousLib.c.
Definition at line 18 of file SmmCpuRendezvousLib.c.
STATIC EDKII_SMM_CPU_RENDEZVOUS_PROTOCOL* mSmmCpuRendezvous = NULL |
Definition at line 17 of file SmmCpuRendezvousLib.c.