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 |
efccebcf |
6 | Copyright (c) 2007 - 2009, 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 |
27 | VOID\r |
28 | EFIAPI\r |
29 | TriggerBootServiceSoftwareSmi (\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 |
40 | VOID\r |
41 | EFIAPI\r |
42 | TriggerRuntimeSoftwareSmi (\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 |
57 | BOOLEAN\r |
58 | EFIAPI\r |
59 | IsBootServiceSoftwareSmi (\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 |
74 | BOOLEAN\r |
75 | EFIAPI\r |
76 | IsRuntimeSoftwareSmi (\r |
77 | VOID\r |
78 | );\r |
79 | \r |
4fd13cd5 |
80 | /**\r |
81 | \r |
82 | Clear APM SMI Status Bit; Set the EOS bit. \r |
83 | \r |
84 | **/\r |
85 | \r |
86 | VOID\r |
87 | EFIAPI\r |
88 | ClearSmi (\r |
89 | VOID\r |
90 | );\r |
f4a9471d |
91 | #endif\r |