Intel Extensible Firmware Interface User Manual
Page 739

Protocols
— Debugger Support
Version 1.10
12/01/02
16-25
//
// UpdateStatus bits
//
#define EFI_DEBUG_IMAGE_INFO_UPDATE_IN_PROGRESS 0x01
#define EFI_DEBUG_IMAGE_INFO_TABLE_MODIFIED
0x02
typedef struct {
volatile UINT32
UpdateStatus;
UINT32
TableSize;
EFI_DEBUG_IMAGE_INFO
*EfiDebugImageInfoTable;
} EFI_DEBUG_IMAGE_INFO_TABLE_HEADER;
UpdateStatus
UpdateStatus
is used by the system to indicate the state of
the debug image info table.
The
EFI_DEBUG_IMAGE_INFO_UPDATE_IN_PROGRESS
bit must be set when the table is being modified. Software
consuming the table must qualify the access to the table with
this bit.
The
EFI_DEBUG_IMAGE_INFO_TABLE_MODIFIED
bit is
always set by software that modifies the table. It may be cleared
by software that consumes the table once the entire table has
been read. It is essentially a sticky version of the
EFI_DEBUG_IMAGE_INFO_UPDATE_IN_PROGRESS
bit
and is intended to provide an efficient mechanism to minimize
the number of times the table must be scanned by the consumer.
TableSize
The number of
EFI_DEBUG_IMAGE_INFO
elements in the
array pointed to by
EfiDebugImageInfoTable
.
EfiDebugImageInfoTable
A pointer to the first element of an array of
EFI_DEBUG_IMAGE_INFO
structures.
#define EFI_DEBUG_IMAGE_INFO_TYPE_NORMAL 0x01
typdef union {
UINT32
*ImageInfoType;
EFI_DEBUG_IMAGE_INFO_NORMAL
*NormalImage;
} EFI_DEBUG_IMAGE_INFO;
typedef struct {
UINT32
ImageInfoType;
EFI_LOADED_IMAGE_PROTOCOL
*LoadedImageProtocolInstance;
EFI_HANDLE
ImageHandle;
} EFI_DEBUG_IMAGE_INFO_NORMAL;