summaryrefslogtreecommitdiff
path: root/kern/linux
diff options
context:
space:
mode:
authorAndrew Schultz <alschult@umich.edu>2004-03-23 17:10:07 -0500
committerAndrew Schultz <alschult@umich.edu>2004-03-23 17:10:07 -0500
commit75cef1a8017b52270d601d61959dd6d5c70033a8 (patch)
treebab24fdb1c67ab6ce6da363f35f1c4a1541eb756 /kern/linux
parente8f7aca8cf92ccb4a1d6c46d7ce13b7e985357cc (diff)
downloadgem5-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.cc6
-rw-r--r--kern/linux/linux_system.hh2
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;