E.4.4 stop, Stop, E.4.4.1 issuing the command – Intel Extensible Firmware Interface User Manual
Page 914: E.4.4.2 waiting for the command to execute, E.4.4.3 checking command execution results
Extensible Firmware Interface Specification
E-48
12/01/02
Version 1.10
E.4.4 Stop
This command is used to change the UNDI operational state from started to stopped.
E.4.4.1
Issuing the Command
To issue a Stop command, create a CDB and fill it in as shows in the table below:
CDB Field
How to initialize the CDB structure for a Stop command
OpCode
PXE_OPCODE_STOP
OpFlags
PXE_OPFLAGS_NOT_USED
CPBsize
PXE_CPBSIZE_NOT_USED
DBsize
PXE_DBSIZE_NOT_USED
CPBaddr
PXE_CPBADDR_NOT_USED
DBaddr
PXE_DBADDR_NOT_USED
StatCode
PXE_STATCODE_INITIALIZE
StatFlags
PXE_STATFLAGS_INITIALIZE
IFnum
A valid interface number from zero to
!PXE.IFcnt
Control
Set as needed
E.4.4.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. UNDI is now stopped.
COMMAND_FAILED
Command failed. StatCode field contains error code.
COMMAND_QUEUED
Command has been queued.
INITIALIZE
Command has not been executed or queued.
E.4.4.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. UNDI is now stopped.
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_SHUTDOWN
The UNDI is initialized and must be shutdown before it can be stopped.