EasyManua.ls Logo

Intel Extensible Firmware Interface - Device_Io.allocatebuffer()

Intel Extensible Firmware Interface
494 pages
Print Icon
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
Device I/O Protocol
Version 1.02 12/12/00 147
6.2.5 DEVICE_IO.AllocateBuffer()
Summary
Allocates pages that are suitable for an EFIBusMasterCommonBuffer mapping.
Prototype
typedef
EFI_STATUS
(EFIAPI *EFI_IO_ALLOCATE_BUFFER) (
IN EFI_DEVICE_IO_INTERFACE *This,
IN EFI_ALLOCATE_TYPE Type,
IN EFI_MEMORY_TYPE MemoryType,
IN UINTN Pages,
IN OUT EFI_PHYSICAL_ADDRESS *HostAddress
);
Parameters
This A pointer to the EFI_DEVICE_IO_INTERFACE. Type
EFI_DEVICE_IO_INTERFACE is defined in Section 6.2.
Type The type allocation to perform. Type EFI_ALLOCATE_TYPE is
defined in Chapter 3.
MemoryType The type of memory to allocate, EfiBootServicesData or
EfiRuntimeServicesData. Type EFI_MEMORY_TYPE is defined
in Chapter 3.
Pages The number of pages to allocate.
HostAddress A pointer to store the base address of the allocated range. Type EFI_
PHYSICAL_ADDRESS is defined in Chapter 3.
Description
The AllocateBuffer() function allocates pages that are suitable for an
EFIBusMasterCommonBuffer mapping.
The AllocateBuffer() function internally calls AllocatePages() to allocate a memory
range that can be mapped as an EFIBusMasterCommonBuffer. When the buffer is no longer
needed, the driver frees the memory with a call to FreeBuffer().
Allocation requests of Type AllocateAnyPages will allocate any available range of pages that
satisfies the request. On input the data pointed to by HostAddress is ignored.

Table of Contents

Related product manuals