E.4.16.3 checking command execution results – Intel Extensible Firmware Interface User Manual

Page 946

Advertising
background image

Extensible Firmware Interface Specification

E-80

12/01/02

Version 1.10

E.4.16.3

Checking Command Execution Results

After command execution completes, either successfully or not, the

CDB.StatCode

field

contains the result of the command execution.

StatCode Reason

SUCCESS

Command completed successfully. StatFlags and/or DB are updated.

INVALID_CDB

One of the CDB fields was not set correctly.

BUSY

UNDI is already processing commands. Try again later.

QUEUE_FULL

Command queue is full. Try again later.

NOT_STARTED

The UNDI is not started.

NOT_INITIALIZED

The UNDI is not initialized.

StatFlags

If the command completes successfully and the

PXE_OPFLAGS_GET_INTERRUPT_STATUS

OpFlag was set in the CDB, the current interrupt status is returned in the

CDB.StatFlags

field

and any pending interrupts will have been cleared.

PXE_STATFLAGS_GET_STATUS_RECEIVE

PXE_STATFLAGS_GET_STATUS_TRANSMIT

PXE_STATFLAGS_GET_STATUS_COMMAND

PXE_STATFLAGS_GET_STATUS_SOFTWARE

The StatFlags above may not map directly to external interrupt signals. For example: Some NICs
may combine both the receive and transmit interrupts to one external interrupt line. When a receive
and/or transmit interrupt occurs, use the Get Status to determine which type(s) of interrupt(s)
occurred.

This flag is set if the transmitted buffer queue is empty. This flag will be set if all transmitted
buffer addresses get written t into the DB.

PXE_STATFLAGS_GET_STATUS_TXBUF_QUEUE_EMPTY

This flag is set if no transmitted buffer addresses were written into the DB.

PXE_STATFLAGS_GET_STATUS_NO_TXBUFS_WRITTEN

Advertising