projects
/
gem5.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix a small bug in parameter processing that would always result
[gem5.git]
/
dev
/
ide_disk.cc
diff --git
a/dev/ide_disk.cc
b/dev/ide_disk.cc
index 0f5c02660b1212f7bdfc2b1b04d4e5471b788dbc..99724f07788c1c5f7b5cde237ccf465274da6319 100644
(file)
--- a/
dev/ide_disk.cc
+++ b/
dev/ide_disk.cc
@@
-167,6
+167,12
@@
IdeDisk::reset(int id)
// Utility functions
////
// Utility functions
////
+bool
+IdeDisk::isDEVSelect()
+{
+ return ctrl->isDiskSelected(this);
+}
+
Addr
IdeDisk::pciToDma(Addr pciAddr)
{
Addr
IdeDisk::pciToDma(Addr pciAddr)
{
@@
-335,8
+341,8
@@
IdeDisk::dmaPrdReadDone()
curPrd.getByteCount(), (cmdBytesLeft/SectorSize),
curPrd.getEOT(), curSector);
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();
if (dmaRead)
doDmaRead();