summaryrefslogtreecommitdiff
path: root/src/dev/ide_ctrl.cc
diff options
context:
space:
mode:
authorSteve Reinhardt <stever@eecs.umich.edu>2007-06-30 17:56:30 -0700
committerSteve Reinhardt <stever@eecs.umich.edu>2007-06-30 17:56:30 -0700
commit2447abe5ce6c40e61eb09430c95a592aa2445349 (patch)
treeeb04bf9cc14d59a90308c301d6cc1afe9cb5bd7a /src/dev/ide_ctrl.cc
parentd10a843723009ddee79cdbf94a46704df1e5cee6 (diff)
downloadgem5-2447abe5ce6c40e61eb09430c95a592aa2445349.tar.xz
Can only call makeAtomicResponse() once...
--HG-- extra : convert_revision : c49aade46aa64f979da35eb653b544ee5bd82f01
Diffstat (limited to 'src/dev/ide_ctrl.cc')
-rw-r--r--src/dev/ide_ctrl.cc9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/dev/ide_ctrl.cc b/src/dev/ide_ctrl.cc
index 01243ae73..07764aaba 100644
--- a/src/dev/ide_ctrl.cc
+++ b/src/dev/ide_ctrl.cc
@@ -232,8 +232,10 @@ Tick
IdeController::readConfig(PacketPtr pkt)
{
int offset = pkt->getAddr() & PCI_CONFIG_SIZE;
- if (offset < PCI_DEVICE_SPECIFIC)
- return PciDev::readConfig(pkt);
+ if (offset < PCI_DEVICE_SPECIFIC) {
+ return PciDev::readConfig(pkt);
+ }
+
assert(offset >= IDE_CTRL_CONF_START && (offset + 1) <= IDE_CTRL_CONF_END);
pkt->allocate();
@@ -297,7 +299,6 @@ IdeController::readConfig(PacketPtr pkt)
}
pkt->makeAtomicResponse();
return configDelay;
-
}
@@ -361,6 +362,7 @@ IdeController::writeConfig(PacketPtr pkt)
default:
panic("invalid access size(?) for PCI configspace!\n");
}
+ pkt->makeAtomicResponse();
}
/* Trap command register writes and enable IO/BM as appropriate as well as
@@ -403,7 +405,6 @@ IdeController::writeConfig(PacketPtr pkt)
bm_enabled = false;
break;
}
- pkt->makeAtomicResponse();
return configDelay;
}