From c1252c5ee0864f219e3baf6d317f010d91ad192f Mon Sep 17 00:00:00 2001 From: vanjeff Date: Tue, 4 Nov 2008 06:06:47 +0000 Subject: Renamed remotely git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6365 6f19259b-4bc3-4df7-8a09-765794883524 --- .../DebugSupportDxe/Ia32/PlDebugSupport.h | 332 +++++++++++++++++++++ .../DebugSupportDxe/Ia32/plDebugSupport.h | 332 --------------------- 2 files changed, 332 insertions(+), 332 deletions(-) create mode 100644 MdeModulePkg/Universal/DebugSupportDxe/Ia32/PlDebugSupport.h delete mode 100644 MdeModulePkg/Universal/DebugSupportDxe/Ia32/plDebugSupport.h (limited to 'MdeModulePkg/Universal/DebugSupportDxe') diff --git a/MdeModulePkg/Universal/DebugSupportDxe/Ia32/PlDebugSupport.h b/MdeModulePkg/Universal/DebugSupportDxe/Ia32/PlDebugSupport.h new file mode 100644 index 0000000000..0fa93de100 --- /dev/null +++ b/MdeModulePkg/Universal/DebugSupportDxe/Ia32/PlDebugSupport.h @@ -0,0 +1,332 @@ +/**@file + IA32 specific debug support macros, typedefs and prototypes. + +Copyright (c) 2006, Intel Corporation +All rights reserved. This program and the accompanying materials +are licensed and made available under the terms and conditions of the BSD License +which accompanies this distribution. The full text of the license may be found at +http://opensource.org/licenses/bsd-license.php + +THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. + +**/ + +#ifndef _PLDEBUG_SUPPORT_H +#define _PLDEBUG_SUPPORT_H + + +#include + +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +#define NUM_IDT_ENTRIES 0x78 +#define SYSTEM_TIMER_VECTOR 0x68 +#define VECTOR_ENTRY_PAGES 1 +#define CopyDescriptor(Dest, Src) CopyMem ((Dest), (Src), sizeof (DESCRIPTOR)) +#define ZeroDescriptor(Dest) CopyDescriptor ((Dest), &NullDesc) +#define ReadIdt(Vector, Dest) CopyDescriptor ((Dest), &((GetIdtr ())[(Vector)])) +#define WriteIdt(Vector, Src) CopyDescriptor (&((GetIdtr ())[(Vector)]), (Src)) +#define CompareDescriptor(Desc1, Desc2) CompareMem ((Desc1), (Desc2), sizeof (DESCRIPTOR)) +#define EFI_ISA IsaIa32 +#define FF_FXSR (1 << 24) + +typedef UINT64 DESCRIPTOR; + +typedef +VOID +(*DEBUG_PROC) ( + VOID + ); + +typedef struct { + DESCRIPTOR OrigDesc; + DEBUG_PROC OrigVector; + DESCRIPTOR NewDesc; + DEBUG_PROC StubEntry; + VOID (*RegisteredCallback) (); +} IDT_ENTRY; + +extern EFI_SYSTEM_CONTEXT SystemContext; +extern UINT8 InterruptEntryStub[]; +extern UINT32 StubSize; +extern VOID (*OrigVector) (VOID); + +VOID +CommonIdtEntry ( + VOID + ) +/*++ + +Routine Description: + + Generic IDT entry + +Arguments: + + None + +Returns: + + None + +--*/ +; + + +BOOLEAN +FxStorSupport ( + VOID + ) +/*++ + +Routine Description: + + Check whether FXSTOR is supported + +Arguments: + + None + +Returns: + + TRUE - supported + FALSE - not supported + +--*/ +; + +DESCRIPTOR * +GetIdtr ( + VOID + ) +/*++ + +Routine Description: + + Return the physical address of IDTR + +Arguments: + + None + +Returns: + + The physical address of IDTR + +--*/ +; + +VOID +Vect2Desc ( + DESCRIPTOR * DestDesc, + VOID (*Vector) (VOID) + ) +/*++ + +Routine Description: + + Encodes an IDT descriptor with the given physical address + +Arguments: + + DestDesc - The IDT descriptor address + Vector - The interrupt vector entry + +Returns: + + None + +--*/ +; + +BOOLEAN +WriteInterruptFlag ( + BOOLEAN NewState + ) +/*++ + +Routine Description: + + Programs interrupt flag to the requested state and returns previous + state. + +Arguments: + + NewState - New interrupt status + +Returns: + + Old interrupt status + +--*/ +; + +EFI_STATUS +plInitializeDebugSupportDriver ( + VOID + ) +/*++ + +Routine Description: + Initializes driver's handler registration database. + + This code executes in boot services context. + +Arguments: + None + +Returns: + EFI_SUCCESS + EFI_UNSUPPORTED - if IA32 processor does not support FXSTOR/FXRSTOR instructions, + the context save will fail, so these processor's are not supported. + EFI_OUT_OF_RESOURCES - not resource to finish initialization + +--*/ +; + +EFI_STATUS +EFIAPI +plUnloadDebugSupportDriver ( + IN EFI_HANDLE ImageHandle + ) +/*++ + +Routine Description: + This is the callback that is written to the LoadedImage protocol instance + on the image handle. It uninstalls all registered handlers and frees all entry + stub memory. + + This code executes in boot services context. + +Arguments: + ImageHandle - The image handle of the unload handler + +Returns: + + EFI_SUCCESS - always return success + +--*/ +; + +// +// DebugSupport protocol member functions +// +EFI_STATUS +EFIAPI +GetMaximumProcessorIndex ( + IN EFI_DEBUG_SUPPORT_PROTOCOL *This, + OUT UINTN *MaxProcessorIndex + ) +/*++ + +Routine Description: This is a DebugSupport protocol member function. + +Arguments: + This - The DebugSupport instance + MaxProcessorIndex - The maximuim supported processor index + +Returns: + Always returns EFI_SUCCESS with *MaxProcessorIndex set to 0 + +--*/ +; + +EFI_STATUS +EFIAPI +RegisterPeriodicCallback ( + IN EFI_DEBUG_SUPPORT_PROTOCOL *This, + IN UINTN ProcessorIndex, + IN EFI_PERIODIC_CALLBACK PeriodicCallback + ) +/*++ + +Routine Description: This is a DebugSupport protocol member function. + +Arguments: + This - The DebugSupport instance + ProcessorIndex - Which processor the callback applies to. + PeriodicCallback - Callback function + +Returns: + + EFI_SUCCESS + EFI_INVALID_PARAMETER - requested uninstalling a handler from a vector that has + no handler registered for it + EFI_ALREADY_STARTED - requested install to a vector that already has a handler registered. + + Other possible return values are passed through from UnHookEntry and HookEntry. + +--*/ +; + +EFI_STATUS +EFIAPI +RegisterExceptionCallback ( + IN EFI_DEBUG_SUPPORT_PROTOCOL *This, + IN UINTN ProcessorIndex, + IN EFI_EXCEPTION_CALLBACK NewCallback, + IN EFI_EXCEPTION_TYPE ExceptionType + ) +/*++ + +Routine Description: + This is a DebugSupport protocol member function. + + This code executes in boot services context. + +Arguments: + This - The DebugSupport instance + ProcessorIndex - Which processor the callback applies to. + NewCallback - Callback function + ExceptionType - Which exception to hook + +Returns: + + EFI_SUCCESS + EFI_INVALID_PARAMETER - requested uninstalling a handler from a vector that has + no handler registered for it + EFI_ALREADY_STARTED - requested install to a vector that already has a handler registered. + + Other possible return values are passed through from UnHookEntry and HookEntry. + +--*/ +; + +EFI_STATUS +EFIAPI +InvalidateInstructionCache ( + IN EFI_DEBUG_SUPPORT_PROTOCOL *This, + IN UINTN ProcessorIndex, + IN VOID *Start, + IN UINT64 Length + ) +/*++ + +Routine Description: + This is a DebugSupport protocol member function. + Calls assembly routine to flush cache. + +Arguments: + This - The DebugSupport instance + ProcessorIndex - Which processor the callback applies to. + Start - Physical base of the memory range to be invalidated + Length - mininum number of bytes in instruction cache to invalidate + +Returns: + + EFI_SUCCESS - always return success + +--*/ +; + +#endif diff --git a/MdeModulePkg/Universal/DebugSupportDxe/Ia32/plDebugSupport.h b/MdeModulePkg/Universal/DebugSupportDxe/Ia32/plDebugSupport.h deleted file mode 100644 index 0fa93de100..0000000000 --- a/MdeModulePkg/Universal/DebugSupportDxe/Ia32/plDebugSupport.h +++ /dev/null @@ -1,332 +0,0 @@ -/**@file - IA32 specific debug support macros, typedefs and prototypes. - -Copyright (c) 2006, Intel Corporation -All rights reserved. This program and the accompanying materials -are licensed and made available under the terms and conditions of the BSD License -which accompanies this distribution. The full text of the license may be found at -http://opensource.org/licenses/bsd-license.php - -THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. - -**/ - -#ifndef _PLDEBUG_SUPPORT_H -#define _PLDEBUG_SUPPORT_H - - -#include - -#include -#include - -#include -#include -#include -#include -#include -#include -#include - -#define NUM_IDT_ENTRIES 0x78 -#define SYSTEM_TIMER_VECTOR 0x68 -#define VECTOR_ENTRY_PAGES 1 -#define CopyDescriptor(Dest, Src) CopyMem ((Dest), (Src), sizeof (DESCRIPTOR)) -#define ZeroDescriptor(Dest) CopyDescriptor ((Dest), &NullDesc) -#define ReadIdt(Vector, Dest) CopyDescriptor ((Dest), &((GetIdtr ())[(Vector)])) -#define WriteIdt(Vector, Src) CopyDescriptor (&((GetIdtr ())[(Vector)]), (Src)) -#define CompareDescriptor(Desc1, Desc2) CompareMem ((Desc1), (Desc2), sizeof (DESCRIPTOR)) -#define EFI_ISA IsaIa32 -#define FF_FXSR (1 << 24) - -typedef UINT64 DESCRIPTOR; - -typedef -VOID -(*DEBUG_PROC) ( - VOID - ); - -typedef struct { - DESCRIPTOR OrigDesc; - DEBUG_PROC OrigVector; - DESCRIPTOR NewDesc; - DEBUG_PROC StubEntry; - VOID (*RegisteredCallback) (); -} IDT_ENTRY; - -extern EFI_SYSTEM_CONTEXT SystemContext; -extern UINT8 InterruptEntryStub[]; -extern UINT32 StubSize; -extern VOID (*OrigVector) (VOID); - -VOID -CommonIdtEntry ( - VOID - ) -/*++ - -Routine Description: - - Generic IDT entry - -Arguments: - - None - -Returns: - - None - ---*/ -; - - -BOOLEAN -FxStorSupport ( - VOID - ) -/*++ - -Routine Description: - - Check whether FXSTOR is supported - -Arguments: - - None - -Returns: - - TRUE - supported - FALSE - not supported - ---*/ -; - -DESCRIPTOR * -GetIdtr ( - VOID - ) -/*++ - -Routine Description: - - Return the physical address of IDTR - -Arguments: - - None - -Returns: - - The physical address of IDTR - ---*/ -; - -VOID -Vect2Desc ( - DESCRIPTOR * DestDesc, - VOID (*Vector) (VOID) - ) -/*++ - -Routine Description: - - Encodes an IDT descriptor with the given physical address - -Arguments: - - DestDesc - The IDT descriptor address - Vector - The interrupt vector entry - -Returns: - - None - ---*/ -; - -BOOLEAN -WriteInterruptFlag ( - BOOLEAN NewState - ) -/*++ - -Routine Description: - - Programs interrupt flag to the requested state and returns previous - state. - -Arguments: - - NewState - New interrupt status - -Returns: - - Old interrupt status - ---*/ -; - -EFI_STATUS -plInitializeDebugSupportDriver ( - VOID - ) -/*++ - -Routine Description: - Initializes driver's handler registration database. - - This code executes in boot services context. - -Arguments: - None - -Returns: - EFI_SUCCESS - EFI_UNSUPPORTED - if IA32 processor does not support FXSTOR/FXRSTOR instructions, - the context save will fail, so these processor's are not supported. - EFI_OUT_OF_RESOURCES - not resource to finish initialization - ---*/ -; - -EFI_STATUS -EFIAPI -plUnloadDebugSupportDriver ( - IN EFI_HANDLE ImageHandle - ) -/*++ - -Routine Description: - This is the callback that is written to the LoadedImage protocol instance - on the image handle. It uninstalls all registered handlers and frees all entry - stub memory. - - This code executes in boot services context. - -Arguments: - ImageHandle - The image handle of the unload handler - -Returns: - - EFI_SUCCESS - always return success - ---*/ -; - -// -// DebugSupport protocol member functions -// -EFI_STATUS -EFIAPI -GetMaximumProcessorIndex ( - IN EFI_DEBUG_SUPPORT_PROTOCOL *This, - OUT UINTN *MaxProcessorIndex - ) -/*++ - -Routine Description: This is a DebugSupport protocol member function. - -Arguments: - This - The DebugSupport instance - MaxProcessorIndex - The maximuim supported processor index - -Returns: - Always returns EFI_SUCCESS with *MaxProcessorIndex set to 0 - ---*/ -; - -EFI_STATUS -EFIAPI -RegisterPeriodicCallback ( - IN EFI_DEBUG_SUPPORT_PROTOCOL *This, - IN UINTN ProcessorIndex, - IN EFI_PERIODIC_CALLBACK PeriodicCallback - ) -/*++ - -Routine Description: This is a DebugSupport protocol member function. - -Arguments: - This - The DebugSupport instance - ProcessorIndex - Which processor the callback applies to. - PeriodicCallback - Callback function - -Returns: - - EFI_SUCCESS - EFI_INVALID_PARAMETER - requested uninstalling a handler from a vector that has - no handler registered for it - EFI_ALREADY_STARTED - requested install to a vector that already has a handler registered. - - Other possible return values are passed through from UnHookEntry and HookEntry. - ---*/ -; - -EFI_STATUS -EFIAPI -RegisterExceptionCallback ( - IN EFI_DEBUG_SUPPORT_PROTOCOL *This, - IN UINTN ProcessorIndex, - IN EFI_EXCEPTION_CALLBACK NewCallback, - IN EFI_EXCEPTION_TYPE ExceptionType - ) -/*++ - -Routine Description: - This is a DebugSupport protocol member function. - - This code executes in boot services context. - -Arguments: - This - The DebugSupport instance - ProcessorIndex - Which processor the callback applies to. - NewCallback - Callback function - ExceptionType - Which exception to hook - -Returns: - - EFI_SUCCESS - EFI_INVALID_PARAMETER - requested uninstalling a handler from a vector that has - no handler registered for it - EFI_ALREADY_STARTED - requested install to a vector that already has a handler registered. - - Other possible return values are passed through from UnHookEntry and HookEntry. - ---*/ -; - -EFI_STATUS -EFIAPI -InvalidateInstructionCache ( - IN EFI_DEBUG_SUPPORT_PROTOCOL *This, - IN UINTN ProcessorIndex, - IN VOID *Start, - IN UINT64 Length - ) -/*++ - -Routine Description: - This is a DebugSupport protocol member function. - Calls assembly routine to flush cache. - -Arguments: - This - The DebugSupport instance - ProcessorIndex - Which processor the callback applies to. - Start - Physical base of the memory range to be invalidated - Length - mininum number of bytes in instruction cache to invalidate - -Returns: - - EFI_SUCCESS - always return success - ---*/ -; - -#endif -- cgit v1.2.3