Add a new library class of SmmLib
authorqhuang8 <qhuang8@6f19259b-4bc3-4df7-8a09-765794883524>
Mon, 3 Sep 2007 03:23:24 +0000 (03:23 +0000)
committerqhuang8 <qhuang8@6f19259b-4bc3-4df7-8a09-765794883524>
Mon, 3 Sep 2007 03:23:24 +0000 (03:23 +0000)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3764 6f19259b-4bc3-4df7-8a09-765794883524

IntelFrameworkPkg/Include/Library/SmmLib.h [new file with mode: 0644]
IntelFrameworkPkg/IntelFrameworkPkg.dec

diff --git a/IntelFrameworkPkg/Include/Library/SmmLib.h b/IntelFrameworkPkg/Include/Library/SmmLib.h
new file mode 100644 (file)
index 0000000..b0d8d89
--- /dev/null
@@ -0,0 +1,78 @@
+/** @file\r
+  SMM Library Services that abstracts both S/W SMI generation and detection. \r
+\r
+  Copyright (c) 2007, Intel Corporation                                                         \r
+  All rights reserved. This program and the accompanying materials                          \r
+  are licensed and made available under the terms and conditions of the BSD License         \r
+  which accompanies this distribution.  The full text of the license may be found at        \r
+  http://opensource.org/licenses/bsd-license.php                                            \r
+\r
+  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,                     \r
+  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.        \r
+\r
+**/\r
+\r
+#ifndef __SMM_LIB_H__\r
+#define __SMM_LIB_H__\r
+\r
+\r
+/**\r
+  Triggers an SMI at boot time.  \r
+\r
+  This function triggers a software SMM interrupt at boot time.\r
+\r
+**/\r
+VOID\r
+EFIAPI\r
+TriggerBootServiceSoftwareSmi (\r
+  VOID\r
+  );\r
+\r
+\r
+/**\r
+  Triggers an SMI at run time.  \r
+\r
+  This function triggers a software SMM interrupt at run time.\r
+\r
+**/\r
+VOID\r
+EFIAPI\r
+TriggerRuntimeSoftwareSmi (\r
+  VOID\r
+  );\r
+\r
+\r
+/**\r
+  Test if a boot time software SMI happens.  \r
+\r
+  This function tests if a software SMM interrupt happens. If a software SMM interrupt happens and\r
+  it is triggered at boot time, it returns TRUE. Otherwise, it returns FALSE.\r
+\r
+  @retval TRUE                 A software SMI triggered at boot time happens.\r
+  @retval FLASE                No software SMI happens or the software SMI is triggered at run time.\r
+\r
+**/\r
+BOOLEAN\r
+EFIAPI\r
+IsBootServiceSoftwareSmi (\r
+  VOID\r
+  );\r
+\r
+\r
+/**\r
+  Test if a run time software SMI happens.  \r
+\r
+  This function tests if a software SMM interrupt happens. If a software SMM interrupt happens and\r
+  it is triggered at run time, it returns TRUE. Otherwise, it returns FALSE.\r
+\r
+  @retval TRUE                 A software SMI triggered at run time happens.\r
+  @retval FLASE                No software SMI happens or the software SMI is triggered at boot time.\r
+\r
+**/\r
+BOOLEAN\r
+EFIAPI\r
+IsRuntimeSoftwareSmi (\r
+  VOID\r
+  );\r
+\r
+#endif\r
index c0cda87..1a3a5b2 100644 (file)
@@ -26,6 +26,7 @@
 [LibraryClasses.common]\r
   HiiLibFramework|Include/Library/HiiLibFramework.h\r
   IfrSupportLibFramework|Include/Library/IfrSupportLibFramework.h\r
+  SmmLib|Include/Library/SmmLib.h\r
 \r
 [Guids.common]\r
   gEfiAcpiTableStorageGuid       = { 0x7e374e25, 0x8e01, 0x4fee, { 0x87, 0xf2, 0x39, 0x0c, 0x23, 0xc6, 0x06, 0xcd }}\r