~roguescholar/ipxe/trunk

Viewing all changes in revision 5786.

  • Committer: Michael Brown
  • Date: 2020-11-29 11:25:40 UTC
  • Revision ID: git-v1:6e01b74a8ac6a3c3c6806ae286df033f71962f9a
[dma] Provide dma_umalloc() for allocating large DMA-coherent buffers

Some devices (e.g. xHCI USB host controllers) may require the use of
large areas of host memory for private use by the device.  These
allocations cannot be satisfied from iPXE's limited heap space, and so
are currently allocated using umalloc() which will allocate external
system memory (and alter the system memory map as needed).

Provide dma_umalloc() to provide such allocations as part of the DMA
API, since there is otherwise no way to guarantee that the allocated
regions are usable for coherent DMA.

Signed-off-by: Michael Brown <mcb30@ipxe.org>

expand all expand all

Show diffs side-by-side

added added

removed removed

Lines of Context: