Efi_pci_root_bridge_io_protocol.map(), Map() – Intel Extensible Firmware Interface User Manual
Page 446

Extensible Firmware Interface Specification
12-28
12/01/02
Version 1.10
EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL.Map()
Summary
Provides the PCI controller–specific addresses required to access system memory from a
DMA bus master.
Prototype
typedef
EFI_STATUS
(EFIAPI *EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_MAP) (
IN EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL
*This,
IN EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_OPERATION
Operation,
IN VOID
*HostAddress,
IN OUT UINTN
*NumberOfBytes,
OUT EFI_PHYSICAL_ADDRESS
*DeviceAddress,
OUT VOID
**Mapping
);
Parameters
This
A pointer to the
EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL
Type
EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL
is defined in
Section 12.2.
Operation
Indicates if the bus master is going to read or write to system
memory. Type
EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_OPERATION
defined in Section 12.2.
HostAddress
The system memory address to map to the PCI controller.
NumberOfBytes
On input the number of bytes to map. On output the number of
bytes that were mapped.
DeviceAddress
The resulting map address for the bus master PCI controller to use
to access the system memory’s
HostAddress
. Type
is defined in Chapter 5. This
address cannot be used by the processor to access the contents of
the buffer specified by
HostAddress
.
Mapping
The value to pass to
when the bus master DMA
operation is complete.