3 efi debugport protocol, 1 efi debugport overview – Intel Extensible Firmware Interface User Manual

Page 728

Advertising
background image

Extensible Firmware Interface Specification

16-14

12/01/02

Version 1.10

16.3 EFI Debugport Protocol

This section defines the EFI Debugport protocol. This protocol is used by debug agent to
communicate with the remote debug host.

16.3.1 EFI

Debugport

Overview

Historically, remote debugging has typically been done using a standard UART serial port to
connect the host and target. This is obviously not possible in a legacy reduced system that does not
have a UART. The Debugport protocol solves this problem by providing an abstraction that can
support many different types of debugport hardware. The debug agent should use this abstraction
to communicate with the host.

The interface is minimal with only reset, read, and write abstractions. Since these functions are
called in interrupt context, none of them may call any EFI services or other protocol interfaces.

Debugport selection and configuration is handled by setting defaults via an environment variable
which contains a full device path to the debug port. This environment variable is used during the
debugport driver’s initialization to configure the debugport correctly. The variable contains a full
device path to the debugport, with the last node (prior to the terminal node) being a debugport
messaging node. See section 16.3.2 for details.

The driver must also produce an instance of the EFI Device Path protocol to indicate what hardware
is being used for the debugport. This may be used by the OS to maintain the debugport across a
call to

ExitBootServices()

.

Advertising