diff options
Diffstat (limited to 'kern/linux')
-rw-r--r-- | kern/linux/linux_system.cc | 5 | ||||
-rw-r--r-- | kern/linux/linux_system.hh | 1 |
2 files changed, 6 insertions, 0 deletions
diff --git a/kern/linux/linux_system.cc b/kern/linux/linux_system.cc index 8bfad0996..fe39380be 100644 --- a/kern/linux/linux_system.cc +++ b/kern/linux/linux_system.cc @@ -230,6 +230,8 @@ LinuxSystem::LinuxSystem(const string _name, const uint64_t _init_param, skipDelayLoopEvent = new LinuxSkipDelayLoopEvent(&pcEventQueue, "calibrate_delay"); + skipCacheProbeEvent = new LinuxSkipFuncEvent(&pcEventQueue, "determine_cpu_caches"); + /* debugPrintfEvent = new DebugPrintfEvent(&pcEventQueue, "debug_printf", false); debugPrintfrEvent = new DebugPrintfEvent(&pcEventQueue, @@ -342,6 +344,9 @@ LinuxSystem::LinuxSystem(const string _name, const uint64_t _init_param, if (kernelSymtab->findAddress("calibrate_delay", addr)) skipDelayLoopEvent->schedule(addr+8); + if (kernelSymtab->findAddress("determine_cpu_caches", addr)) + skipCacheProbeEvent->schedule(addr+8); + #if TRACING_ON if (kernelSymtab->findAddress("printk", addr)) printfEvent->schedule(addr); diff --git a/kern/linux/linux_system.hh b/kern/linux/linux_system.hh index 53800db29..8b07bedf7 100644 --- a/kern/linux/linux_system.hh +++ b/kern/linux/linux_system.hh @@ -102,6 +102,7 @@ class LinuxSystem : public System LinuxBadAddrEvent *badaddrEvent; LinuxSkipFuncEvent *skipPowerStateEvent; LinuxSkipFuncEvent *skipScavengeBootEvent; + LinuxSkipFuncEvent *skipCacheProbeEvent; LinuxSkipIdeDelay50msEvent *skipIdeDelay50msEvent; LinuxSkipDelayLoopEvent *skipDelayLoopEvent; LinuxPrintfEvent *printfEvent; |