Intel Extensible Firmware Interface Network Router User Manual


  Open as PDF
of 1084
 
32/64-Bit UNDI Specification
Version 1.10 12/01/02 E-65
E.4.10.2 Waiting for the Command to Execute
Monitor the upper two bits (14 & 15) in the CDB.StatFlags field. Until these bits change to
report PXE_STATFLAGS_COMMAND_COMPLETE or PXE_STATFLAGS_COMMAND_FAILED,
the command has not been executed by the UNDI.
StatFlags Reason
COMMAND_COMPLETE Command completed successfully. Check StatFlags.
COMMAND_FAILED Command failed. StatCode field contains error code.
COMMAND_QUEUED Command has been queued.
INITIALIZE Command has been not executed or queued.
E.4.10.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. Check StatFlags.
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 was successful, the CDB.StatFlags field reports which external interrupt
enable types are currently set. Possible CDB.StatFlags bit settings are:
PXE_STATFLAGS_INTERRUPT_RECEIVE
PXE_STATFLAGS_INTERRUPT_TRANSMIT
PXE_STATFLAGS_INTERRUPT_COMMAND
The bits set in CDB.StatFlags may be different than those that were requested in
CDB.OpFlags. For example: If transmit and receive share an external interrupt line, setting
either the transmit or receive interrupt will always enable both transmit and receive interrupts. In
this case both transmit and receive interrupts will be reported in CDB.StatFlags. Always
expect to get more than you ask for!