1. Sync definition of EFI_DEBUG_IMAGE_INFO with UEFI spec
[mirror_edk2.git] / MdePkg / Include / Guid / DebugImageInfoTable.h
1 /** @file
2 GUID and related data structures used with the Debug Image Info Table.
3
4 Copyright (c) 2006, Intel Corporation
5 All rights reserved. This program and the accompanying materials
6 are licensed and made available under the terms and conditions of the BSD License
7 which accompanies this distribution. The full text of the license may be found at
8 http://opensource.org/licenses/bsd-license.php
9
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
12
13 Module Name: DebugImageInfoTable.h
14
15 @par Revision Reference:
16 GUID defined in UEFI 2.0 spec.
17
18 **/
19
20 #ifndef __DEBUG_IMAGE_INFO_GUID_H__
21 #define __DEBUG_IMAGE_INFO_GUID_H__
22
23 #define EFI_DEBUG_IMAGE_INFO_TABLE_GUID \
24 { \
25 0x49152e77, 0x1ada, 0x4764, {0xb7, 0xa2, 0x7a, 0xfe, 0xfe, 0xd9, 0x5e, 0x8b } \
26 }
27
28 extern EFI_GUID gEfiDebugImageInfoTableGuid;
29
30 #define EFI_DEBUG_IMAGE_INFO_UPDATE_IN_PROGRESS 0x01
31 #define EFI_DEBUG_IMAGE_INFO_TABLE_MODIFIED 0x02
32 #define EFI_DEBUG_IMAGE_INFO_INITIAL_SIZE (EFI_PAGE_SIZE / sizeof (UINTN))
33 #define EFI_DEBUG_IMAGE_INFO_TYPE_NORMAL 0x01
34
35 typedef struct {
36 UINT64 Signature;
37 EFI_PHYSICAL_ADDRESS EfiSystemTableBase;
38 UINT32 Crc32;
39 } EFI_SYSTEM_TABLE_POINTER;
40
41 typedef struct {
42 UINT32 ImageInfoType;
43 EFI_LOADED_IMAGE_PROTOCOL *LoadedImageProtocolInstance;
44 EFI_HANDLE ImageHandle;
45 } EFI_DEBUG_IMAGE_INFO_NORMAL;
46
47 typedef union {
48 UINT32 *ImageInfoType;
49 EFI_DEBUG_IMAGE_INFO_NORMAL *NormalImage;
50 } EFI_DEBUG_IMAGE_INFO;
51
52 typedef struct {
53 volatile UINT32 UpdateStatus;
54 UINT32 TableSize;
55 EFI_DEBUG_IMAGE_INFO *EfiDebugImageInfoTable;
56 } EFI_DEBUG_IMAGE_INFO_TABLE_HEADER;
57
58 #endif