VDMAD_Reserve_Buffer_Space


include vdmad.inc

mov eax, PageCount
mov ecx, MaxAddress
VxDcall VDMAD_Reserve_Buffer_Space

Allows other devices that are going to handle DMA to make sure that VDMAD allocates a buffer large enough for any transfers that they might require. Uses flags

PageCount

Number of pages requested.

MaxAddress

Maximum physical address that can be included in a DMA transfer. If this parameter is zero, there is no limit.

This service also allows a device to specify a maximum physical address that would be valid for the device's DMA requests. During the Init_Complete phase of initialization, VDMAD allocates the DMA buffer using all of the constraints specified by other devices. For example, the buffer is at least as big as the largest size specified by the calls to this service, and it allocates below the lowest maximum physical addresses specified.

This service is only available before the Init_Complete message.