summaryrefslogtreecommitdiff
path: root/kern/linux/linux_system.cc
diff options
context:
space:
mode:
Diffstat (limited to 'kern/linux/linux_system.cc')
-rw-r--r--kern/linux/linux_system.cc14
1 files changed, 10 insertions, 4 deletions
diff --git a/kern/linux/linux_system.cc b/kern/linux/linux_system.cc
index ab1355637..bc2753908 100644
--- a/kern/linux/linux_system.cc
+++ b/kern/linux/linux_system.cc
@@ -28,10 +28,11 @@
/**
* @file
- * loads the linux kernel, console, pal and patches certain functions.
- * The symbol tables are loaded so that traces can show the executing
- * function and we can skip functions. Various delay loops are skipped
- * and their final values manually computed to speed up boot time.
+ * This code loads the linux kernel, console, pal and patches certain
+ * functions. The symbol tables are loaded so that traces can show
+ * the executing function and we can skip functions. Various delay
+ * loops are skipped and their final values manually computed to speed
+ * up boot time.
*/
#include "base/loader/aout_object.hh"
@@ -129,6 +130,8 @@ LinuxSystem::LinuxSystem(const string _name, const uint64_t _init_param,
skipCacheProbeEvent = new SkipFuncEvent(&pcEventQueue,
"determine_cpu_caches");
+ debugPrintkEvent = new DebugPrintkEvent(&pcEventQueue, "dprintk");
+
Addr addr = 0;
/**
@@ -236,6 +239,9 @@ LinuxSystem::LinuxSystem(const string _name, const uint64_t _init_param,
if (kernelSymtab->findAddress("determine_cpu_caches", addr))
skipCacheProbeEvent->schedule(addr+sizeof(MachInst));
+
+ if (kernelSymtab->findAddress("dprintk", addr))
+ debugPrintkEvent->schedule(addr+sizeof(MachInst)*2);
}
LinuxSystem::~LinuxSystem()