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

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