Intel Extensible Firmware Interface Network Router User Manual


  Open as PDF
of 1084
 
32/64-Bit UNDI Specification
Version 1.10 12/01/02 E-79
E.4.16 Get Status
This command returns the current interrupt status and/or the transmitted buffer addresses. If the
current interrupt status is returned, pending interrupts will be acknowledged by this command.
Transmitted buffer addresses that are written to the DB are removed from the transmitted buffer
queue.
This command may be used in a polled fashion with external interrupts disabled.
E.4.16.1 Issuing the Command
To issue a Get Status command, create a CDB and fill it in as shown in the table below:
CDB Field How to initialize the CDB structure for a Get Status command
OpCode
PXE_OPCODE_GET_STATUS
OpFlags Set as needed.
CPBsize
PXE_CPBSIZE_NOT_USED
DBsize
Sizeof(PXE_DB_GET_STATUS)
CPBaddr
PXE_CPBADDR_NOT_USED
DBaddr
Address of PXE_DB_GET_STATUS structure.
StatCode
PXE_STATCODE_INITIALIZE
StatFlags
PXE_STATFLAGS_INITIALIZE
IFnum
A valid interface number from zero to !PXE.IFcnt.
Control Set as needed.
Setting OpFlags
Set one or both of the OpFlags below to return the interrupt status and/or the transmitted buffer
addresses.
PXE_OPFLAGS_GET_INTERRUPT_STATUS
PXE_OPFLAGS_GET_TRANSMITTED_BUFFERS
E.4.16.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. StatFlags and/or DB are updated.
COMMAND_FAILED Command failed. StatCode field contains error code.
COMMAND_QUEUED Command has been queued.
INITIALIZE Command has been not executed or queued.