From 9caaa79dd7e078ebb4012dde3b3d3a5d451df609 Mon Sep 17 00:00:00 2001 From: Eric Dong Date: Fri, 6 Dec 2019 11:36:35 +0800 Subject: UefiCpuPkg/PiSmmCpuDxeSmm: Avoid allocate Token every time REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2388 Token is new introduced by MM MP Protocol. Current logic allocate Token every time when need to use it. The logic caused SMI latency raised to very high. Update logic to allocate Token buffer at driver's entry point. Later use the token from the allocated token buffer. Only when all the buffer have been used, then need to allocate new buffer. Reviewed-by: Ray Ni Signed-off-by: Eric Dong Acked-by: Laszlo Ersek --- UefiCpuPkg/UefiCpuPkg.dec | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'UefiCpuPkg/UefiCpuPkg.dec') diff --git a/UefiCpuPkg/UefiCpuPkg.dec b/UefiCpuPkg/UefiCpuPkg.dec index 12f4413..797f948 100644 --- a/UefiCpuPkg/UefiCpuPkg.dec +++ b/UefiCpuPkg/UefiCpuPkg.dec @@ -148,6 +148,10 @@ # @Prompt Specify size of good stack of exception which need switching stack. gUefiCpuPkgTokenSpaceGuid.PcdCpuKnownGoodStackSize|2048|UINT32|0x30002001 + ## Count of pre allocated SMM MP tokens per chunk. + # @Prompt Specify the count of pre allocated SMM MP tokens per chunk. + gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmMpTokenCountPerChunk|64|UINT32|0x30002002 + [PcdsFixedAtBuild, PcdsPatchableInModule] ## This value is the CPU Local APIC base address, which aligns the address on a 4-KByte boundary. # @Prompt Configure base address of CPU Local APIC -- cgit v1.1