DXE DEBUG DISPATCH PROTOCOL

From PhoenixWiki

Jump to: navigation, search

Debugger services for drivers

Contents

GUID

#define DXE_DEBUG_DISPATCH_PROTOCOL_GUID \
  { 0x301af449, 0xe0d7, 0x43a3, \
  { 0x8b, 0x1b, 0xbc, 0x16, 0x72, 0x5d, 0x37, 0x4b } }

Prototype

typedef struct _DXE_DEBUG_DISPATCH_PROTOCOL {
  DXE_DEBUG_TEST_POINT	TestPoint;
  DXE_DEBUG_TRACE_LOG     TraceLog;
  DXE_DEBUG_BREAK_POINT   BreakPoint;
  DXE_DEBUG_REPORT_MODULE ReportModule;
  DXE_DEBUG_REPORT_MODULE Reinitialize;
} DXE_DEBUG_DISPATCH_PROTOCOL;

Members

Member Description
TestPoint Send test point and break.
TraceLog Send text for display by the host.
BreakPoint Generate a break point.
ReportModule Report a module’s name and base address
ReInitialize Reinitialize the DXE debug driver.

Description

The DXE debug dispatch protocol is used by drivers to break and communicate with the host.

TestPoint()

Generate user break point.

Prototype

typedef
VOID
(EFIAPI *DXE_DEBUG_TEST_POINT)(
  IN DXE_DEBUG_DISPATCH_PROTOCOL *This
  IN UINTN                       Status
  ); 

Parameters

Parameter Description
This Points to this instance of the DXE_DEBUG_DISPATCH_PROTOCOL.
Status Value to send to the host.

Trace()

Send message to the Debug Host.

Prototype

typedef
VOID
(EFIAPI *DXE_DEBUG_TRACE)(
  IN DXE_DEBUG_DISPATCH_PROTOCOL *This
  IN CONST CHAR8                 *Message,
  IN CONST VOID                  *Arguments
  );

Parameters

Parameters Description
This Points to this instance of the DXE_DEBUG_DISPATCH_PROTOCOL.
Message A pointer to the format string.
Arguments Points to the arguments which will be used for the ‘%’ options within the format string.
Discussion Formats a message using the specified format string and displays it in the debugger. This follows standard vprintf-style rules, with the addition that %g will print a GUID from a pointer.

BreakPoint()

Generate user break point.

Prototype

typedef
VOID
(EFIAPI *DXE_DEBUG_BREAK_POINT)(
  IN DXE_DEBUG_DISPATCH_PROTOCOL *This
  ); 

Parameters

Parameter Description
This Points to this instance of the DXE_DEBUG_DISPATCH_PROTOCOL.

ReportModule()

Send module information to the host.

Prototype

typedef
VOID
(EFIAPI *DXE_DEBUG_REPORT_MODULE)(
  IN DXE_DEBUG_DISPATCH_PROTOCOL *This
  IN CONST CHAR8                 *ModuleName,
  IN EFI_PHYSICAL_ADDRESS        ImageAddress
  );

Parameters

Parameter Description
This Points to this instance of the DXE_DEBUG_DISPATCH_PROTOCOL.
ModuleName A pointer to the module file name string
ImageAddress Address of the module image in memory.

Reinitialize()

Reinitialize the debug driver.

Prototype

typedef
VOID
(EFIAPI *DXE_DEBUG_REINITIALIZE)(
  IN DXE_DEBUG_DISPATCH_PROTOCOL *This
  );

Parameters

Parameter Description
This Points to this instance of the DXE_DEBUG_DISPATCH_PROTOCOL.

Copyright (C) 2008 Phoenix Technologies Ltd. All Rights Reserved.

Personal tools