summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAli Saidi <saidi@eecs.umich.edu>2004-07-31 00:55:15 -0400
committerAli Saidi <saidi@eecs.umich.edu>2004-07-31 00:55:15 -0400
commitaff3e7b07c03184c3c52f6535fa3ea186342fc80 (patch)
treec701ded1318458ff3d0e960139fdd8eebc5e74d9
parentec3a9e3cfc544983292a5922b2d0251da5a481ef (diff)
parentd616b2cb5e07812c2346ebf28ce75aa34729fb6a (diff)
downloadgem5-aff3e7b07c03184c3c52f6535fa3ea186342fc80.tar.xz
Merge zizzer:/bk/m5 into zeep.eecs.umich.edu:/tmp/m5-dprintk
--HG-- extra : convert_revision : d26b89ff1bf224dbcd6c9eeeab361f516a8d7360
-rw-r--r--kern/linux/linux_system.cc14
-rw-r--r--kern/linux/printk.cc1
2 files changed, 11 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()
diff --git a/kern/linux/printk.cc b/kern/linux/printk.cc
index 5aaa7abe2..fc7c171bc 100644
--- a/kern/linux/printk.cc
+++ b/kern/linux/printk.cc
@@ -34,6 +34,7 @@
#include "sim/host.hh"
#include "targetarch/arguments.hh"
#include "targetarch/vtophys.hh"
+#include "kern/linux/printk.hh"
using namespace std;