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

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