beautypg.com

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

background image

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.