Extensible Firmware Interface Specification
430 12/12/00 Version 1.02
G.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 (non-swappable) memory may need to be allocated. 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.
G.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
Ccable 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