beautypg.com

Intel Extensible Firmware Interface User Manual

Page 739

background image

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;