diff options
Diffstat (limited to 'src/VBox/Devices/EFI/Firmware/MdeModulePkg/Library/PiSmmCoreSmmServicesTableLib')
3 files changed, 101 insertions, 0 deletions
diff --git a/src/VBox/Devices/EFI/Firmware/MdeModulePkg/Library/PiSmmCoreSmmServicesTableLib/PiSmmCoreSmmServicesTableLib.c b/src/VBox/Devices/EFI/Firmware/MdeModulePkg/Library/PiSmmCoreSmmServicesTableLib/PiSmmCoreSmmServicesTableLib.c new file mode 100644 index 00000000..9e0d3c65 --- /dev/null +++ b/src/VBox/Devices/EFI/Firmware/MdeModulePkg/Library/PiSmmCoreSmmServicesTableLib/PiSmmCoreSmmServicesTableLib.c @@ -0,0 +1,54 @@ +/** @file + SMM Core SMM Services Table Library. + + Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR> + SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#include <PiSmm.h> +#include <Library/SmmServicesTableLib.h> +#include <Library/DebugLib.h> + +EFI_SMM_SYSTEM_TABLE2 *gSmst = NULL; +extern EFI_SMM_SYSTEM_TABLE2 gSmmCoreSmst; + +/** + The constructor function caches the pointer of SMM Services Table. + + @param ImageHandle The firmware allocated handle for the EFI image. + @param SystemTable A pointer to the EFI System Table. + + @retval EFI_SUCCESS The constructor always returns EFI_SUCCESS. + +**/ +EFI_STATUS +EFIAPI +SmmCoreSmmServicesTableLibConstructor ( + IN EFI_HANDLE ImageHandle, + IN EFI_SYSTEM_TABLE *SystemTable + ) +{ + gSmst = &gSmmCoreSmst; + return EFI_SUCCESS; +} + +/** + This function allows the caller to determine if the driver is executing in + System Management Mode(SMM). + + This function returns TRUE if the driver is executing in SMM and FALSE if the + driver is not executing in SMM. + + @retval TRUE The driver is executing in System Management Mode (SMM). + @retval FALSE The driver is not executing in System Management Mode (SMM). + +**/ +BOOLEAN +EFIAPI +InSmm ( + VOID + ) +{ + return TRUE; +} diff --git a/src/VBox/Devices/EFI/Firmware/MdeModulePkg/Library/PiSmmCoreSmmServicesTableLib/PiSmmCoreSmmServicesTableLib.inf b/src/VBox/Devices/EFI/Firmware/MdeModulePkg/Library/PiSmmCoreSmmServicesTableLib/PiSmmCoreSmmServicesTableLib.inf new file mode 100644 index 00000000..d1f73bd5 --- /dev/null +++ b/src/VBox/Devices/EFI/Firmware/MdeModulePkg/Library/PiSmmCoreSmmServicesTableLib/PiSmmCoreSmmServicesTableLib.inf @@ -0,0 +1,31 @@ +## @file +# SMM Core SMM Services Table Library. +# +# Copyright (c) 2010 - 2014, Intel Corporation. All rights reserved.<BR> +# +# SPDX-License-Identifier: BSD-2-Clause-Patent +# +# +## + +[Defines] + INF_VERSION = 0x00010005 + BASE_NAME = PiSmmCoreSmmServicesTableLib + MODULE_UNI_FILE = PiSmmCoreSmmServicesTableLib.uni + FILE_GUID = C427146A-2EF2-4af9-A85A-E09EA65EE47D + MODULE_TYPE = SMM_CORE + VERSION_STRING = 1.0 + LIBRARY_CLASS = SmmServicesTableLib|SMM_CORE + PI_SPECIFICATION_VERSION = 0x0001000A + CONSTRUCTOR = SmmCoreSmmServicesTableLibConstructor + +# +# VALID_ARCHITECTURES = IA32 X64 +# + +[Sources] + PiSmmCoreSmmServicesTableLib.c + +[Packages] + MdePkg/MdePkg.dec + diff --git a/src/VBox/Devices/EFI/Firmware/MdeModulePkg/Library/PiSmmCoreSmmServicesTableLib/PiSmmCoreSmmServicesTableLib.uni b/src/VBox/Devices/EFI/Firmware/MdeModulePkg/Library/PiSmmCoreSmmServicesTableLib/PiSmmCoreSmmServicesTableLib.uni new file mode 100644 index 00000000..3ef56670 --- /dev/null +++ b/src/VBox/Devices/EFI/Firmware/MdeModulePkg/Library/PiSmmCoreSmmServicesTableLib/PiSmmCoreSmmServicesTableLib.uni @@ -0,0 +1,16 @@ +// /** @file
+// SMM Core SMM Services Table Library.
+//
+// SMM Core SMM Services Table Library.
+//
+// Copyright (c) 2010 - 2014, Intel Corporation. All rights reserved.<BR>
+//
+// SPDX-License-Identifier: BSD-2-Clause-Patent
+//
+// **/
+
+
+#string STR_MODULE_ABSTRACT #language en-US "SMM Core SMM Services Table Library"
+
+#string STR_MODULE_DESCRIPTION #language en-US "SMM Core SMM Services Table Library."
+
|