diff options
Diffstat (limited to 'kern/linux/linux_system.cc')
-rw-r--r-- | kern/linux/linux_system.cc | 14 |
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() |