-#if !(defined(__ppc__) && defined(KPI_10_4_0_PPC_COMPAT))
- // Get the address mask to or into an address to bypass this mapper
- virtual bool getBypassMask(addr64_t *maskP) const
- OSMetaClassDeclareReservedUsed(IOMapper, 0);
-#endif
+ // { subclasses
+
+ virtual uint64_t getPageSize(void) const = 0;
+
+ virtual IOReturn iovmMapMemory(IOMemoryDescriptor * memory,
+ uint64_t descriptorOffset,
+ uint64_t length,
+ uint32_t mapOptions,
+ const IODMAMapSpecification * mapSpecification,
+ IODMACommand * dmaCommand,
+ const IODMAMapPageList * pageList,
+ uint64_t * mapAddress,
+ uint64_t * mapLength) = 0;
+
+ virtual IOReturn iovmUnmapMemory(IOMemoryDescriptor * memory,
+ IODMACommand * dmaCommand,
+ uint64_t mapAddress,
+ uint64_t mapLength) = 0;
+
+ virtual IOReturn iovmInsert(uint32_t options,
+ uint64_t mapAddress,
+ uint64_t offset,
+ uint64_t physicalAddress,
+ uint64_t length) = 0;
+
+ virtual uint64_t mapToPhysicalAddress(uint64_t mappedAddress) = 0;
+
+ // }