16const BOOLEAN mIsStandaloneMm =
TRUE;
21BOOLEAN mRemainingTasksDone =
FALSE;
35 UINT64 SmmProfileSize;
38 if (SmmProfileSize == 0) {
56 if (!mRemainingTasksDone) {
69 if (MemoryAttributesTable !=
NULL) {
89 mRemainingTasksDone =
TRUE;
104 mSmiCommandPort = 0xB2;
105 DEBUG ((DEBUG_INFO,
"mSmiCommandPort = %x\n", mSmiCommandPort));
119 IN OUT BOOLEAN *RelaxedMode, OPTIONAL
120 IN OUT UINT64 *SyncTimeout, OPTIONAL
121 IN OUT UINT64 *SyncTimeout2 OPTIONAL
127 MmCpuSyncConfigHob =
NULL;
133 ASSERT (GuidHob !=
NULL);
134 if (GuidHob !=
NULL) {
135 MmCpuSyncConfigHob = GET_GUID_HOB_DATA (GuidHob);
138 if (MmCpuSyncConfigHob !=
NULL) {
139 if (RelaxedMode !=
NULL) {
143 if (SyncTimeout !=
NULL) {
144 *SyncTimeout = MmCpuSyncConfigHob->
Timeout;
147 if (SyncTimeout2 !=
NULL) {
148 *SyncTimeout2 = MmCpuSyncConfigHob->
Timeout2;
165 MmAcpiS3EnableHob =
NULL;
171 ASSERT (GuidHob !=
NULL);
172 if (GuidHob !=
NULL) {
173 MmAcpiS3EnableHob = GET_GUID_HOB_DATA (GuidHob);
176 if (MmAcpiS3EnableHob !=
NULL) {
239 if (mSmmProfileEnabled) {
262 &gSmmCpuPrivate->SmmCpuHandle,
263 &gEfiSmmConfigurationProtocolGuid,
265 &gSmmCpuPrivate->SmmConfiguration
VOID *EFIAPI GetFirstGuidHob(IN CONST EFI_GUID *Guid)
#define ASSERT_EFI_ERROR(StatusParameter)
#define DEBUG(Expression)
EFI_PHYSICAL_ADDRESS GetSmmProfileData(IN OUT UINT64 *Size)
VOID EFIAPI SmmCpuFeaturesCompleteSmmReadyToLock(VOID)
EFI_STATUS PiSmmCpuEntryCommon(VOID)
EFI_STATUS EFIAPI SmmGetSystemConfigurationTable(IN EFI_GUID *TableGuid, OUT VOID **Table)
VOID SetMemMapAttributes(EDKII_PI_SMM_MEMORY_ATTRIBUTES_TABLE *MemoryAttributesTable)
VOID SetPageTableAttributes(VOID)
EFI_STATUS EFIAPI PiCpuStandaloneMmEntry(IN EFI_HANDLE ImageHandle, IN EFI_MM_SYSTEM_TABLE *SystemTable)
VOID GetAcpiS3EnableFlag(VOID)
VOID PerformRemainingTasks(VOID)
EFI_PROCESSOR_INFORMATION * GetMpInformationFromMpServices(OUT UINTN *NumberOfCpus, OUT UINTN *MaxNumberOfCpus)
VOID GetSmmCpuSyncConfigData(IN OUT BOOLEAN *RelaxedMode, OPTIONAL IN OUT UINT64 *SyncTimeout, OPTIONAL IN OUT UINT64 *SyncTimeout2 OPTIONAL)
BOOLEAN IsSmmProfileEnabled(VOID)
VOID GetSmiCommandPort(VOID)
UINTN GetSupportedMaxLogicalProcessorNumber(VOID)
VOID SmmProfileStart(VOID)
VOID InitProtectedMemRange(VOID)
EFI_INSTALL_PROTOCOL_INTERFACE MmInstallProtocolInterface
MM_CPU_SYNC_MODE RelaxedApMode