123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- /** @file
- PE/Coff Extra Action library instances, it will report image debug info.
- Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.<BR>
- SPDX-License-Identifier: BSD-2-Clause-Patent
- **/
- #ifndef _PE_COFF_EXTRA_ACTION_LIB_H_
- #define _PE_COFF_EXTRA_ACTION_LIB_H_
- #include <Base.h>
- #include <Library/PeCoffExtraActionLib.h>
- #include <Library/DebugLib.h>
- #include <Library/BaseLib.h>
- #include <Library/IoLib.h>
- #include <Library/PcdLib.h>
- #include <Library/BaseMemoryLib.h>
- #include <ImageDebugSupport.h>
- #define DEBUG_LOAD_IMAGE_METHOD_IO_HW_BREAKPOINT 1
- #define DEBUG_LOAD_IMAGE_METHOD_SOFT_INT3 2
- #define IO_HW_BREAKPOINT_VECTOR_NUM 1
- #define SOFT_INT_VECTOR_NUM 3
- extern UINTN AsmInterruptHandle;
- /**
- Read IDT entry to check if IDT entries are setup by Debug Agent.
- @param[in] IdtDescriptor Pointer to IDT Descriptor.
- @param[in] InterruptType Interrupt type.
- @retval TRUE IDT entries were setup by Debug Agent.
- @retval FALSE IDT entries were not setup by Debug Agent.
- **/
- BOOLEAN
- CheckDebugAgentHandler (
- IN IA32_DESCRIPTOR *IdtDescriptor,
- IN UINTN InterruptType
- );
- /**
- Save IDT entry for INT1 and update it.
- @param[in] IdtDescriptor Pointer to IDT Descriptor.
- @param[out] SavedIdtEntry Original IDT entry returned.
- **/
- VOID
- SaveAndUpdateIdtEntry1 (
- IN IA32_DESCRIPTOR *IdtDescriptor,
- OUT IA32_IDT_GATE_DESCRIPTOR *SavedIdtEntry
- );
- /**
- Restore IDT entry for INT1.
- @param[in] IdtDescriptor Pointer to IDT Descriptor.
- @param[in] RestoredIdtEntry IDT entry to be restored.
- **/
- VOID
- RestoreIdtEntry1 (
- IN IA32_DESCRIPTOR *IdtDescriptor,
- IN IA32_IDT_GATE_DESCRIPTOR *RestoredIdtEntry
- );
- #endif
|