![Intel Extensible Firmware Interface Specification Download Page 165](http://html1.mh-extra.com/html/intel/extensible-firmware-interface/extensible-firmware-interface_specification_2073117165.webp)
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.
Summary of Contents for Extensible Firmware Interface
Page 1: ...Extensible Firmware Interface Specification Version 1 02 December 12 2000...
Page 4: ...Extensible Firmware Interface Specification iv 12 12 00 Version 1 02...
Page 42: ...Extensible Firmware Interface Specification 24 12 01 00 Version 1 02...
Page 190: ...Extensible Firmware Interface Specification 172 12 12 00 Version 1 02...
Page 200: ...Extensible Firmware Interface Specification 182 12 12 00 Version 1 02...
Page 226: ...Extensible Firmware Interface Specification 208 12 12 00 Version 1 02...
Page 230: ...Extensible Firmware Interface Specification 212 12 12 00 Version 1 02...
Page 252: ...Extensible Firmware Interface Specification 234 12 12 00 Version 1 02...
Page 294: ...Extensible Firmware Interface Specification 276 12 12 00 Version 1 02...
Page 348: ...Extensible Firmware Interface Specification 330 12 01 00 Version 1 01...
Page 350: ...Extensible Firmware Interface Specification 332 12 12 00 Version 1 02...
Page 354: ...Extensible Firmware Interface Specification 336 12 12 00 Version 1 02...
Page 362: ...Extensible Firmware Interface Specification 344 12 12 00 Version 1 02...
Page 486: ...Extensible Firmware Interface Specification 468 12 12 00 Version 1 02...
Page 494: ...Extensible Firmware Interface Specification 476 12 12 00 Version 1 02...