1 /** @file
2 
3 Copyright (c) 2013-2015 Intel Corporation.
4 
5 This program and the accompanying materials
6 are licensed and made available under the terms and conditions of the BSD License
7 which accompanies this distribution.  The full text of the license may be found at
8 http://opensource.org/licenses/bsd-license.php
9 
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
12 
13 **/
14 
15 #ifndef QNCX_SMM_HELPERS_H
16 #define QNCX_SMM_HELPERS_H
17 
18 //
19 // Include common header file for this module.
20 //
21 #include "CommonHeader.h"
22 
23 #include "QNCSmm.h"
24 
25 EFI_STATUS
26 QNCSmmInitHardware (
27   VOID
28   )
29 /*++
30 
31 Routine Description:
32 
33   GC_TODO: Add function description
34 
35 Arguments:
36 
37   None
38 
39 Returns:
40 
41   GC_TODO: add return values
42 
43 --*/
44 ;
45 
46 EFI_STATUS
47 QNCSmmEnableGlobalSmiBit (
48   VOID
49   )
50 /*++
51 
52 Routine Description:
53 
54   Enables the QNC to generate SMIs. Note that no SMIs will be generated
55   if no SMI sources are enabled. Conversely, no enabled SMI source will
56   generate SMIs if SMIs are not globally enabled. This is the main
57   switchbox for SMI generation.
58 
59 Arguments:
60 
61   None
62 
63 Returns:
64 
65   EFI_SUCCESS.
66   Asserts, otherwise.
67 
68 --*/
69 ;
70 
71 EFI_STATUS
72 QNCSmmClearSmi (
73   VOID
74   )
75 /*++
76 
77 Routine Description:
78 
79   GC_TODO: Add function description
80 
81 Arguments:
82 
83   None
84 
85 Returns:
86 
87   GC_TODO: add return values
88 
89 --*/
90 ;
91 
92 BOOLEAN
93 QNCSmmSetAndCheckEos (
94   VOID
95   )
96 /*++
97 
98 Routine Description:
99 
100   GC_TODO: Add function description
101 
102 Arguments:
103 
104   None
105 
106 Returns:
107 
108   GC_TODO: add return values
109 
110 --*/
111 ;
112 
113 BOOLEAN
114 QNCSmmGetSciEn (
115   VOID
116   )
117 /*++
118 
119 Routine Description:
120 
121   GC_TODO: Add function description
122 
123 Arguments:
124 
125   None
126 
127 Returns:
128 
129   GC_TODO: add return values
130 
131 --*/
132 ;
133 
134 //
135 // ///////////////////////////////////////////////////////////////////////////
136 //
137 // These may or may not need to change w/ the QNC version;
138 // they're here because they're highly IA-32 dependent.
139 //
140 BOOLEAN
141 ReadBitDesc (
142   CONST QNC_SMM_BIT_DESC *BitDesc
143   )
144 /*++
145 
146 Routine Description:
147 
148   GC_TODO: Add function description
149 
150 Arguments:
151 
152   BitDesc - GC_TODO: add argument description
153 
154 Returns:
155 
156   GC_TODO: add return values
157 
158 --*/
159 ;
160 
161 VOID
162 WriteBitDesc (
163   CONST QNC_SMM_BIT_DESC  *BitDesc,
164   CONST BOOLEAN          ValueToWrite
165   )
166 /*++
167 
168 Routine Description:
169 
170   GC_TODO: Add function description
171 
172 Arguments:
173 
174   BitDesc       - GC_TODO: add argument description
175   ValueToWrite  - GC_TODO: add argument description
176 
177 Returns:
178 
179   GC_TODO: add return values
180 
181 --*/
182 ;
183 
184 #endif
185