From 37bb0d0fb30a3548173253b0f19861a7ee4f8fce Mon Sep 17 00:00:00 2001 From: Andreas Sandberg Date: Mon, 20 Jun 2016 14:39:49 +0100 Subject: kern, arm: Dump dmesg on kernel panic/oops Add helper functions to dump the guest kernel's dmesg buffer to a text file in m5out. This functionality is split into two parts. First, a dmesg dump function that can be used in other places: void Linux::dumpDmesg(ThreadContext *, std::ostream &) This function is used to implement two PCEvents: DmesgDumpEvent and KernelPanic event. The only difference between the two is that the latter produces a gem5 panic instead of a warning in addition to dumping the kernel log. Change-Id: I6d2af1d666ace57124089648ea906f6c787ac63c Signed-off-by: Andreas Sandberg Reviewed-by: Nikos Nikoleris Reviewed-by: Gabor Dozsa --- src/arch/arm/ArmSystem.py | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src/arch/arm/ArmSystem.py') diff --git a/src/arch/arm/ArmSystem.py b/src/arch/arm/ArmSystem.py index adbf2093e..ac04a56e4 100644 --- a/src/arch/arm/ArmSystem.py +++ b/src/arch/arm/ArmSystem.py @@ -98,6 +98,14 @@ class LinuxArmSystem(GenericArmSystem): type = 'LinuxArmSystem' cxx_header = "arch/arm/linux/system.hh" + @classmethod + def export_method_cxx_predecls(cls, code): + code('#include "arch/arm/linux/system.hh"') + + @classmethod + def export_methods(cls, code): + code('''void dumpDmesg();''') + class FreebsdArmSystem(GenericArmSystem): type = 'FreebsdArmSystem' cxx_header = "arch/arm/freebsd/system.hh" -- cgit v1.2.3