diff options
author | Andrew Schultz <alschult@umich.edu> | 2004-03-23 17:10:07 -0500 |
---|---|---|
committer | Andrew Schultz <alschult@umich.edu> | 2004-03-23 17:10:07 -0500 |
commit | 75cef1a8017b52270d601d61959dd6d5c70033a8 (patch) | |
tree | bab24fdb1c67ab6ce6da363f35f1c4a1541eb756 /kern/linux | |
parent | e8f7aca8cf92ccb4a1d6c46d7ce13b7e985357cc (diff) | |
download | gem5-75cef1a8017b52270d601d61959dd6d5c70033a8.tar.xz |
Add initial support for IDE
--HG--
extra : convert_revision : e07dc6c87b0b692d428b541d4032fcf82996ef15
Diffstat (limited to 'kern/linux')
-rw-r--r-- | kern/linux/linux_system.cc | 6 | ||||
-rw-r--r-- | kern/linux/linux_system.hh | 2 |
2 files changed, 8 insertions, 0 deletions
diff --git a/kern/linux/linux_system.cc b/kern/linux/linux_system.cc index 12c1f5c32..587ba45cc 100644 --- a/kern/linux/linux_system.cc +++ b/kern/linux/linux_system.cc @@ -224,6 +224,9 @@ LinuxSystem::LinuxSystem(const string _name, const uint64_t _init_param, "pmap_scavenge_boot"); printfEvent = new LinuxPrintfEvent(&pcEventQueue, "printf"); + skipIdeDelay50msEvent = new LinuxSkipIdeDelay50msEvent(&pcEventQueue, + "ide_delay_50ms"); + skipDelayLoopEvent = new LinuxSkipDelayLoopEvent(&pcEventQueue, "calibrate_delay"); @@ -333,6 +336,9 @@ LinuxSystem::LinuxSystem(const string _name, const uint64_t _init_param, if (kernelSymtab->findAddress("pmap_scavenge_boot", addr)) skipScavengeBootEvent->schedule(addr); + if (kernelSymtab->findAddress("ide_delay_50ms", addr)) + skipIdeDelay50msEvent->schedule(addr+8); + if (kernelSymtab->findAddress("calibrate_delay", addr)) skipDelayLoopEvent->schedule(addr+8); diff --git a/kern/linux/linux_system.hh b/kern/linux/linux_system.hh index eba65d648..53800db29 100644 --- a/kern/linux/linux_system.hh +++ b/kern/linux/linux_system.hh @@ -44,6 +44,7 @@ class BreakPCEvent; class LinuxBadAddrEvent; class LinuxSkipFuncEvent; class LinuxSkipDelayLoopEvent; +class LinuxSkipIdeDelay50msEvent; class LinuxPrintfEvent; class LinuxDebugPrintfEvent; class LinuxDumpMbufEvent; @@ -101,6 +102,7 @@ class LinuxSystem : public System LinuxBadAddrEvent *badaddrEvent; LinuxSkipFuncEvent *skipPowerStateEvent; LinuxSkipFuncEvent *skipScavengeBootEvent; + LinuxSkipIdeDelay50msEvent *skipIdeDelay50msEvent; LinuxSkipDelayLoopEvent *skipDelayLoopEvent; LinuxPrintfEvent *printfEvent; LinuxDebugPrintfEvent *debugPrintfEvent; |