- IOMemoryDescriptor::withAddress;
- IOMemoryDescriptor::withPhysicalAddress;
- IOMemoryDescriptor::withPhysicalRanges;
- IOMemoryDescriptor::withRanges;
- IOMemoryDescriptor::withSubRange;
-
- // used by IODMACommand
- virtual IOReturn dmaCommandOperation(DMACommandOps op, void *vData, UInt dataSize) const;
-
-public:
- /*
- * Initialize or reinitialize an IOSubMemoryDescriptor to describe
- * a subrange of an existing descriptor.
- *
- * An IOSubMemoryDescriptor can be re-used by calling initSubRange
- * again on an existing instance -- note that this behavior is not
- * commonly supported in other IOKit classes, although it is here.
- */
- virtual bool initSubRange( IOMemoryDescriptor * parent,
- IOByteCount offset, IOByteCount length,
- IODirection withDirection );
-
- /*
- * IOMemoryDescriptor required methods
- */
-
- virtual addr64_t getPhysicalSegment64( IOByteCount offset,
- IOByteCount * length );
-
- virtual IOPhysicalAddress getPhysicalSegment(IOByteCount offset,
- IOByteCount * length);
-
- virtual IOPhysicalAddress getSourceSegment(IOByteCount offset,
- IOByteCount * length);
-
- virtual IOByteCount readBytes(IOByteCount offset,
- void * bytes, IOByteCount withLength);
-
- virtual IOByteCount writeBytes(IOByteCount offset,
- const void * bytes, IOByteCount withLength);
-
- virtual void * getVirtualSegment(IOByteCount offset,
- IOByteCount * length);
-
- virtual IOReturn prepare(IODirection forDirection = kIODirectionNone);
-
- virtual IOReturn complete(IODirection forDirection = kIODirectionNone);
-
- // make virtual
- IOReturn redirect( task_t safeTask, bool redirect );
-
- virtual bool serialize(OSSerialize *s) const;
-
- virtual IOReturn setPurgeable( IOOptionBits newState,
- IOOptionBits * oldState );
- virtual IOReturn performOperation( IOOptionBits options,
- IOByteCount offset, IOByteCount length );
-
-protected:
- virtual IOMemoryMap * makeMapping(
- IOMemoryDescriptor * owner,
- task_t intoTask,
- IOVirtualAddress atAddress,
- IOOptionBits options,
- IOByteCount offset,
- IOByteCount length );
-
- virtual IOReturn doMap(
- vm_map_t addressMap,
- IOVirtualAddress * atAddress,
- IOOptionBits options,
- IOByteCount sourceOffset = 0,
- IOByteCount length = 0 );
-};