audk/MdeModulePkg/Universal
Michael Kubacki 6f9838f32f MdeModulePkg/Variable: Add RT GetNextVariableName() cache support
https://bugzilla.tianocore.org/show_bug.cgi?id=2220

This change implements the Runtime Service GetNextVariableName()
using the runtime cache in VariableSmmRuntimeDxe. Runtime Service
calls to GetNextVariableName() will no longer trigger a SW SMI
when gEfiMdeModulePkgTokenSpaceGuid.PcdEnableVariableRuntimeCache
is set to TRUE (default value).

Overall system performance and stability will be improved by
eliminating an SMI for these calls as they typically result in a
relatively large number of invocations to retrieve all variable
names in all variable stores present.

Cc: Dandan Bi <dandan.bi@intel.com>
Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: Eric Dong <eric.dong@intel.com>
Cc: Laszlo Ersek <lersek@redhat.com>
Cc: Liming Gao <liming.gao@intel.com>
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Ray Ni <ray.ni@intel.com>
Cc: Jian J Wang <jian.j.wang@intel.com>
Cc: Hao A Wu <hao.a.wu@intel.com>
Cc: Jiewen Yao <jiewen.yao@intel.com>
Signed-off-by: Michael Kubacki <michael.a.kubacki@intel.com>
Reviewed-by: Jian J Wang <jian.j.wang@intel.com>
Reviewed-by: Hao A Wu <hao.a.wu@intel.com>
2019-11-05 21:55:54 -08:00
..
Acpi MdeModulePkg/S3SaveState: cast Position for S3BootScriptLib explicitly 2019-10-09 09:40:10 +02:00
BdsDxe MdeModulePkg/BdsDxe: Fix PlatformRecovery issue 2019-10-30 13:34:07 +08:00
BootManagerPolicyDxe MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00
CapsuleOnDiskLoadPei MdeModulePkg: Add CapsuleOnDiskLoadPei PEIM. 2019-06-26 15:10:42 +08:00
CapsulePei MdeModulePkg: Add missing header files in INF files 2019-08-13 17:16:14 +08:00
CapsuleRuntimeDxe MdeModulePkg/CapsuleRuntimeDxe: Introduce PCD to control this feature. 2019-06-26 15:10:41 +08:00
Console MdeModulePkg: stop abusing EFI_HANDLE for keystroke notify registration 2019-10-09 09:40:09 +02:00
DebugPortDxe MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00
DebugServicePei MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00
DebugSupportDxe MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00
DevicePathDxe MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00
Disk MdeModulePkg: Remove BootInRecoveryMode PPI 2019-05-09 20:52:41 +08:00
DisplayEngineDxe MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00
DriverHealthManagerDxe MdeModulePkg: strip trailing whitespace 2019-10-04 11:18:32 +01:00
DriverSampleDxe MdeModulePkg: stop abusing EFI_HANDLE for keystroke notify registration 2019-10-09 09:40:09 +02:00
EbcDxe MdeModulePkg/EbcDebugger: Add check for Entry and RetEntry 2019-11-06 13:26:27 +08:00
EsrtDxe MdeModulePkg/EsrtDxe: Add check for EsrtRepository 2019-11-06 13:26:21 +08:00
EsrtFmpDxe MdeModulePkg/EsrtFmpDxe: Enhance ESRT to support multiple controllers 2019-08-07 13:18:32 +08:00
FaultTolerantWriteDxe MdeModulePkg: stop abusing EFI_EVENT for protocol notify registration 2019-10-09 09:40:09 +02:00
FaultTolerantWritePei MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00
FileExplorerDxe MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00
FvSimpleFileSystemDxe MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00
HiiDatabaseDxe MdeModulePkg/HiiDatabaseDxe: ASSERT StringPtr 2019-11-06 13:26:21 +08:00
HiiResourcesSampleDxe MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00
LegacyRegion2Dxe MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00
LoadFileOnFv2 MdeModulePkg: stop abusing EFI_EVENT for protocol notify registration 2019-10-09 09:40:09 +02:00
LockBox/SmmLockBox MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00
MemoryTest MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00
Metronome MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00
MonotonicCounterRuntimeDxe MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00
PCD MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00
PcatSingleSegmentPciCfg2Pei MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00
PlatformDriOverrideDxe MdeModulePkg/PlatformDriOverride: Unload image on EFI_SECURITY_VIOLATION 2019-09-25 10:03:57 +08:00
PrintDxe MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00
RegularExpressionDxe MdeModulePkg/Oniguruma: Remove redundant IF statement 2019-11-04 08:54:24 +08:00
ReportStatusCodeRouter MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00
ResetSystemPei MdeModulePkg/ResetSystemPei: Change comments of ResetSystem2 2019-04-28 09:40:15 +08:00
ResetSystemRuntimeDxe MdeModulePkg/ResetSystemRuntimeDxe: Change comments 2019-04-28 09:40:15 +08:00
SectionExtractionDxe MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00
SectionExtractionPei MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00
SecurityStubDxe MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00
SerialDxe MdeModulePkg SerialDxe.inf: Fix wrong FILE_GUID format 2019-09-17 15:10:25 +08:00
SetupBrowserDxe MdeModulePkg/SetupBrowserDxe: ASSERT GetBufferForValue(&Value) 2019-11-06 13:26:21 +08:00
SmbiosDxe MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00
SmbiosMeasurementDxe MdeModulePkg SmbiosMeasurementDxe: Add Type4 Voltage field to blacklist 2019-07-01 19:36:15 +08:00
SmmCommunicationBufferDxe MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00
StatusCodeHandler MdeModulePkg/StatusCodeHandlerRuntimeDxe: make global variable static 2019-04-28 10:54:28 +08:00
TimestampDxe MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00
Variable MdeModulePkg/Variable: Add RT GetNextVariableName() cache support 2019-11-05 21:55:54 -08:00
WatchdogTimerDxe MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00