Intel Extensible Firmware Interface Network Router User Manual


  Open as PDF
of 1084
 
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