summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dev/ide_disk.cc5
-rw-r--r--dev/pcidev.cc2
-rw-r--r--sim/system.cc3
3 files changed, 9 insertions, 1 deletions
diff --git a/dev/ide_disk.cc b/dev/ide_disk.cc
index 2205db9e3..ddd4a09e7 100644
--- a/dev/ide_disk.cc
+++ b/dev/ide_disk.cc
@@ -644,6 +644,7 @@ IdeDisk::startCommand()
case WIN_RECAL:
case WIN_SPECIFY:
+ case WIN_STANDBYNOW1:
case WIN_FLUSH_CACHE:
case WIN_VERIFY:
case WIN_SEEK:
@@ -960,6 +961,10 @@ IdeDisk::updateState(DevAction_t action)
cmdReg.status &= ~STATUS_DRQ_BIT;
devState = Prepare_Data_Out;
+
+ /** @todo change this to a scheduled event to simulate
+ disk delay */
+ updateState(ACT_DATA_READY);
}
}
break;
diff --git a/dev/pcidev.cc b/dev/pcidev.cc
index 9ac170b5c..9d6208d6b 100644
--- a/dev/pcidev.cc
+++ b/dev/pcidev.cc
@@ -247,7 +247,7 @@ PciDev::WriteConfig(int offset, int size, uint32_t data)
break;
default:
- panic("writing to a read only register");
+ DPRINTF(PCIDEV, "Writing to a read only register");
}
break;
}
diff --git a/sim/system.cc b/sim/system.cc
index 619593abd..b801cb254 100644
--- a/sim/system.cc
+++ b/sim/system.cc
@@ -52,6 +52,9 @@ System::System(const std::string _name,
bin(_bin),
binned_fns(binned_fns)
{
+ // increment the number of running systems
+ numSystemsRunning++;
+
// add self to global system list
systemList.push_back(this);
if (bin == true) {