E.4.7 initialize, Initialize, E.4.7.1 issuing the command – Intel Extensible Firmware Interface User Manual

Page 922

Advertising
background image

Extensible Firmware Interface Specification

E-56

12/01/02

Version 1.10

E.4.7 Initialize

This command resets the network adapter and initializes UNDI using the parameters supplied in the
CPB. The Initialize command must be issued before the network adapter can be setup to transmit
and receive packets. This command will not enable the receive unit or external interrupts.

Once the memory requirements of the UNDI are obtained by using the Get Init Info command, a
block of kernel (nonswappable) memory may need to be allocated by the protocol driver. The
address of this kernel memory must be passed to UNDI using the Initialize command CPB. This
memory is used for transmit and receive buffers and internal processing.

Initializing the network device will take up to four seconds for most network devices and in some
extreme cases (usually poor cables) up to twenty seconds. Control will not be returned to the caller
and the

COMMAND_COMPLETE

status flag will not be set until the NIC is ready to transmit.

E.4.7.1

Issuing the Command

To issue an Initialize command, create a CDB and fill it in as shows in the table below:

CDB Field

How to initialize the CDB structure for an Initialize command

OpCode

PXE_OPCODE_INITIALIZE

OpFlags

Set as needed.

CPBsize

sizeof(PXE_CPB_INITIALIZE)

DBsize

sizeof(PXE_DB_INITIALIZE)

CPBaddr

Address of a

PXE_CPB_INITIALIZE

structure.

Dbaddr

Address of a

PXE_DB_INITIALIZE

structure.

StatCode

PXE_STATCODE_INITIALIZE

StatFlags

PXE_STATFLAGS_INITIALIZE

Ifnum

A valid interface number from zero to

!PXE.IFcnt

.

Control

Set as needed.

OpFlags

Cable detection can be enabled or disabled by setting one of the following OpFlags:

PXE_OPFLAGS_INITIALIZE_CABLE_DETECT

PXE_OPFLAGS_INITIALIZE_DO_NOT_DETECT_CABLE

Advertising