3 efi debugport variable – Intel Extensible Firmware Interface User Manual

Page 735

Advertising
background image

Protocols

— Debugger Support

Version 1.10

12/01/02

16-21

16.3.3 EFI

Debugport

Variable

Even though there may be more than one hardware device that could function as a debugport in a
system, only one debugport may be active at a time. The DEBUGPORT variable is used to declare
which hardware device will act as the debugport, and what communication parameters it should
assume.

Like all EFI variables, the DEBUGPORT variable has both a name and a GUID. The name is
“DEBUGPORT.” The GUID is the same as the

EFI_DEBUGPORT_PROTOCOL_GUID

:

#define EFI_DEBUGPORT_VARIABLE_NAME L"DEBUGPORT"
#define EFI_DEBUGPORT_VARIABLE_GUID EFI_DEBUGPORT_PROTOCOL_GUID

The data contained by the DEBUGPORT variable is a fully qualified debugport device path (see
Section 16.3.2).

The desired communication parameters for the debugport are declared in the DEBUGPORT
variable. The debugport driver must read this variable during initialization to determine how to
configure the debug port.

To reduce the required complexity of the debugport driver, the debugport driver is not required to
support all possible combinations of communication parameters. What combinations of parameters
are possible is implementation specific.

Additionally debugport drivers implemented for PNP0501 devices, that is debugport devices with a
PNP0501 ACPI node in the device path, must support the following defaults. These defaults must
be used in the absence of a DEBUGPORT variable, or when the communication parameters
specified in the DEBUGPORT variable are not supported by the driver.
• Baud : 115200
• 8 data bits
• No parity
• 1 stop bit
• No flow control (See Appendix A for flow control details)
In the absence of the DEBUGPORT variable, the selection of which port to use as the debug port is
implementation specific.

Future revisions of this specification may define new defaults for other debugport types.

The debugport device path must be constructed to reflect the actual settings for the debugport. Any
code needing to know the state of the debug port must reference the device path rather than the
DEBUGPORT variable, since the debugport may have assumed a default setting in spite of the
existence of the DEBUGPORT variable.

If it is not possible to configure the debug port using either the settings declared in the
DEBUGPORT variable or the default settings for the particular debugport type, the driver
initialization must not install any protocol interfaces and must exit with an error.

Advertising