Intel Extensible Firmware Interface User Manual

Page 518

Advertising
background image

Extensible Firmware Interface Specification

12-100

12/01/02

Version 1.10

The field values for the EFI PCI Expansion ROM Header and the PCIR Data Structure would be as
follows in this recommended PCI Driver image layout. An image must start at a 512-byte
boundary, and the end of the image must be padded to the next 512-byte boundary.

Table 12-18. Recommended PCI Device Driver Layout

Offset

Byte
Length

Value

Description

0x00

1

0x55

ROM Signature, byte 1

0x01

1

0xAA

ROM Signature, byte 2

0x02

2

XXXX

Initialization Size –size of this image in units of 512 bytes. The size
includes this header

0x04

4

0x0EF1

Signature from EFI image header

0x08

2

XX
0x0B
0x0C

Subsystem Value from the PCI Driver's PE/COFF Image Header
Subsystem Value for an EFI Boot Service Driver
Subsystem Value for an EFI Runtime Driver

0x0a

2

XX
0x014C
0x0200
0x0EBC

Machine type from the PCI Driver's PE/COFF Image Header
IA-32 Machine Type
Itanium processor type
EFI Byte Code (EBC) Machine Type

0x0C

2

XXXX
0x0000
0x0001

Compression Type
Uncompressed
Compressed following the EFI 1.10 Compression Algorithm
Specification

0x0E

8

0x00

Reserved

0x16

2

0x0034

Offset to EFI Image

0x18

2

0x001C

Offset to PCIR Data Structure

0x1A

2

0x0000

Padding to align PCIR Data Structure on a 4 byte boundary

0x1C

4

'PCIR'

PCIR Data Structure Signature

0x20

2

XXXX

Vendor ID from the PCI Controller's Configuration Header

0x22

2

XXXX

Device ID from the PCI Controller's Configuration Header

0x24

2

0x0000

Reserved

0x26

2

0x0018

The length if the PCIR Data Structure in bytes

0x28

1

0x00

PCIR Data Structure Revision. Value for PCI 2.2 Option ROM

0x29

3

XXXX

Class Code from the PCI Controller's Configuration Header

0x2C

2

XXXX

Code Image Length in units of 512 bytes. Same as Initialization Size

0x2E

2

XXXX

Revision Level of the Code/Data. This field is ignored

continued

Advertising