diff options
-rw-r--r-- | dev/ide_disk.cc | 5 | ||||
-rw-r--r-- | dev/pcidev.cc | 2 | ||||
-rw-r--r-- | sim/system.cc | 3 |
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) { |