Intel Extensible Firmware Interface User Manual

Page 906

Advertising
background image

Extensible Firmware Interface Specification

E-40

12/01/02

Version 1.10

When the H/W UNDI is executing commands, the State bits in the Status field in the !PXE
structure will be set to Busy (3).

When H/W or S/W UNDI is executing commands and a new command is issued, a StatCode of

PXE_STATCODE_BUSY

and a StatFlag of

PXE_STATFLAG_COMMAND_FAILURE

is set in the

CDB. For linked commands, only the first CDB will be set to Busy, all other CDBs will be
unchanged. When a linked command fails, execution on the list stops. Commands after the failing
command will not be run.

As shown in Figure E-8, when queuing commands, only the first CDB needs to have the Queue
Control flag set. If queuing is supported and the UNDI is busy and there is room in the command
queue, the command (or list of commands) will be queued.

OM13189

Queued CDBs

0x00

0x1F
0x20

0x3F

Set Queue bit.
Set Link bit.

0x40

0x5F

Set Queue bit.
Set Link bit.

Set Queue bit.
Set Link bit.

CDB

CDB

CDB

Figure E-8. Queued CDBs

When a command is queued a StatFlag of

PXE_STATFLAG_COMMAND_QUEUED

is set (if linked

commands are queued only the StatFlag of the first CDB gets set). This signals that the command
was added to the queue. Commands in the queue will be run on a first-in, first-out, basis. When a
command fails, the next command in the queue is run. When a linked command in the queue fails,
execution on the list stops. The next command, or list of commands, that was added to the
command queue will be run.

Advertising