]> git.proxmox.com Git - mirror_edk2.git/blame - EdkModulePkg/Universal/DebugSupport/Dxe/Ia32/plDebugSupport.h
Fix the issues caused by EfiCompress.h was changed to Compress.h.
[mirror_edk2.git] / EdkModulePkg / Universal / DebugSupport / Dxe / Ia32 / plDebugSupport.h
CommitLineData
878ddf1f 1/*++\r
2\r
3Copyright (c) 2006, Intel Corporation \r
4All rights reserved. This program and the accompanying materials \r
5are licensed and made available under the terms and conditions of the BSD License \r
6which accompanies this distribution. The full text of the license may be found at \r
7http://opensource.org/licenses/bsd-license.php \r
8 \r
9THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
10WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
11\r
12Module Name:\r
13\r
14 plDebugSupport.h\r
15\r
16Abstract:\r
17\r
18 IA32 specific debug support macros, typedefs and prototypes.\r
19\r
20Revision History\r
21\r
22--*/\r
23\r
24#ifndef _PLDEBUG_SUPPORT_H\r
25#define _PLDEBUG_SUPPORT_H\r
26\r
27#define NUM_IDT_ENTRIES 0x78\r
28#define SYSTEM_TIMER_VECTOR 0x68\r
29#define VECTOR_ENTRY_PAGES 1\r
30#define CopyDescriptor(Dest, Src) CopyMem ((Dest), (Src), sizeof (DESCRIPTOR))\r
31#define ZeroDescriptor(Dest) CopyDescriptor ((Dest), &NullDesc)\r
32#define ReadIdt(Vector, Dest) CopyDescriptor ((Dest), &((GetIdtr ())[(Vector)]))\r
33#define WriteIdt(Vector, Src) CopyDescriptor (&((GetIdtr ())[(Vector)]), (Src))\r
34#define CompareDescriptor(Desc1, Desc2) CompareMem ((Desc1), (Desc2), sizeof (DESCRIPTOR))\r
35#define EFI_ISA IsaIa32\r
36#define FF_FXSR (1 << 24)\r
37\r
38typedef UINT64 DESCRIPTOR;\r
39\r
40typedef struct {\r
41 DESCRIPTOR OrigDesc;\r
42 VOID (*OrigVector) (VOID);\r
43 DESCRIPTOR NewDesc;\r
44 VOID (*StubEntry) (VOID);\r
45 VOID (*RegisteredCallback) ();\r
46} IDT_ENTRY;\r
47\r
48extern EFI_SYSTEM_CONTEXT SystemContext;\r
49extern UINT8 InterruptEntryStub[];\r
50extern UINT32 StubSize;\r
51extern VOID (*OrigVector) (VOID);\r
52\r
53VOID\r
54CommonIdtEntry (\r
55 VOID\r
56 )\r
57/*++\r
58\r
59Routine Description:\r
60\r
61 TODO: Add function description\r
62\r
63Arguments:\r
64\r
65 None\r
66\r
67Returns:\r
68\r
69 TODO: add return values\r
70\r
71--*/\r
72;\r
73\r
74BOOLEAN\r
75FxStorSupport (\r
76 VOID\r
77 )\r
78/*++\r
79\r
80Routine Description:\r
81\r
82 TODO: Add function description\r
83\r
84Arguments:\r
85\r
86 None\r
87\r
88Returns:\r
89\r
90 TODO: add return values\r
91\r
92--*/\r
93;\r
94\r
95DESCRIPTOR *\r
96GetIdtr (\r
97 VOID\r
98 )\r
99/*++\r
100\r
101Routine Description:\r
102\r
103 TODO: Add function description\r
104\r
105Arguments:\r
106\r
107 None\r
108\r
109Returns:\r
110\r
111 TODO: add return values\r
112\r
113--*/\r
114;\r
115\r
116VOID\r
117Vect2Desc (\r
118 DESCRIPTOR * DestDesc,\r
119 VOID (*Vector) (VOID)\r
120 )\r
121/*++\r
122\r
123Routine Description:\r
124\r
125 TODO: Add function description\r
126\r
127Arguments:\r
128\r
129 DestDesc - TODO: add argument description\r
130 ) - TODO: add argument description\r
131\r
132Returns:\r
133\r
134 TODO: add return values\r
135\r
136--*/\r
137;\r
138\r
139BOOLEAN\r
140WriteInterruptFlag (\r
141 BOOLEAN NewState\r
142 )\r
143/*++\r
144\r
145Routine Description:\r
146\r
147 TODO: Add function description\r
148\r
149Arguments:\r
150\r
151 NewState - TODO: add argument description\r
152\r
153Returns:\r
154\r
155 TODO: add return values\r
156\r
157--*/\r
158;\r
159\r
160EFI_STATUS\r
161plInitializeDebugSupportDriver (\r
162 VOID\r
163 )\r
164/*++\r
165\r
166Routine Description:\r
167\r
168 TODO: Add function description\r
169\r
170Arguments:\r
171\r
172 None\r
173\r
174Returns:\r
175\r
176 TODO: add return values\r
177\r
178--*/\r
179;\r
180\r
181EFI_STATUS\r
182EFIAPI\r
183plUnloadDebugSupportDriver (\r
184 IN EFI_HANDLE ImageHandle\r
185 )\r
186/*++\r
187\r
188Routine Description:\r
189\r
190 TODO: Add function description\r
191\r
192Arguments:\r
193\r
194 ImageHandle - TODO: add argument description\r
195\r
196Returns:\r
197\r
198 TODO: add return values\r
199\r
200--*/\r
201;\r
202\r
203//\r
204// DebugSupport protocol member functions\r
205//\r
206EFI_STATUS\r
207EFIAPI\r
208GetMaximumProcessorIndex (\r
209 IN EFI_DEBUG_SUPPORT_PROTOCOL *This,\r
210 OUT UINTN *MaxProcessorIndex\r
211 )\r
212/*++\r
213\r
214Routine Description:\r
215\r
216 TODO: Add function description\r
217\r
218Arguments:\r
219\r
220 This - TODO: add argument description\r
221 MaxProcessorIndex - TODO: add argument description\r
222\r
223Returns:\r
224\r
225 TODO: add return values\r
226\r
227--*/\r
228;\r
229\r
230EFI_STATUS\r
231EFIAPI\r
232RegisterPeriodicCallback (\r
233 IN EFI_DEBUG_SUPPORT_PROTOCOL *This,\r
234 IN UINTN ProcessorIndex,\r
235 IN EFI_PERIODIC_CALLBACK PeriodicCallback\r
236 )\r
237/*++\r
238\r
239Routine Description:\r
240\r
241 TODO: Add function description\r
242\r
243Arguments:\r
244\r
245 This - TODO: add argument description\r
246 ProcessorIndex - TODO: add argument description\r
247 PeriodicCallback - TODO: add argument description\r
248\r
249Returns:\r
250\r
251 TODO: add return values\r
252\r
253--*/\r
254;\r
255\r
256EFI_STATUS\r
257EFIAPI\r
258RegisterExceptionCallback (\r
259 IN EFI_DEBUG_SUPPORT_PROTOCOL *This,\r
260 IN UINTN ProcessorIndex,\r
261 IN EFI_EXCEPTION_CALLBACK NewCallback,\r
262 IN EFI_EXCEPTION_TYPE ExceptionType\r
263 )\r
264/*++\r
265\r
266Routine Description:\r
267\r
268 TODO: Add function description\r
269\r
270Arguments:\r
271\r
272 This - TODO: add argument description\r
273 ProcessorIndex - TODO: add argument description\r
274 NewCallback - TODO: add argument description\r
275 ExceptionType - TODO: add argument description\r
276\r
277Returns:\r
278\r
279 TODO: add return values\r
280\r
281--*/\r
282;\r
283\r
284EFI_STATUS\r
285EFIAPI\r
286InvalidateInstructionCache (\r
287 IN EFI_DEBUG_SUPPORT_PROTOCOL *This,\r
288 IN UINTN ProcessorIndex,\r
289 IN VOID *Start,\r
290 IN UINT64 Length\r
291 )\r
292/*++\r
293\r
294Routine Description:\r
295\r
296 TODO: Add function description\r
297\r
298Arguments:\r
299\r
300 This - TODO: add argument description\r
301 ProcessorIndex - TODO: add argument description\r
302 Start - TODO: add argument description\r
303 Length - TODO: add argument description\r
304\r
305Returns:\r
306\r
307 TODO: add return values\r
308\r
309--*/\r
310;\r
311\r
312#endif\r