events.hh (8143:b0b94a7b7c1f) events.hh (11538:55014a40512c)
1/*
1/*
2 * Copyright (c) 2016 ARM Limited
3 * All rights reserved
4 *
5 * The license below extends only to copyright in the software and shall
6 * not be construed as granting a license to any other intellectual
7 * property including but not limited to intellectual property relating
8 * to a hardware implementation of the functionality of the software
9 * licensed hereunder. You may use the software subject to the license
10 * terms below provided that you ensure that this notice is replicated
11 * unmodified and in its entirety in all distributions of the software,
12 * modified or unmodified, in source code or in binary form.
13 *
2 * Copyright (c) 2004-2006 The Regents of The University of Michigan
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met: redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer;
9 * redistributions in binary form must reproduce the above copyright

--- 29 unchanged lines hidden (view full) ---

39class DebugPrintkEvent : public SkipFuncEvent
40{
41 public:
42 DebugPrintkEvent(PCEventQueue *q, const std::string &desc, Addr addr)
43 : SkipFuncEvent(q, desc, addr) {}
44 virtual void process(ThreadContext *xc);
45};
46
14 * Copyright (c) 2004-2006 The Regents of The University of Michigan
15 * All rights reserved.
16 *
17 * Redistribution and use in source and binary forms, with or without
18 * modification, are permitted provided that the following conditions are
19 * met: redistributions of source code must retain the above copyright
20 * notice, this list of conditions and the following disclaimer;
21 * redistributions in binary form must reproduce the above copyright

--- 29 unchanged lines hidden (view full) ---

51class DebugPrintkEvent : public SkipFuncEvent
52{
53 public:
54 DebugPrintkEvent(PCEventQueue *q, const std::string &desc, Addr addr)
55 : SkipFuncEvent(q, desc, addr) {}
56 virtual void process(ThreadContext *xc);
57};
58
59/**
60 * Dump the guest kernel's dmesg buffer to a file in gem5's output
61 * directory and print a warning.
62 *
63 * @warn This event uses Linux::dumpDmesg() and comes with the same
64 * limitations. Most importantly, the kernel's address mappings must
65 * be available to the translating proxy.
66 */
67class DmesgDumpEvent : public PCEvent
68{
69 protected:
70 std::string fname;
71
72 public:
73 DmesgDumpEvent(PCEventQueue *q, const std::string &desc, Addr addr,
74 const std::string &_fname)
75 : PCEvent(q, desc, addr), fname(_fname) {}
76 virtual void process(ThreadContext *xc);
77};
78
79/**
80 * Dump the guest kernel's dmesg buffer to a file in gem5's output
81 * directory and panic.
82 *
83 * @warn This event uses Linux::dumpDmesg() and comes with the same
84 * limitations. Most importantly, the kernel's address mappings must
85 * be available to the translating proxy.
86 */
87class KernelPanicEvent : public PCEvent
88{
89 protected:
90 std::string fname;
91
92 public:
93 KernelPanicEvent(PCEventQueue *q, const std::string &desc, Addr addr,
94 const std::string &_fname)
95 : PCEvent(q, desc, addr), fname(_fname) {}
96 virtual void process(ThreadContext *xc);
97};
98
47/** A class to skip udelay() and related calls in the kernel.
48 * This class has two additional parameters that take the argument to udelay and
49 * manipulated it to come up with ns and eventually ticks to quiesce for.
50 * See descriptions of argDivToNs and argMultToNs below.
51 */
52class UDelayEvent : public SkipFuncEvent
53{
54 private:

--- 22 unchanged lines hidden ---
99/** A class to skip udelay() and related calls in the kernel.
100 * This class has two additional parameters that take the argument to udelay and
101 * manipulated it to come up with ns and eventually ticks to quiesce for.
102 * See descriptions of argDivToNs and argMultToNs below.
103 */
104class UDelayEvent : public SkipFuncEvent
105{
106 private:

--- 22 unchanged lines hidden ---