Intel Extensible Firmware Interface User Manual

Page 874

Advertising
background image

Extensible Firmware Interface Specification

E-8

12/01/02

Version 1.10

The !PXE structure for S/W UNDI can be loaded into system memory from one of three places;
ROM on a NIC, system nonvolatile storage, or external storage. Since there are no direct memory
or I/O ports available in the S/W UNDI !PXE structure, an indirect callable entry point is provided.
S/W UNDI developers are free to make their internal designs as simple or complex as they desire,
as long as all of the UNDI commands in this specification are implemented.

Descriptions of the fields in the !PXE structures is given in Table E-4.

Table E-4. !PXE Structure Field Definitions

Identifier Value

Description

Signature

“!PXE”

!PXE structure signature. This field is used to locate an UNDI hardware or
software interface in system memory (or I/O) space. ‘!’ is in the first (lowest
address) byte, ‘P’ is in the second byte, ‘X’ in the third and ‘E’ in the last. This
field must be aligned on a 16-byte boundary (the last address byte must be
zero).

Len

Varies

Number of !PXE structure bytes to checksum.

When computing the checksum of this structure the Len field MUST be used
as the number of bytes to checksum. The !PXE structure checksum is
computed by adding all of the bytes in the structure, starting with the first byte
of the structure Signature: '!'. If the 8-bit sum of all of the unsigned bytes in
this structure is not zero, this is not a valid !PXE structure.

Fudge

Varies

This field is used to make the 8-bit checksum of this structure equal zero.

Rev

0x02

Revision of this structure.

IFcnt

Varies

This field reports the number (minus one) of physical external network
connections that are controlled by this !PXE interface. (If there is one network
connector, this field is zero. If there are two network connectors, this field is
one.)

Major

0x03

UNDI command interface major revision.

Minor

0x00

UNDI command interface minor revision.

reserved

0x0000 This field is reserved and must be set to zero.

continued

Advertising