3 Copyright (c) 2006, Intel Corporation
4 All rights reserved. This program and the accompanying materials
5 are licensed and made available under the terms and conditions of the BSD License
6 which accompanies this distribution. The full text of the license may be found at
7 http://opensource.org/licenses/bsd-license.php
9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
18 IA32 specific debug support macros, typedefs and prototypes.
24 #ifndef _PLDEBUG_SUPPORT_H
25 #define _PLDEBUG_SUPPORT_H
27 #define NUM_IDT_ENTRIES 0x78
28 #define SYSTEM_TIMER_VECTOR 0x68
29 #define VECTOR_ENTRY_PAGES 1
30 #define CopyDescriptor(Dest, Src) CopyMem ((Dest), (Src), sizeof (DESCRIPTOR))
31 #define ZeroDescriptor(Dest) CopyDescriptor ((Dest), &NullDesc)
32 #define ReadIdt(Vector, Dest) CopyDescriptor ((Dest), &((GetIdtr ())[(Vector)]))
33 #define WriteIdt(Vector, Src) CopyDescriptor (&((GetIdtr ())[(Vector)]), (Src))
34 #define CompareDescriptor(Desc1, Desc2) CompareMem ((Desc1), (Desc2), sizeof (DESCRIPTOR))
35 #define EFI_ISA IsaIa32
36 #define FF_FXSR (1 << 24)
38 typedef UINT64 DESCRIPTOR
;
42 VOID (*OrigVector
) (VOID
);
44 VOID (*StubEntry
) (VOID
);
45 VOID (*RegisteredCallback
) ();
48 extern EFI_SYSTEM_CONTEXT SystemContext
;
49 extern UINT8 InterruptEntryStub
[];
50 extern UINT32 StubSize
;
51 extern VOID (*OrigVector
) (VOID
);
61 TODO: Add function description
69 TODO: add return values
82 TODO: Add function description
90 TODO: add return values
103 TODO: Add function description
111 TODO: add return values
118 DESCRIPTOR
* DestDesc
,
119 VOID (*Vector
) (VOID
)
125 TODO: Add function description
129 DestDesc - TODO: add argument description
130 ) - TODO: add argument description
134 TODO: add return values
147 TODO: Add function description
151 NewState - TODO: add argument description
155 TODO: add return values
161 plInitializeDebugSupportDriver (
168 TODO: Add function description
176 TODO: add return values
183 plUnloadDebugSupportDriver (
184 IN EFI_HANDLE ImageHandle
190 TODO: Add function description
194 ImageHandle - TODO: add argument description
198 TODO: add return values
204 // DebugSupport protocol member functions
208 GetMaximumProcessorIndex (
209 IN EFI_DEBUG_SUPPORT_PROTOCOL
*This
,
210 OUT UINTN
*MaxProcessorIndex
216 TODO: Add function description
220 This - TODO: add argument description
221 MaxProcessorIndex - TODO: add argument description
225 TODO: add return values
232 RegisterPeriodicCallback (
233 IN EFI_DEBUG_SUPPORT_PROTOCOL
*This
,
234 IN UINTN ProcessorIndex
,
235 IN EFI_PERIODIC_CALLBACK PeriodicCallback
241 TODO: Add function description
245 This - TODO: add argument description
246 ProcessorIndex - TODO: add argument description
247 PeriodicCallback - TODO: add argument description
251 TODO: add return values
258 RegisterExceptionCallback (
259 IN EFI_DEBUG_SUPPORT_PROTOCOL
*This
,
260 IN UINTN ProcessorIndex
,
261 IN EFI_EXCEPTION_CALLBACK NewCallback
,
262 IN EFI_EXCEPTION_TYPE ExceptionType
268 TODO: Add function description
272 This - TODO: add argument description
273 ProcessorIndex - TODO: add argument description
274 NewCallback - TODO: add argument description
275 ExceptionType - TODO: add argument description
279 TODO: add return values
286 InvalidateInstructionCache (
287 IN EFI_DEBUG_SUPPORT_PROTOCOL
*This
,
288 IN UINTN ProcessorIndex
,
296 TODO: Add function description
300 This - TODO: add argument description
301 ProcessorIndex - TODO: add argument description
302 Start - TODO: add argument description
303 Length - TODO: add argument description
307 TODO: add return values