]> git.proxmox.com Git - mirror_edk2.git/blame - IntelFrameworkPkg/Include/Library/SmmLib.h
Minor code enhancement.
[mirror_edk2.git] / IntelFrameworkPkg / Include / Library / SmmLib.h
CommitLineData
f4a9471d 1/** @file\r
4a71b21a 2 Library class name: SmmLib\r
3 \r
f4a9471d 4 SMM Library Services that abstracts both S/W SMI generation and detection. \r
5\r
ce9b1e3a 6 Copyright (c) 2007 - 2010, Intel Corporation \r
f4a9471d 7 All rights reserved. This program and the accompanying materials \r
8 are licensed and made available under the terms and conditions of the BSD License \r
9 which accompanies this distribution. The full text of the license may be found at \r
10 http://opensource.org/licenses/bsd-license.php \r
11\r
12 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
13 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
14\r
15**/\r
16\r
17#ifndef __SMM_LIB_H__\r
18#define __SMM_LIB_H__\r
19\r
20\r
21/**\r
22 Triggers an SMI at boot time. \r
23\r
24 This function triggers a software SMM interrupt at boot time.\r
25\r
26**/\r
27VOID\r
28EFIAPI\r
29TriggerBootServiceSoftwareSmi (\r
30 VOID\r
31 );\r
32\r
33\r
34/**\r
35 Triggers an SMI at run time. \r
36\r
37 This function triggers a software SMM interrupt at run time.\r
38\r
39**/\r
40VOID\r
41EFIAPI\r
42TriggerRuntimeSoftwareSmi (\r
43 VOID\r
44 );\r
45\r
46\r
47/**\r
efccebcf 48 Test if a boot time software SMI happened. \r
f4a9471d 49\r
efccebcf 50 This function tests if a software SMM interrupt happened. If a software SMM interrupt happened and\r
51 it was triggered at boot time, it returns TRUE. Otherwise, it returns FALSE.\r
f4a9471d 52\r
efccebcf 53 @retval TRUE A software SMI triggered at boot time happened.\r
5259c97d 54 @retval FLASE No software SMI happened, or the software SMI was triggered at run time.\r
f4a9471d 55\r
56**/\r
57BOOLEAN\r
58EFIAPI\r
59IsBootServiceSoftwareSmi (\r
60 VOID\r
61 );\r
62\r
63\r
64/**\r
efccebcf 65 Test if a run time software SMI happened. \r
f4a9471d 66\r
efccebcf 67 This function tests if a software SMM interrupt happened. If a software SMM interrupt happened and\r
68 it was triggered at run time, it returns TRUE. Otherwise, it returns FALSE.\r
f4a9471d 69\r
efccebcf 70 @retval TRUE A software SMI triggered at run time happened.\r
71 @retval FLASE No software SMI happened or the software SMI was triggered at boot time.\r
f4a9471d 72\r
73**/\r
74BOOLEAN\r
75EFIAPI\r
76IsRuntimeSoftwareSmi (\r
77 VOID\r
78 );\r
79\r
4fd13cd5 80/**\r
4fd13cd5 81 Clear APM SMI Status Bit; Set the EOS bit. \r
82 \r
83**/\r
4fd13cd5 84VOID\r
85EFIAPI\r
86ClearSmi (\r
87 VOID\r
88 );\r
f4a9471d 89#endif\r