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