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
is
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
EFI_PHYSICAL_ADDRESS
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 Unmap()
when the bus master DMA
operation is complete.