X-Git-Url: https://git.saurik.com/apple/xnu.git/blobdiff_plain/2d21ac55c334faf3a56e5634905ed6987fc787d4..008676633c2ad2c325837c2b64915f7ded690a8f:/iokit/Kernel/IOMemoryCursor.cpp diff --git a/iokit/Kernel/IOMemoryCursor.cpp b/iokit/Kernel/IOMemoryCursor.cpp index 2487209f8..99999991d 100644 --- a/iokit/Kernel/IOMemoryCursor.cpp +++ b/iokit/Kernel/IOMemoryCursor.cpp @@ -72,7 +72,7 @@ IOMemoryCursor::initWithSpecification(SegmentFunction inSegFunc, static UInt sMaxDBDMASegment; if (!sMaxDBDMASegment) { sMaxDBDMASegment = (UInt) -1; - if (PE_parse_boot_arg("mseg", &sMaxDBDMASegment)) + if (PE_parse_boot_argn("mseg", &sMaxDBDMASegment, sizeof (sMaxDBDMASegment))) IOLog("Setting MaxDBDMASegment to %d\n", sMaxDBDMASegment); } @@ -101,7 +101,7 @@ if (inMaxSegmentSize > sMaxDBDMASegment) inMaxSegmentSize = sMaxDBDMASegment; UInt32 IOMemoryCursor::genPhysicalSegments(IOMemoryDescriptor *inDescriptor, - IOPhysicalLength fromPosition, + IOByteCount fromPosition, void * inSegments, UInt32 inMaxSegments, UInt32 inMaxTransferSize, @@ -133,7 +133,7 @@ IOMemoryCursor::genPhysicalSegments(IOMemoryDescriptor *inDescriptor, if (!seg.location) { seg.location = inDescriptor->getPhysicalSegment( - fromPosition, &seg.length); + fromPosition, (IOByteCount*)&seg.length); assert(seg.location); assert(seg.length); fromPosition += seg.length; @@ -325,66 +325,3 @@ IOLittleMemoryCursor::initWithSpecification(IOPhysicalLength inMaxSegmentSize, inMaxTransferSize, inAlignment); } - -/************************* class IODBDMAMemoryCursor *************************/ - -#if defined(__ppc__) - -#include - -#undef super -#define super IOMemoryCursor -OSDefineMetaClassAndStructors(IODBDMAMemoryCursor, IOMemoryCursor) - -void -IODBDMAMemoryCursor::outputSegment(PhysicalSegment inSegment, - void * inSegments, - UInt32 inSegmentIndex) -{ - IODBDMADescriptor *segment; - - segment = &((IODBDMADescriptor *) inSegments)[inSegmentIndex]; - - // Write location into address field - OSWriteSwapInt32((UInt32 *) segment, 4, inSegment.location); - - // Write count into 1st two bytes of operation field. - // DO NOT touch rest of operation field as it should contain a STOP command. - OSWriteSwapInt16((UInt16 *) segment, 0, inSegment.length); -} - -/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -IODBDMAMemoryCursor * -IODBDMAMemoryCursor::withSpecification(IOPhysicalLength inMaxSegmentSize, - IOPhysicalLength inMaxTransferSize, - IOPhysicalLength inAlignment) -{ - IODBDMAMemoryCursor *me = new IODBDMAMemoryCursor; - - if (me && !me->initWithSpecification(inMaxSegmentSize, - inMaxTransferSize, - inAlignment)) - { - me->release(); - return 0; - } - - return me; -} - -/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -bool -IODBDMAMemoryCursor::initWithSpecification(IOPhysicalLength inMaxSegmentSize, - IOPhysicalLength inMaxTransferSize, - IOPhysicalLength inAlignment) -{ - return super::initWithSpecification(&IODBDMAMemoryCursor::outputSegment, - inMaxSegmentSize, - inMaxTransferSize, - inAlignment); -} - -#endif /* defined(__ppc__) */ -