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