beautypg.com

Intel Extensible Firmware Interface User Manual

Page 911

background image

32/64-Bit UNDI Specification

Version 1.10

12/01/02

E-45

// UNDI will read or write the device io space using this

// call-back function. It passes the number of bytes as the

// len parameter and it will be either 1,2,4 or 8.

//

// This field cannot be set to zero.

//

PXE_UINT64

Mem_IO;

//

// PXE_VOID Map_Mem(UINT64 unq_id, UINT64 virtual_addr,

// UINT32 size, UINT32 Direction, UINT64 mapped_addr);

//

// UNDI will pass the virtual address of a buffer, direction of

// the data flow from/to the mapped buffer (the constants

// values for the direction flag are defined below)

// and a place holder (pointer) for the mapped address.

// This call will Map the given address to a physical DMA

// address and write the result to the mapped_addr pointer. If

// there is no need to map the given address to a lower

// physical address i.e. the given virtual address points to a

// physical memory that can be used for the DMA read/write, it

// converts the given virtual address to its physical address

// and write that in the mapped address pointer.

//

// This field can be set to zero if there is no mapping service

// available or if all the physical addresses are DMA

// compatible.

//

UINT64

Map_Mem;

//

// PXE_VOID UnMap_Mem(UINT64 unq_id, UINT64 virtual_addr,

// UINT32 size,

UINT32 Direction, UINT64 mapped_addr);

//

// UNDI will pass the virtual and mapped addresses of a buffer

// This call will un map the given address

//

// This field can be set to zero if there is no unmapping

// service available

//

UINT64

UnMap_Mem;