beautypg.com

E.4 undi commands, Undi interface – Intel Extensible Firmware Interface User Manual

Page 904

background image

Extensible Firmware Interface Specification

E-38

12/01/02

Version 1.10

E.4 UNDI Commands

All 32/64-bit UNDI commands use the same basic command format, the CDB (Command
Descriptor Block). CDB fields that are not used by a particular command must be initialized to
zero by the application/driver that is issuing the command.

All UNDI implementations must set the command completion status
(

PXE_STATFLAGS_COMMAND_COMPLETE

) after command execution completes. Applications

and drivers must not alter or rely on the contents of any of the CDB, CPB or DB fields until the
command completion status is set.

All commands return status codes for invalid CDB contents and, if used, invalid CPB contents.
Commands with invalid parameters will not execute. Fix the error and submit the command again.

Figure E-6 describes the different UNDI states (Stopped, Started and Initialized), shows the
transitions between the states and which UNDI commands are valid in each state.

OM13187

Stopped

Started

Initialized

Valid Commands

Get State
Start

Valid Commands

Get State
Stop
Get Init Info
Initialize
MCast IP To MAC

Valid Commands

Get State
Get Init Info
Reset
Shutdown
Get Runtime Info
Set Runtime Info
Get Status
Fill Header
Transmit
Receive
MCast IP To MAC

Stop

Start

Shutdown

Initialize

Figure E-6. UNDI States, Transitions & Valid Commands

NOTE

All memory addresses including the CDB address, CPB address, and the DB address submitted to
the S/W UNDI by the protocol drivers must be processor-based addresses. All memory addresses
submitted to the H/W UNDI must be device based addresses.