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