summaryrefslogtreecommitdiff
path: root/MdeModulePkg/Universal
AgeCommit message (Collapse)AuthorFilesLines
9 daysMdeModulePkg: Deprecate EFI_UNICODE_COLLATION_PROTOCOL_GUIDGowtham M5-57/+13
Adding to the previous commit deprecating EFI_UNICODE_COLLATION_PROTOCOL_GUID in MdeModulePkg. Cc: Sachin Ganesh <sachinganesh@ami.com> Signed-off-by: Gowtham M <gowthamm@ami.com>
14 daysMdeModulePkg: Fix malformed terminal control sequencesJack Little2-15/+19
Commit 9224a2b91764ab17b2c1dbc9fdcb012eaed62da6 adds support for larger terminal dimensions; however, the ANSI control sequences to manipulate the terminal cursor are not built to accomodate terminal dimensions that are three digits long. For example, suppose we want to move the cursor 163 columns to the right. The required control sequence would be `^[[163C`; however, the existing code will create a control sequence of `^[[@3C` due to trying to add 16 to the character '0' instead of either 1 or 6. This fix adds a third digit to the sequence templates for moving the cursor forward, moving it backwards, and setting the cursor position. Signed-off-by: Jack Little <jack.tay.little@hpe.com>
2025-08-25MdeModulePkg: Add PcdCapsuleFmpSupportSergii Dmytruk2-0/+5
When set to TRUE, bit EFI_OS_INDICATIONS_FMP_CAPSULE_SUPPORTED of OsIndications is set. At the moment EDK never sets this bit (there is only definition with no uses), maybe nothing actually checks its value. Whatever the reason is, it seems like a good idea to make setting it possible. Signed-off-by: Sergii Dmytruk <sergii.dmytruk@3mdeb.com>
2025-08-22MdeModulePkg: Improve the implementation of EFI_SIMPLE_TEXT_OUTPUT_PROTOCOLGao Qihang3-0/+19
Fix TestString() to be compatible with wide/narrow string in GraphicsConsole driver. If WIDE_CHAR or NARROW_CHAR is hit in TestString function, ignore it since OutputString function will correctly handle it. Fix OutputString() to skip wide/narrow char in TerminalDxe. Because they are not displayable in terminal emulation tool, ingore to output if they are hit in OutputString function. Signed-off-by: Gao Qihang <gaoqihang@loongson.cn>
2025-08-22MdeModulePkg/HiiDatabaseDxe: Avoid assert in InternalGetStringGao Qihang1-1/+2
If string default is set to zero in vfr file and VfrCompile may not found the invalid operation, assert is trigged. This patch will check whether StringId is 0 to avoid assert. Cc: Chao Li <lichao@loongson.cn> Signed-off-by: Gao Qihang <gaoqihang@loongson.cn>
2025-08-07MdeModulePkg: Variable cumulative codeql issues.Michael Kubacki3-65/+72
Running Codeql on MdeModulePkg/Universal/Variable drivers results in codeql errors stemming for the following two checks. - cpp/comparison-with-wider-type - cpp/overflow-buffer - cpp/missing-null-test Signed-off-by: Aaron Pop <aaronpop@microsoft.com> Co-authored-by: Michael Kubacki <michael.kubacki@microsoft.com> Co-authored-by: Taylor Beebe <tabeebe@microsoft.com> Co-authored-by: pohanch <125842322+pohanch@users.noreply.github.com> Co-authored-by: kenlautner <85201046+kenlautner@users.noreply.github.com> Co-authored-by: Oliver Smith-Denny <osde@linux.microsoft.com> Co-authored-by: Sean Brogan <sean.brogan@microsoft.com> Co-authored-by: Aaron <aaronpop@microsoft>
2025-07-17MdeModulePkg: Console cumulative codeql issues.Michael Kubacki3-21/+29
Running Codeql on MdeModulePkg/Universal/Console drivers results in codeql errors stemming for the following checks. - cpp/comparison-with-wider-type - cpp/missing-null-test Signed-off-by: Aaron Pop <aaronpop@microsoft.com> Co-authored-by: Michael Kubacki <michael.kubacki@microsoft.com> Co-authored-by: Taylor Beebe <tabeebe@microsoft.com> Co-authored-by: pohanch <125842322+pohanch@users.noreply.github.com> Co-authored-by: kenlautner <85201046+kenlautner@users.noreply.github.com> Co-authored-by: Oliver Smith-Denny <osde@linux.microsoft.com> Co-authored-by: Sean Brogan <sean.brogan@microsoft.com> Co-authored-by: Aaron <aaronpop@microsoft>
2025-07-17MdeModulePkg: FvSimpleFileSystemDxe cumulative codeql issues.Michael Kubacki2-1/+8
Running Codeql on MdeModulePkg/Universal/FvSimpleFileSystemDxe drivers results in codeql errors stemming from missing null tests. Signed-off-by: Aaron Pop <aaronpop@microsoft.com> Co-authored-by: Michael Kubacki <michael.kubacki@microsoft.com> Co-authored-by: Taylor Beebe <tabeebe@microsoft.com> Co-authored-by: pohanch <125842322+pohanch@users.noreply.github.com> Co-authored-by: kenlautner <85201046+kenlautner@users.noreply.github.com> Co-authored-by: Oliver Smith-Denny <osde@linux.microsoft.com> Co-authored-by: Sean Brogan <sean.brogan@microsoft.com> Co-authored-by: Aaron <aaronpop@microsoft>
2025-07-08MdeModulePkg/GraphicsConsoleDxe UGAGuoMinJ4-311/+18
The Universal Graphics Adapter (UGA) is a graphic abstraction. The UGA I/O and Draw protocols are deprecated since UEFI 2.0 was introduced. Cf. the UEFI spec v2.9: "Appendix L - EFI 1.10 Protocol Changes and Deprecation List" section L.2 "Deprecated Protocols" Remove the UGA support. Signed-off-by: GuoMinJ <newexplorerj@gmail.com> Signed-off-by: Pierre Gondois <pierre.gondois@arm.com>
2025-07-08MdeModulePkg/ConSplitterDxe UGAGuoMinJ5-731/+53
The Universal Graphics Adapter (UGA) is a graphic abstraction. The UGA I/O and Draw protocols are deprecated since UEFI 2.0 was introduced. Cf. the UEFI spec v2.9: "Appendix L - EFI 1.10 Protocol Changes and Deprecation List" section L.2 "Deprecated Protocols" Remove the UGA support. Signed-off-by: GuoMinJ <newexplorerj@gmail.com> Signed-off-by: Pierre Gondois <pierre.gondois@arm.com>
2025-07-08MdeModulePkg: Remove UGA supportGuoMinJ1-1/+1
The Universal Graphics Adapter (UGA) is a graphic abstraction. The UGA I/O and Draw protocols are deprecated since UEFI 2.0 was introduced. Cf. the UEFI spec v2.9: "Appendix L - EFI 1.10 Protocol Changes and Deprecation List" section L.2 "Deprecated Protocols" Remove the UGA support. Signed-off-by: GuoMinJ <newexplorerj@gmail.com> Signed-off-by: Pierre Gondois <pierre.gondois@arm.com>
2025-07-01MdeModulePkg: SectionExtractionPei cumulative codeql issues.Michael Kubacki1-6/+9
Running Codeql on MdeModulePkg/Universal/SectionExtractionPei drivers results in codeql errors stemming from missing null tests. Signed-off-by: Aaron Pop <aaronpop@microsoft.com> Co-authored-by: Michael Kubacki <michael.kubacki@microsoft.com> Co-authored-by: Taylor Beebe <tabeebe@microsoft.com> Co-authored-by: pohanch <125842322+pohanch@users.noreply.github.com> Co-authored-by: kenlautner <85201046+kenlautner@users.noreply.github.com> Co-authored-by: Oliver Smith-Denny <osde@linux.microsoft.com> Co-authored-by: Sean Brogan <sean.brogan@microsoft.com> Co-authored-by: Aaron <aaronpop@microsoft>
2025-07-01MdeModulePkg: SmmCommunicationBuffer cumulative codeql issues.Michael Kubacki1-0/+4
Running Codeql on MdeModulePkg/Universal/SmmCommunicationBuffer drivers results in codeql errors stemming from missing null tests. Signed-off-by: Aaron Pop <aaronpop@microsoft.com> Co-authored-by: Michael Kubacki <michael.kubacki@microsoft.com> Co-authored-by: Taylor Beebe <tabeebe@microsoft.com> Co-authored-by: pohanch <125842322+pohanch@users.noreply.github.com> Co-authored-by: kenlautner <85201046+kenlautner@users.noreply.github.com> Co-authored-by: Oliver Smith-Denny <osde@linux.microsoft.com> Co-authored-by: Sean Brogan <sean.brogan@microsoft.com> Co-authored-by: Aaron <aaronpop@microsoft>
2025-07-01MdeModulePkg/FaultTolerantWriteDxe: Add validation for FtwWorkSpaceHeaderWenbo Hou2-1/+8
Add validation for FtwWorkSpaceHeader within the WorkSpaceRefresh() function to address an issue where the variable store cannot recover from the FTW spare block if the variable store is erased or corrupted during an FTW write or reclaim operation. Signed-off-by: Wenbo Hou <wenbo.hou@microsoft.com>
2025-06-27MdeModulePkg: MmVariablePei: Use MM communicate v3Kun Qin3-17/+61
As the MM cores begin to support MM Communicate v3, this update moves the driver to communicate to MM agent through MM Communicate v3 PPI. Signed-off-by: Kun Qin <kun.qin@microsoft.com>
2025-06-27MdeModulePkg: VariableSmmRuntimeDxe: Use MM communicate v3Kun Qin2-72/+204
As MM cores start to support MM communciate v3. This change moves the variable driver to use MM communicate v3 if it is available, otherwise the driver will fallback to v2 to keep the same functionality. Signed-off-by: Kun Qin <kun.qin@microsoft.com>
2025-06-13MdeModulePkg/DebugSupportDxe: Fix type mismatchesMichael D Kinney1-9/+16
The RegisteredCallback field of IdtEntryTable is used to store the address of functions with different function prototypes depending on the ExceptionType. Add local variables with the correct function prototypes and evaluate the ExceptionType to assign correct local variable to the RegisteredCallback value and use local variable to call the registered callback function with the correct arguments for the ExceptionType. Update declaration of InterruptDistrubutionHub() to use the non-CPU specific EFI_SYSTEM_CONTEXT parameter type instead of the IA32 specific EFI_SYSTEM_CONTEXT_IA32 because this function is used for both IA32 and X64. Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
2025-06-12MdeModulePkg: Fix function typosGao Qihang2-4/+4
functin -> function Signed-off-by: Gao Qihang <gaoqihang@loongson.cn>
2025-06-12MdeModulePkg: Fix EFI_SUCCESS typosGao Qihang7-10/+10
EFI_SUCESS -> EFI_SUCCESS EFI_SUCESSS -> EFI_SUCCESS Signed-off-by: Gao Qihang <gaoqihang@loongson.cn>
2025-06-11MdeModulePkg: Fix definition typosDongyan Qian2-2/+2
`defintion`->`definition` Signed-off-by: Dongyan Qian <qiandongyan@loongson.cn>
2025-06-09MdeModulePkg/HiiDatabaseDxe: Fix NULL Pointer access from EfiVarStoreDeepakX Singh1-0/+5
Issue : When user access "Boot Maintenance Manager Menu/Secure Boot Configuration Menu" with PcdNullPointerDetectionPropertyMask|0x03 and PcdHeapGuardPageType|0x7FFF protection policy set, we get X64 Exception Type - 0E(#PF - Page-Fault) Root cause : When user access "Boot Maintenance Manager Menu/Secure Boot Configuration Menu", BIOS calls FindQuestionDefaultSetting function and send EFI VarStore header pointer to AuthFindVariableData function. When header pointer is NULL, it send NULL pointer to AuthFindVariableData function and causes the page fault. Fix : Database.c: In function FindQuestionDefaultSetting, added NULL pointers check, so that when EFI VarStore header argument is passed to AuthFindVariableData function, NULL pointer access will not happen. Test: Cross verified while accessing the "Boot Maintenance Manager Menu/ Secure Boot Configuration Menu" page. Signed-off-by: DeepakX Singh <deepakx.singh@intel.com>
2025-06-08MdeModulePkg: Prevent memcpy intrinsics in VS22 (17.14.2)Michael Kubacki1-5/+3
The latest VS2022 update replaces some code patterns with struct assignments with `memcpy`. This change convert the code to explicitly use `CopyMem`. Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
2025-06-07MdeModule: Update oniguruma to v6.9.10Rebecca Cran1-0/+0
Update MdeModulePkg/Universal/RegularExpressionDxe/oniguruma to the last upstream version, v6.9.10. Signed-off-by: Rebecca Cran <rebecca@bsdio.com>
2025-05-30MdeModulePkg: Typedef ptrdiff_t to fix building with gcc 15.1Rebecca Cran1-0/+1
When building with gcc 15.1, building RegularExpressionDxe fails because it can't find the type ptrdiff_t. Therefore, add a typedef for it in OniguramaUefiPort.h. Signed-off-by: Rebecca Cran <rebecca@bsdio.com>
2025-05-16MdeModulePkg/HiiDatabaseDxe: Fix BlockSize lengthMaximilian Brune1-1/+1
The BlockSize calculation was missing the 0 terminator which caused the string block to shrink by 1 every time the string was processed. Therefore causing memory corruptions, because the string took more memory space as was allocated for the string block therefore corrupting the memory pool at the end (which caused an ASSERT upon trying to free it). Signed-off-by: Maximilian Brune <maximilian.brune@9elements.com>
2025-05-02MdeModulePkg/AcpiTableDxe: Add function for extract ACPI table from HOB.George Liao1-45/+165
1. Got RSDP table which installed during the FSP phase from Hob, then pass it to the DXE AcpiTableInstance. 2. Got XSDT from RSDP and extract necessary data from XSDT, according to the old XSDT to Initialize a new XSDT. 3. Re-install ACPI table from old XSDT to the new XSDT. a. If Hob has DSDT table then re-install DSDT table in the new XSDT. If not, then skip it. b. If Hob has FACS table then re-install FACS table in the new XSDT. If not, then skip it. Signed-off-by: George Liao <george.liao@intel.com>
2025-04-25DisplayEngineDxe: Fix length when displaying menu stringGao Qihang1-1/+2
Function `PrintStringAt` returns the count of Unicode character, which is not correct for computing column offset when display empty string if wide character is introduced. `GetStringWidth (String) / 2 - 1` is suitable option which is compatible with wide and narrow characters. Cc: Lichao <lichao@loongson.cn> Cc: Qian Dongyan <qiandongyan@loongson.cn> Signed-off-by: Gao Qihang <gaoqihang@loongson.cn>
2025-04-17MdeModulePkg/PlatformDriOverrideDxe:Fix typosGao Qihang3-10/+10
`dynamicly`->`dynamically` Signed-off-by: Gao Qihang <gaoqihang@loongson.cn>
2025-04-17MdeModulePkg/DriverHealthManagerDxe:Fix typoGao Qihang1-1/+1
`dynamicly`->`dynamically` Signed-off-by: Gao Qihang <gaoqihang@loongson.cn>
2025-04-10MdeModulePkg/DisplayEngineDxe:Fix typos in comments.Gao Qihang2-14/+14
opton -> option attribut -> attribute mwnu -> menu highlith/hilight -> highlight repain -> repaint Signed-off-by: Gao Qihang <gaoqihang@loongson.cn>
2025-03-27MdeModulePkg/Universal: Remove dynamic PcdStatusCodeUseSerial usage in MMJiaxin Wu5-3/+63
This patch is to replace dynamic PcdStatusCodeUseSerial by the gMmStatusCodeUseSerialHobGuid. Signed-off-by: Jiaxin Wu <jiaxin.wu@intel.com>
2025-03-03MdeModulePkg/TerminalDxe: Support multiple modes for SetMode functionPhil Noh3-4/+34
When the terminal driver is active, currently terminals available through SetMode function are limited to mode 0 (80x25) despite multiple modes are configured as MaxMode value (e.g. 3 modes in mTerminalConsoleModeData list). Improve the function to support multiple modes based on the value. Additionally add more modes that match with the GraphicsConsoleDxe driver. This update is expected to help the symptom that the Setup or Shell screen becomes smaller due to the text mode. Signed-off-by: Phil Noh <Phil.Noh@amd.com>
2025-02-28MdeModulePkg/HiiDatabaseDxe: Prevent linker errorMichael Kubacki1-55/+60
Prevent an issue where `memcpy()` instrinsic is being used after recent MSVC linker update in windows-2022 VM image from 14.31.31103 to 14.32.31326. Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
2025-02-25MdeModulePkg/Variable: Init var policy after SMM variable is readyMichael Kubacki2-9/+14
On a MM system, the main UEFI variable logic resides in MMRAM. In that case, the variable policy logic in `VarCheckPolicyLib`, such as `VarCheckPolicyLibStandaloneMm` is linked against the MM driver also in that case `VariableStandaloneMm`. The MM variable driver indicates its presence to the RT DXE driver via `gEfiSmmVariableProtocolGuid` to indicate variable read support is available from MM. This triggers installation of the variable architectural protocol in DXE. Today, variable policy is initialized by calling `VariablePolicySmmDxeMain()` in `VariableSmmRuntimeInitialize()`. In turn, this installs `gEdkiiVariablePolicyProtocolGuid`. Functions in `gEdkiiVariablePolicyProtocolGuid` may trigger MMIs. However, it is possible that the MM variable driver which is linked against the code with the variable policy MMI handlers (i.e. `VarCheckPolicyLib`) is not loaded yet. Therefore, this change moves invocation of `VariablePolicySmmDxeMain()` to `SmmVariableReady()` which is called on installation of `gEfiSmmVariableProtocolGuid` indicating variable MM services are ready. `gEdkiiVariablePolicyProtocolGuid` is still installed prior to the variable architectural protocol being installed. Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
2025-02-21MdeModulePkg/HiiDatabaseDxe: Remove buffer error for string default.edk2-stable202502Longhaox Lee1-5/+4
Remove efivarstore IFR buffer error when string load default. In the case of varstore type IFR, it will be NULL, just break into next opcode process. Resolve issue from commit cbe8a09dbac5c39d24ce5c4b9e7d44607f6c23da varstore type IFR string might return status error while execute ExtractConfig function. Signed-off-by: Longhao Lee <longhaox.lee@intel.com>
2025-02-07MdePkg: Move StackCheckLibStaticInit to StackCheckLibOliver Smith-Denny1-0/+3
This commit oves StackCheckLib from a NULL lib to an instance of StackCheckLib. This requires every entry point to add a library dependency on StackCheckLib. It also requires every SEC module to have a dependency on StackCheckLib because there is no standard SEC entry point. It allows for greater flexibility for a platform to apply stack cookies and simplifies DSC logic. Continuous-integration-options: PatchCheck.ignore-multi-package Signed-off-by: Oliver Smith-Denny <osde@microsoft.com>
2025-01-14MdeModulePkg/HiiDatabaseDxe: Add string question load default support.Longhaox Lee1-0/+173
Add string question load default support. load default data from PCD PcdNvStoreDefaultValueBuffer. Signed-off-by: Longhao Lee <longhaox.lee@intel.com>
2024-12-11MdeModulePkg SmbiosMeasurementDxe: Release TableAddress after useYang Gang1-0/+4
Signed-off-by: Yang Gang <yanggang@byosoft.com.cn>
2024-12-11MdeModulePkg DriverHealthManagerDxe: Display HealthStatus as TextTwoYang Gang1-2/+4
When PcdBrowserGrayOutTextStatement is TRUE, TextOpCode will be GrayOut. HealthStatus cannot be displayed in help area, use TextTwo to display it. Signed-off-by: Yang Gang <yanggang@byosoft.com.cn>
2024-12-06MdeModulePkg/PlatformDriOverrideDxe: fix HiiOpCodeHandle leakMike Maslenkin1-0/+4
Signed-off-by: Mike Maslenkin <mike.maslenkin@gmail.com>
2024-12-02MdeModulePkg/HiiDatabase: Return default value for BIT VarStore as UNIT32Dandan Bi1-2/+2
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4874 Question CheckBox, OneOf and Numeric can refer to Bit EFI VarStore. CheckBox: data type is Boolean (1 byte), Numeric/Oneof: data type is always UNIT32 for BIT VarStore, When get default value for BIT VarStore, should return default value with sizeof (UINT32) rather than the byte the bit width occupied. Or incorrect default value will be used due to the size mismatch. Signed-off-by: Dandan Bi <dandan.bi@intel.com>
2024-10-30MdeModulePkg: Adding support for authenticated variablenikhil p sheshagiri2-49/+132
storage data format REF:https://bugzilla.tianocore.org/show_bug.cgi?id=4857 NVS needs to support both authenticated and non-authenticated header for NV region. PcdNvStoreDefaultValueBuffer can have variables with data format of the type Authenticated variable storage and this change provides the support to differentiate between the normal variable storage and authenticated variable storage for the hii database to consume and update the setup variables accordingly Signed-off-by: nikhil p sheshagiri <nikhil.p.sheshagiri@intel.com>
2024-10-28MdeModulePkg/TerminalDxe: Return success if device not support SetControlHua Ma1-0/+3
Some serial device may not support SetControl. Ignore the error from SetControl if EFI_UNSUPPORTED is return. Signed-off-by: Hua Ma <hua.ma@intel.com>
2024-09-18MdeModulePkg/TerminalDxe: Add VTUTF8 to Putty function key mapPhil Noh2-6/+9
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4848 This patch is to support VTUTF8 type for Putty function key map. In Putty, it is required for translating a stream of Unicode characters for function keys on UTF8 correctly. Signed-off-by: Phil Noh <Phil.Noh@amd.com>
2024-09-12MdeModulePkg: Enable Data Terminal at end of serialKen Lautner1-0/+4
When a Serial device resets, the Modem Control Register Data Terminal Ready and Request to Send need to be cleared also. Otherwise the registers will be left in their previous state, and the connected device will not be able to transmit data. Signed-off-by: Kenneth Lautner <kenlautner3@gmail.com>
2024-09-11MdeModulePkg/VariableRuntimeDxe: Fix VariablePolicyProtocol PRODUCESMike Beaton1-1/+1
If we search the codebase for &gEdkiiVariablePolicyProtocolGuid we can find two drivers which install this policy: VariableRuntimeDxe (installed in VariableDxe.c) and VariableSmmRuntimeDxe (installed in VariablePolicySmmDxe.c). The .inf file for VariableRuntimeDxe incorrectly lists the protocol as CONSUMES in the comment, so change this to PRODUCES. Signed-off-by: Mike Beaton <mjsbeaton@gmail.com>
2024-09-04MdeModulePkg: Fix redundant call to RestoreTpl()Ken Lautner1-6/+6
Comments out a redundant call to RestoreTpl(). While this does not technically violate spec on raise/restore TPL, TPL should already be at the specified level. This extra call introduces an asymmetry between RaiseTpl and RestoreTpl calls, which makes analysis of TPL correctness more difficult and hampers certain non-standard TPL usages that some platforms require. Additionally, the two TPL variables were renamed to provide context for each of them. Signed-off-by: Kenneth Lautner <kenlautner3@gmail.com>
2024-09-04MdeModulePkg: Add extra RestoreTpl() call in DiskIoKen Lautner1-1/+3
Adds a call to RestoreTpl() in DiskIo2ReadWriteDisk(). While the current implementation does not technically violate spec on raise/restore TPL, this extra call ensures symmetry between RaiseTpl and RestoreTpl calls, which makes analysis of TPL correctness simpler and permits certain non-standard TPL usages that some platforms require. Signed-off-by: Kenneth Lautner <kenlautner3@gmail.com>
2024-09-03MdeModulePkg/FaultTolerantWriteDxe: Fix buffer overrun issueSureshkumar Ponnusamy1-1/+7
- This PR aims to prevent a buffer overrun issue found in FtwGetLastWriteHeader function.As per the current code, when there is a malformed blocks (with all bytes as 0s) then `Offset += FTW_WRITE_TOTAL_SIZE (FtwHeader->NumberOfWrites, FtwHeader->PrivateDataSize)` would access beyond FtwWorkSpaceSize. - Also added the signature check to validate work space Signed-off-by: Sureshkumar Ponnusamy <sponnusamy@microsoft.com>
2024-09-02MdeModulePkg/VariableStandaloneMm: Notify variable write ready in MMWei6 Xu2-0/+14
In Standalone MM, there is no notification to MM drivers that variable write is ready. Install gSmmVariableWriteGuid into MM handle database for the notification. Cc: Liming Gao <gaoliming@byosoft.com.cn> Cc: Ray Ni <ray.ni@intel.com> Signed-off-by: Wei6 Xu <wei6.xu@intel.com>