E.4.13.3 checking command execution results – Intel Extensible Firmware Interface User Manual

Page 938

Advertising
background image

Extensible Firmware Interface Specification

E-72

12/01/02

Version 1.10

E.4.13.3

Checking Command Execution Results

After command execution completes, either successfully or not, the

CDB.StatCode

field

contains the result of the command execution.

StatCode Reason

SUCCESS

Command completed successfully. DB is written.

INVALID_CDB

One of the CDB fields was not set correctly.

BUSY

UNDI is already processing commands. Try again later.

QUEUE_FULL

Command queue is full. Try again later.

NOT_STARTED

The UNDI is not started.

NOT_INITIALIZED

The UNDI is not initialized.

UNSUPPORTED

This command is not supported.

DB

Unsupported statistics counters will be zero filled by UNDI.

typedef struct s_pxe_db_statistics {

// Bit field identifying what statistic data is collected by

// the UNDI/NIC.

// If bit 0x00 is set, Data[0x00] is collected.

// If bit 0x01 is set, Data[0x01] is collected.

// If bit 0x20 is set, Data[0x20] is collected.

// If bit 0x21 is set, Data[0x21] is collected.

// Etc.

PXE_UINT64

Supported;

// Statistic data.

PXE_UINT64

Data[64];

} PXE_DB_STATISTICS;

// Total number of frames received. Includes frames with errors
// and dropped frames.

#define PXE_STATISTICS_RX_TOTAL_FRAMES

0x00

// Number of valid frames received and copied into receive
// buffers.

#define

PXE_STATISTICS_RX_GOOD_FRAMES

0x01

// Number of frames below the minimum length for the media.
// This would be <64 for ethernet.

#define

PXE_STATISTICS_RX_UNDERSIZE_FRAMES

0x02

Advertising