setCommandBuffersAsRanges(IOVirtualRange *, UInt32, IODirection, task_t, UInt32, UInt32)
Creates a page table from a list of ranges.
Declaration
virtual IOReturn setCommandBuffersAsRanges(
IOVirtualRange *ranges,
UInt32 withCount,
IODirection withDirection,
task_t withTask,
UInt32 offset = 0,
UInt32 length = 0 );Parameters
- ranges:
An array of ranges representing the data to be transfered.
- withCount:
The number of ranges in the ranges array.
- withDirection:
An IODirection indicating the direction of data transfer.
- withTask:
The task that these adressses reside in.
- offset:
Offset in bytes into data to begin writing table at.
- length:
Number of bytes of data to map from offset.
Return Value
Returns KIOReturnSuccess if the page table was written successfully.
Overview
Creates a page table with the given parameters. Any addresses mapped by this method must remain valid until setCommandBuffers is called again or releaseCommandBuffers is called. The SBP2 services do not release references to the command buffers just because the command has completed.
See Also
Miscellaneous
allocatePageTabledeallocatePageTablegetCommandBufferDescriptorgetCommandFlagsgetCommandGenerationgetCommandTimeoutgetLogingetMaxPayloadSizegetORBAddressgetRefCongetRefCon64releasereleaseCommandBufferssetBufferConstraintssetCommandBlock(IOMemoryDescriptor *)setCommandBlock(void *, UInt32)setCommandBufferssetCommandBuffersAsRanges(IOMemoryDescriptor *, UInt32, UInt32)setCommandBuffersAsRanges64setCommandFlagssetCommandGenerationsetCommandTimeoutsetMaxPayloadSizesetRefConsetRefCon64