UefiCpuPkg/PiSmmCpuDxeSmm: Start SMM Profile early for MM

SMM Profile start can be started early in SMM CPU EntryPoint
since page table for SMM profile is ready.
No need wait smm ready to lock.

Signed-off-by: Jiaxin Wu <jiaxin.wu@intel.com>
Cc: Ray Ni <ray.ni@intel.com>
Cc: Rahul Kumar <rahul1.kumar@intel.com>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: Star Zeng <star.zeng@intel.com>
Cc: Dun Tan <dun.tan@intel.com>
Cc: Hongbin1 Zhang <hongbin1.zhang@intel.com>
Cc: Wei6 Xu <wei6.xu@intel.com>
Cc: Yuanhao Xie <yuanhao.xie@intel.com>
This commit is contained in:
Jiaxin Wu 2024-06-26 15:54:22 +08:00 committed by mergify[bot]
parent 79468b58c3
commit 0593183d76
4 changed files with 24 additions and 5 deletions

View File

@ -163,6 +163,11 @@ SmmReadyToLockEventNotify (
// Get Software SMI from FADT
//
GetSmiCommandPort ();
//
// Initialize protected memory range for patching page table later.
//
InitProtectedMemRange ();
}
//

View File

@ -221,6 +221,16 @@ PiCpuStandaloneMmEntry (
// Get Software SMI
//
GetSmiCommandPort ();
//
// Initialize protected memory range for patching page table later.
//
InitProtectedMemRange ();
//
// Start SMM Profile feature
//
SmmProfileStart ();
}
//

View File

@ -738,11 +738,6 @@ InitSmmProfileCallBack (
&mSmmProfileBase
);
//
// Initialize protected memory range for patching page table later.
//
InitProtectedMemRange ();
return EFI_SUCCESS;
}

View File

@ -90,6 +90,15 @@ CheckFeatureSupported (
IN UINTN CpuIndex
);
/**
Initialize the protected memory ranges and the 4KB-page mapped memory ranges.
**/
VOID
InitProtectedMemRange (
VOID
);
/**
Update page table according to protected memory ranges and the 4KB-page mapped memory ranges.