setCommandBuffersAsRanges64
Creates a page table from a list of 64 bit ranges.
Declaration
IOReturn setCommandBuffersAsRanges64(
IOAddressRange *ranges,
uint64_t withCount,
IODirection withDirection,
task_t withTask,
uint64_t offset = 0,
uint64_t 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. This is a 64 bit compatible version of setCommandBuffersAsRanges.
See Also
Miscellaneous
allocatePageTabledeallocatePageTablegetCommandBufferDescriptorgetCommandFlagsgetCommandGenerationgetCommandTimeoutgetLogingetMaxPayloadSizegetORBAddressgetRefCongetRefCon64releasereleaseCommandBufferssetBufferConstraintssetCommandBlock(IOMemoryDescriptor *)setCommandBlock(void *, UInt32)setCommandBufferssetCommandBuffersAsRanges(IOMemoryDescriptor *, UInt32, UInt32)setCommandBuffersAsRanges(IOVirtualRange *, UInt32, IODirection, task_t, UInt32, UInt32)setCommandFlagssetCommandGenerationsetCommandTimeoutsetMaxPayloadSizesetRefConsetRefCon64