]> git.proxmox.com Git - mirror_edk2.git/blame - MdePkg/Include/Guid/DebugImageInfoTable.h
Clarify some definitions in HII Configure Routine Protocol
[mirror_edk2.git] / MdePkg / Include / Guid / DebugImageInfoTable.h
CommitLineData
c2f83f0a 1/** @file\r
2 GUID and related data structures used with the Debug Image Info Table.\r
3\r
373ade0e 4 Copyright (c) 2006 - 2008, Intel Corporation \r
c2f83f0a 5 All rights reserved. This program and the accompanying materials \r
6 are licensed and made available under the terms and conditions of the BSD License \r
7 which accompanies this distribution. The full text of the license may be found at \r
8 http://opensource.org/licenses/bsd-license.php \r
9\r
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
12\r
c2f83f0a 13 @par Revision Reference:\r
14 GUID defined in UEFI 2.0 spec.\r
15\r
16**/\r
17\r
18#ifndef __DEBUG_IMAGE_INFO_GUID_H__\r
19#define __DEBUG_IMAGE_INFO_GUID_H__\r
20\r
21#include <Protocol/LoadedImage.h>\r
22\r
25cfda03
LG
23///\r
24/// EFI_DEBUG_IMAGE_INFO_TABLE configuration table GUID declaration.\r
25///\r
c2f83f0a 26#define EFI_DEBUG_IMAGE_INFO_TABLE_GUID \\r
27 { \\r
28 0x49152e77, 0x1ada, 0x4764, {0xb7, 0xa2, 0x7a, 0xfe, 0xfe, 0xd9, 0x5e, 0x8b } \\r
29 }\r
30\r
31#define EFI_DEBUG_IMAGE_INFO_UPDATE_IN_PROGRESS 0x01\r
32#define EFI_DEBUG_IMAGE_INFO_TABLE_MODIFIED 0x02\r
2358368c 33\r
c2f83f0a 34#define EFI_DEBUG_IMAGE_INFO_TYPE_NORMAL 0x01\r
35\r
36typedef struct {\r
992f22b9
LG
37 UINT64 Signature; ///< A constant UINT64 that has the value EFI_SYSTEM_TABLE_SIGNATURE\r
38 EFI_PHYSICAL_ADDRESS EfiSystemTableBase; ///< The physical address of the EFI system table. \r
39 UINT32 Crc32; ///< A 32-bit CRC value that is used to verify the EFI_SYSTEM_TABLE_POINTER structure is valid.\r
c2f83f0a 40} EFI_SYSTEM_TABLE_POINTER;\r
41\r
42typedef struct {\r
25cfda03
LG
43 ///\r
44 /// Indicates the type of image info structure. For PE32 EFI images,\r
45 /// this is set to EFI_DEBUG_IMAGE_INFO_TYPE_NORMAL.\r
46 ///\r
c2f83f0a 47 UINT32 ImageInfoType;\r
25cfda03
LG
48 ///\r
49 /// A pointer to an instance of the loaded image protocol for the associated image.\r
50 ///\r
c2f83f0a 51 EFI_LOADED_IMAGE_PROTOCOL *LoadedImageProtocolInstance;\r
25cfda03
LG
52 ///\r
53 /// Indicates the image handle of the associated image.\r
54 ///\r
c2f83f0a 55 EFI_HANDLE ImageHandle;\r
56} EFI_DEBUG_IMAGE_INFO_NORMAL;\r
57\r
58typedef union {\r
59 UINT32 *ImageInfoType;\r
60 EFI_DEBUG_IMAGE_INFO_NORMAL *NormalImage;\r
61} EFI_DEBUG_IMAGE_INFO;\r
62\r
63typedef struct {\r
25cfda03
LG
64 ///\r
65 /// UpdateStatus is used by the system to indicate the state of the debug image info table.\r
66 ///\r
c2f83f0a 67 volatile UINT32 UpdateStatus;\r
25cfda03
LG
68 ///\r
69 /// The number of EFI_DEBUG_IMAGE_INFO elements in the array pointed to by EfiDebugImageInfoTable.\r
70 ///\r
c2f83f0a 71 UINT32 TableSize;\r
25cfda03
LG
72 ///\r
73 /// A pointer to the first element of an array of EFI_DEBUG_IMAGE_INFO structures.\r
74 ///\r
c2f83f0a 75 EFI_DEBUG_IMAGE_INFO *EfiDebugImageInfoTable;\r
76} EFI_DEBUG_IMAGE_INFO_TABLE_HEADER;\r
77\r
c2f83f0a 78extern EFI_GUID gEfiDebugImageInfoTableGuid;\r
79\r
80#endif\r