]> git.saurik.com Git - apple/xnu.git/blobdiff - iokit/Kernel/IODMACommand.cpp
xnu-4570.20.62.tar.gz
[apple/xnu.git] / iokit / Kernel / IODMACommand.cpp
index 5feadeb14d3d580aa801b7f59b2af58b61c05c50..261f86b1b3147d3fe17c2597adb135f032bc3410 100644 (file)
@@ -1138,8 +1138,16 @@ IODMACommand::genIOVMSegments(uint32_t op,
        internalState->fIOVMAddrValid = state->fIOVMAddr = 0;
        internalState->fNextRemapPage                    = NULL;
        internalState->fNewMD                            = false;
-       state->fMapped                                   = (0 != fMapper);
        mdOp                                             = kIOMDFirstSegment;
+       if (fMapper)
+       {
+           if (internalState->fLocalMapperAllocValid)
+           {
+               state->fMapped = kIOMDDMAWalkMappedLocal;
+               state->fMappedBase = internalState->fLocalMapperAlloc;
+           }
+           else state->fMapped = true;
+       }
     };
        
     UInt32    segIndex = 0;