Fix a small bug in parameter processing that would always result
[gem5.git] / dev / ide_disk.cc
index 0f5c02660b1212f7bdfc2b1b04d4e5471b788dbc..99724f07788c1c5f7b5cde237ccf465274da6319 100644 (file)
@@ -167,6 +167,12 @@ IdeDisk::reset(int id)
 // Utility functions
 ////
 
+bool
+IdeDisk::isDEVSelect()
+{
+    return ctrl->isDiskSelected(this);
+}
+
 Addr
 IdeDisk::pciToDma(Addr pciAddr)
 {
@@ -335,8 +341,8 @@ IdeDisk::dmaPrdReadDone()
             curPrd.getByteCount(), (cmdBytesLeft/SectorSize),
             curPrd.getEOT(), curSector);
 
-    // make sure the new curPrdAddr is properly translated from PCI to system
-    curPrdAddr = pciToDma(curPrdAddr + sizeof(PrdEntry_t));
+    // the prd pointer has already been translated, so just do an increment
+    curPrdAddr = curPrdAddr + sizeof(PrdEntry_t);
 
     if (dmaRead)
         doDmaRead();