VirtualBox

source: vbox/trunk/src/VBox/Devices/EFI/FirmwareNew/SourceLevelDebugPkg/Library/PeCoffExtraActionLibDebug/PeCoffExtraActionLib.h@ 80721

Last change on this file since 80721 was 80721, checked in by vboxsync, 5 years ago

Devices/EFI/FirmwareNew: Start upgrade process to edk2-stable201908 (compiles on Windows and works to some extent), bugref:4643

  • Property svn:eol-style set to native
File size: 1.8 KB
Line 
1/** @file
2 PE/Coff Extra Action library instances, it will report image debug info.
3
4 Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.<BR>
5 SPDX-License-Identifier: BSD-2-Clause-Patent
6
7**/
8
9#ifndef _PE_COFF_EXTRA_ACTION_LIB_H_
10#define _PE_COFF_EXTRA_ACTION_LIB_H_
11
12#include <Base.h>
13#include <Library/PeCoffExtraActionLib.h>
14#include <Library/DebugLib.h>
15#include <Library/BaseLib.h>
16#include <Library/IoLib.h>
17#include <Library/PcdLib.h>
18#include <Library/BaseMemoryLib.h>
19
20#include <ImageDebugSupport.h>
21
22#define DEBUG_LOAD_IMAGE_METHOD_IO_HW_BREAKPOINT 1
23#define DEBUG_LOAD_IMAGE_METHOD_SOFT_INT3 2
24
25#define IO_HW_BREAKPOINT_VECTOR_NUM 1
26#define SOFT_INT_VECTOR_NUM 3
27
28extern UINTN AsmInterruptHandle;
29
30/**
31 Read IDT entry to check if IDT entries are setup by Debug Agent.
32
33 @param[in] IdtDescriptor Pointer to IDT Descriptor.
34 @param[in] InterruptType Interrupt type.
35
36 @retval TRUE IDT entries were setup by Debug Agent.
37 @retval FALSE IDT entries were not setuo by Debug Agent.
38
39**/
40BOOLEAN
41CheckDebugAgentHandler (
42 IN IA32_DESCRIPTOR *IdtDescriptor,
43 IN UINTN InterruptType
44 );
45
46/**
47 Save IDT entry for INT1 and update it.
48
49 @param[in] IdtDescriptor Pointer to IDT Descriptor.
50 @param[out] SavedIdtEntry Original IDT entry returned.
51
52**/
53VOID
54SaveAndUpdateIdtEntry1 (
55 IN IA32_DESCRIPTOR *IdtDescriptor,
56 OUT IA32_IDT_GATE_DESCRIPTOR *SavedIdtEntry
57 );
58
59/**
60 Restore IDT entry for INT1.
61
62 @param[in] IdtDescriptor Pointer to IDT Descriptor.
63 @param[in] RestoredIdtEntry IDT entry to be restored.
64
65**/
66VOID
67RestoreIdtEntry1 (
68 IN IA32_DESCRIPTOR *IdtDescriptor,
69 IN IA32_IDT_GATE_DESCRIPTOR *RestoredIdtEntry
70 );
71
72#endif
73
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette