trace: reimplement the DTRACE function so it doesn't use a vector
authorNathan Binkert <nate@binkert.org>
Fri, 15 Apr 2011 17:44:32 +0000 (10:44 -0700)
committerNathan Binkert <nate@binkert.org>
Fri, 15 Apr 2011 17:44:32 +0000 (10:44 -0700)
At the same time, rename the trace flags to debug flags since they
have broader usage than simply tracing.  This means that
--trace-flags is now --debug-flags and --trace-help is now --debug-help

221 files changed:
src/SConscript
src/arch/alpha/interrupts.hh
src/arch/alpha/kernel_stats.cc
src/arch/alpha/linux/process.cc
src/arch/alpha/linux/system.cc
src/arch/alpha/process.cc
src/arch/alpha/remote_gdb.cc
src/arch/alpha/stacktrace.hh
src/arch/alpha/system.cc
src/arch/alpha/tlb.cc
src/arch/alpha/vtophys.cc
src/arch/arm/faults.cc
src/arch/arm/isa.cc
src/arch/arm/isa.hh
src/arch/arm/isa/includes.isa
src/arch/arm/nativetrace.cc
src/arch/arm/predecoder.cc
src/arch/arm/process.cc
src/arch/arm/remote_gdb.cc
src/arch/arm/stacktrace.hh
src/arch/arm/tlb.cc
src/arch/arm/types.hh
src/arch/mips/faults.cc
src/arch/mips/isa.cc
src/arch/mips/isa/includes.isa
src/arch/mips/linux/process.cc
src/arch/mips/locked_mem.hh
src/arch/mips/process.cc
src/arch/mips/stacktrace.hh
src/arch/mips/tlb.cc
src/arch/power/process.cc
src/arch/power/stacktrace.hh
src/arch/power/tlb.cc
src/arch/sparc/interrupts.hh
src/arch/sparc/isa.cc
src/arch/sparc/isa/includes.isa
src/arch/sparc/process.cc
src/arch/sparc/remote_gdb.cc
src/arch/sparc/stacktrace.hh
src/arch/sparc/tlb.cc
src/arch/sparc/ua2005.cc
src/arch/sparc/vtophys.cc
src/arch/x86/faults.cc
src/arch/x86/insts/microregop.cc
src/arch/x86/insts/static_inst.hh
src/arch/x86/interrupts.cc
src/arch/x86/isa/includes.isa
src/arch/x86/nativetrace.cc
src/arch/x86/pagetable_walker.cc
src/arch/x86/predecoder.cc
src/arch/x86/predecoder.hh
src/arch/x86/process.cc
src/arch/x86/stacktrace.hh
src/arch/x86/tlb.cc
src/arch/x86/vtophys.cc
src/base/debug.cc
src/base/debug.hh
src/base/loader/aout_object.cc
src/base/loader/ecoff_object.cc
src/base/loader/elf_object.cc
src/base/loader/raw_object.cc
src/base/mysql.cc
src/base/remote_gdb.cc
src/base/trace.cc
src/base/trace.hh
src/base/vnc/vncserver.cc
src/cpu/SConscript
src/cpu/activity.cc
src/cpu/base.cc
src/cpu/base_dyn_inst_impl.hh
src/cpu/exetrace.cc
src/cpu/exetrace.hh
src/cpu/inorder/cpu.cc
src/cpu/inorder/first_stage.cc
src/cpu/inorder/inorder_dyn_inst.cc
src/cpu/inorder/inorder_dyn_inst.hh
src/cpu/inorder/inorder_trace.cc
src/cpu/inorder/pipeline_stage.cc
src/cpu/inorder/reg_dep_map.cc
src/cpu/inorder/resource.cc
src/cpu/inorder/resource_pool.cc
src/cpu/inorder/resource_sked.cc
src/cpu/inorder/resources/agen_unit.cc
src/cpu/inorder/resources/bpred_unit.cc
src/cpu/inorder/resources/branch_predictor.cc
src/cpu/inorder/resources/cache_unit.cc
src/cpu/inorder/resources/decode_unit.cc
src/cpu/inorder/resources/execution_unit.cc
src/cpu/inorder/resources/fetch_seq_unit.cc
src/cpu/inorder/resources/fetch_unit.cc
src/cpu/inorder/resources/graduation_unit.cc
src/cpu/inorder/resources/inst_buffer.cc
src/cpu/inorder/resources/mult_div_unit.cc
src/cpu/inorder/resources/use_def.cc
src/cpu/inorder/thread_context.cc
src/cpu/inteltrace.hh
src/cpu/intr_control.cc
src/cpu/nativetrace.cc
src/cpu/o3/bpred_unit_impl.hh
src/cpu/o3/commit_impl.hh
src/cpu/o3/cpu.cc
src/cpu/o3/decode_impl.hh
src/cpu/o3/fetch_impl.hh
src/cpu/o3/free_list.cc
src/cpu/o3/free_list.hh
src/cpu/o3/iew.hh
src/cpu/o3/iew_impl.hh
src/cpu/o3/inst_queue_impl.hh
src/cpu/o3/lsq_impl.hh
src/cpu/o3/lsq_unit.hh
src/cpu/o3/lsq_unit_impl.hh
src/cpu/o3/mem_dep_unit.hh
src/cpu/o3/mem_dep_unit_impl.hh
src/cpu/o3/regfile.hh
src/cpu/o3/rename_impl.hh
src/cpu/o3/rename_map.cc
src/cpu/o3/rob_impl.hh
src/cpu/o3/scoreboard.cc
src/cpu/o3/scoreboard.hh
src/cpu/o3/store_set.cc
src/cpu/o3/thread_context_impl.hh
src/cpu/pc_event.cc
src/cpu/pred/2bit_local.cc
src/cpu/pred/btb.cc
src/cpu/quiesce_event.cc
src/cpu/simple/atomic.cc
src/cpu/simple/base.cc
src/cpu/simple/timing.cc
src/cpu/simple_thread.hh
src/cpu/testers/directedtest/InvalidateGenerator.cc
src/cpu/testers/directedtest/RubyDirectedTester.cc
src/cpu/testers/directedtest/SeriesRequestGenerator.cc
src/cpu/testers/memtest/memtest.cc
src/cpu/testers/networktest/networktest.cc
src/cpu/testers/rubytest/Check.cc
src/cpu/testers/rubytest/CheckTable.cc
src/cpu/testers/rubytest/RubyTester.cc
src/cpu/thread_context.cc
src/dev/alpha/backdoor.cc
src/dev/alpha/tsunami_cchip.cc
src/dev/alpha/tsunami_io.cc
src/dev/alpha/tsunami_pchip.cc
src/dev/copy_engine.cc
src/dev/disk_image.cc
src/dev/etherbus.cc
src/dev/etherlink.cc
src/dev/ethertap.cc
src/dev/i8254xGBe.cc
src/dev/i8254xGBe.hh
src/dev/ide_ctrl.cc
src/dev/ide_disk.cc
src/dev/intel_8254_timer.cc
src/dev/intel_8254_timer.hh
src/dev/io_device.cc
src/dev/isa_fake.cc
src/dev/mc146818.cc
src/dev/ns_gige.cc
src/dev/pciconfigall.cc
src/dev/pcidev.cc
src/dev/simple_disk.cc
src/dev/sinic.cc
src/dev/sparc/iob.cc
src/dev/sparc/mm_disk.cc
src/dev/terminal.cc
src/dev/uart8250.cc
src/dev/x86/cmos.cc
src/dev/x86/i8042.cc
src/dev/x86/i82094aa.cc
src/dev/x86/i8254.cc
src/dev/x86/i8259.cc
src/dev/x86/speaker.cc
src/kern/linux/events.cc
src/kern/linux/linux.cc
src/kern/system_events.cc
src/kern/tru64/tru64.hh
src/kern/tru64/tru64_events.cc
src/mem/bridge.cc
src/mem/bus.cc
src/mem/cache/base.cc
src/mem/cache/base.hh
src/mem/cache/cache_impl.hh
src/mem/cache/mshr.cc
src/mem/cache/prefetch/base.cc
src/mem/cache/prefetch/ghb.cc
src/mem/cache/prefetch/stride.cc
src/mem/cache/tags/iic.cc
src/mem/cache/tags/lru.cc
src/mem/page_table.cc
src/mem/physical.cc
src/mem/port.cc
src/mem/ruby/buffers/MessageBuffer.cc
src/mem/ruby/common/NetDest.hh
src/mem/ruby/network/garnet/fixed-pipeline/NetworkInterface_d.cc
src/mem/ruby/network/garnet/fixed-pipeline/Switch_d.cc
src/mem/ruby/network/garnet/flexible-pipeline/NetworkInterface.cc
src/mem/ruby/network/garnet/flexible-pipeline/Router.cc
src/mem/ruby/network/simple/PerfectSwitch.cc
src/mem/ruby/network/simple/Throttle.cc
src/mem/ruby/network/simple/Topology.cc
src/mem/ruby/system/CacheMemory.cc
src/mem/ruby/system/DMASequencer.cc
src/mem/ruby/system/DirectoryMemory.cc
src/mem/ruby/system/RubyPort.cc
src/mem/ruby/system/Sequencer.cc
src/mem/ruby/system/SparseMemory.cc
src/mem/slicc/symbols/StateMachine.py
src/mem/tport.cc
src/python/m5/debug.py
src/python/m5/main.py
src/python/m5/trace.py
src/python/swig/debug.i
src/python/swig/trace.i
src/sim/eventq.cc
src/sim/eventq.hh
src/sim/faults.cc
src/sim/pseudo_inst.cc
src/sim/root.cc
src/sim/sim_object.cc
src/sim/syscall_emul.cc
src/sim/syscall_emul.hh
src/sim/system.cc

index 842044e4c668a469cc4aec8e6a25189a86408eae..77dec89a9cfb421d77c381c590ca27bac04fbb75 100755 (executable)
@@ -198,21 +198,23 @@ Export('UnitTest')
 
 ########################################################################
 #
-# Trace Flags
+# Debug Flags
 #
-trace_flags = {}
-def TraceFlag(name, desc=None):
-    if name in trace_flags:
+debug_flags = {}
+def DebugFlag(name, desc=None):
+    if name in debug_flags:
         raise AttributeError, "Flag %s already specified" % name
-    trace_flags[name] = (name, (), desc)
+    debug_flags[name] = (name, (), desc)
+TraceFlag = DebugFlag
 
 def CompoundFlag(name, flags, desc=None):
-    if name in trace_flags:
+    if name in debug_flags:
         raise AttributeError, "Flag %s already specified" % name
 
     compound = tuple(flags)
-    trace_flags[name] = (name, compound, desc)
+    debug_flags[name] = (name, compound, desc)
 
+Export('DebugFlag')
 Export('TraceFlag')
 Export('CompoundFlag')
 
@@ -622,81 +624,16 @@ for swig in SwigSource.all:
                 MakeAction(makeEmbeddedSwigInit, Transform("EMBED SW")))
     Source(init_file)
 
-def getFlags(source_flags):
-    flagsMap = {}
-    flagsList = []
-    for s in source_flags:
-        val = eval(s.get_contents())
-        name, compound, desc = val
-        flagsList.append(val)
-        flagsMap[name] = bool(compound)
-    
-    for name, compound, desc in flagsList:
-        for flag in compound:
-            if flag not in flagsMap:
-                raise AttributeError, "Trace flag %s not found" % flag
-            if flagsMap[flag]:
-                raise AttributeError, \
-                    "Compound flag can't point to another compound flag"
-
-    flagsList.sort()
-    return flagsList
-
-
-# Generate traceflags.py
-def traceFlagsPy(target, source, env):
-    assert(len(target) == 1)
-    code = code_formatter()
-
-    allFlags = getFlags(source)
-
-    code('basic = [')
-    code.indent()
-    for flag, compound, desc in allFlags:
-        if not compound:
-            code("'$flag',")
-    code(']')
-    code.dedent()
-    code()
-
-    code('compound = [')
-    code.indent()
-    code("'All',")
-    for flag, compound, desc in allFlags:
-        if compound:
-            code("'$flag',")
-    code("]")
-    code.dedent()
-    code()
-
-    code("all = frozenset(basic + compound)")
-    code()
-
-    code('compoundMap = {')
-    code.indent()
-    all = tuple([flag for flag,compound,desc in allFlags if not compound])
-    code("'All' : $all,")
-    for flag, compound, desc in allFlags:
-        if compound:
-            code("'$flag' : $compound,")
-    code('}')
-    code.dedent()
-    code()
-
-    code('descriptions = {')
-    code.indent()
-    code("'All' : 'All flags',")
-    for flag, compound, desc in allFlags:
-        code("'$flag' : '$desc',")
-    code("}")
-    code.dedent()
-
-    code.write(str(target[0]))
+#
+# Handle debug flags
+#
+def makeDebugFlagCC(target, source, env):
+    assert(len(target) == 1 and len(source) == 1)
 
-def traceFlagsCC(target, source, env):
-    assert(len(target) == 1)
+    val = eval(source[0].get_contents())
+    name, compound, desc = val
+    compound = list(sorted(compound))
 
-    allFlags = getFlags(source)
     code = code_formatter()
 
     # file header
@@ -705,75 +642,39 @@ def traceFlagsCC(target, source, env):
  * DO NOT EDIT THIS FILE! Automatically generated
  */
 
-#include "base/traceflags.hh"
-
-using namespace Trace;
-
-const char *Trace::flagStrings[] =
-{''')
-
-    code.indent()
-    # The string array is used by SimpleEnumParam to map the strings
-    # provided by the user to enum values.
-    for flag, compound, desc in allFlags:
-        if not compound:
-            code('"$flag",')
-
-    code('"All",')
-    for flag, compound, desc in allFlags:
-        if compound:
-            code('"$flag",')
-    code.dedent()
-
-    code('''\
-};
-
-const int Trace::numFlagStrings = ${{len(allFlags) + 1}};
-
+#include "base/debug.hh"
 ''')
 
-    # Now define the individual compound flag arrays.  There is an array
-    # for each compound flag listing the component base flags.
-    all = tuple([flag for flag,compound,desc in allFlags if not compound])
-    code('static const Flags AllMap[] = {')
-    code.indent()
-    for flag, compound, desc in allFlags:
-        if not compound:
-            code('$flag,')
-    code.dedent()
-    code('};')
+    for flag in compound:
+        code('#include "debug/$flag.hh"')
+    code()
+    code('namespace Debug {')
     code()
 
-    for flag, compound, desc in allFlags:
-        if not compound:
-            continue
-        code('static const Flags ${flag}Map[] = {')
+    if not compound:
+        code('SimpleFlag $name("$name", "$desc");')
+    else:
+        code('CompoundFlag $name("$name", "$desc",')
         code.indent()
-        for flag in compound:
-            code('$flag,')
-        code('(Flags)-1')
+        last = len(compound) - 1
+        for i,flag in enumerate(compound):
+            if i != last:
+                code('$flag,')
+            else:
+                code('$flag);')
         code.dedent()
-        code('};')
-        code()
 
-    # Finally the compoundFlags[] array maps the compound flags
-    # to their individual arrays/
-    code('const Flags *Trace::compoundFlags[] = {')
-    code.indent()
-    code('AllMap,')
-    for flag, compound, desc in allFlags:
-        if compound:
-            code('${flag}Map,')
-    # file trailer
-    code.dedent()
-    code('};')
+    code()
+    code('} // namespace Debug')
 
     code.write(str(target[0]))
 
-def traceFlagsHH(target, source, env):
-    assert(len(target) == 1)
+def makeDebugFlagHH(target, source, env):
+    assert(len(target) == 1 and len(source) == 1)
+
+    val = eval(source[0].get_contents())
+    name, compound, desc = val
 
-    allFlags = getFlags(source)
     code = code_formatter()
 
     # file header boilerplate
@@ -781,76 +682,43 @@ def traceFlagsHH(target, source, env):
 /*
  * DO NOT EDIT THIS FILE!
  *
- * Automatically generated from traceflags.py
+ * Automatically generated by SCons
  */
 
-#ifndef __BASE_TRACE_FLAGS_HH__
-#define __BASE_TRACE_FLAGS_HH__
+#ifndef __DEBUG_${name}_HH__
+#define __DEBUG_${name}_HH__
 
-namespace Trace {
-
-enum Flags {''')
+namespace Debug {
+''')
 
-    # Generate the enum.  Base flags come first, then compound flags.
-    idx = 0
-    code.indent()
-    for flag, compound, desc in allFlags:
-        if not compound:
-            code('$flag = $idx,')
-            idx += 1
+    if compound:
+        code('class CompoundFlag;')
+    code('class SimpleFlag;')
 
-    numBaseFlags = idx
-    code('NumFlags = $idx,')
-    code.dedent()
-    code()
+    if compound:
+        code('extern CompoundFlag $name;')
+        for flag in compound:
+            code('extern SimpleFlag $flag;')
+    else:
+        code('extern SimpleFlag $name;')
 
-    # put a comment in here to separate base from compound flags
     code('''
-// The remaining enum values are *not* valid indices for Trace::flags.
-// They are "compound" flags, which correspond to sets of base
-// flags, and are used by changeFlag.''')
-
-    code.indent()
-    code('All = $idx,')
-    idx += 1
-    for flag, compound, desc in allFlags:
-        if compound:
-            code('$flag = $idx,')
-            idx += 1
-
-    numCompoundFlags = idx - numBaseFlags
-    code('NumCompoundFlags = $numCompoundFlags')
-    code.dedent()
-
-    # trailer boilerplate
-    code('''\
-}; // enum Flags
-
-// Array of strings for SimpleEnumParam
-extern const char *flagStrings[];
-extern const int numFlagStrings;
-
-// Array of arraay pointers: for each compound flag, gives the list of
-// base flags to set.  Inidividual flag arrays are terminated by -1.
-extern const Flags *compoundFlags[];
-
-} // namespace Trace
+}
 
-#endif // __BASE_TRACE_FLAGS_HH__
+#endif // __DEBUG_${name}_HH__
 ''')
 
     code.write(str(target[0]))
 
-flags = map(Value, trace_flags.values())
-env.Command('base/traceflags.py', flags, 
-            MakeAction(traceFlagsPy, Transform("TRACING", 0)))
-PySource('m5', 'base/traceflags.py')
+for name,flag in sorted(debug_flags.iteritems()):
+    n, compound, desc = flag
+    assert n == name
 
-env.Command('base/traceflags.hh', flags,
-            MakeAction(traceFlagsHH, Transform("TRACING", 0)))
-env.Command('base/traceflags.cc', flags, 
-            MakeAction(traceFlagsCC, Transform("TRACING", 0)))
-Source('base/traceflags.cc')
+    env.Command('debug/%s.hh' % name, Value(flag),
+                MakeAction(makeDebugFlagHH, Transform("TRACING", 0)))
+    env.Command('debug/%s.cc' % name, Value(flag),
+                MakeAction(makeDebugFlagCC, Transform("TRACING", 0)))
+    Source('debug/%s.cc' % name)
 
 # Embed python files.  All .py files that have been indicated by a
 # PySource() call in a SConscript need to be embedded into the M5
index cbaa8e9bf4cfafd8bcf980c84b83ddb7e51d7776..ce3108d79e9756736b663e4784e4b4259151a02e 100644 (file)
@@ -37,6 +37,8 @@
 #include "base/compiler.hh"
 #include "base/trace.hh"
 #include "cpu/thread_context.hh"
+#include "debug/Flow.hh"
+#include "debug/Interrupt.hh"
 #include "params/AlphaInterrupts.hh"
 #include "sim/sim_object.hh"
 
index 70eeadd8e90114d8b6d72bbc3f588120602b5eca..c057e7f16174c38bbc17871d66ec8cb5082088dc 100644 (file)
@@ -38,6 +38,7 @@
 #include "arch/alpha/osfpal.hh"
 #include "base/trace.hh"
 #include "cpu/thread_context.hh"
+#include "debug/Context.hh"
 #include "kern/tru64/tru64_syscalls.hh"
 #include "sim/system.hh"
 
index 0e3c4ea37fd0b3afeff14661e7ec64d01af96252..97df1fecada0c61966ea4b59eca666ce8d41b631 100644 (file)
@@ -34,6 +34,7 @@
 #include "arch/alpha/isa_traits.hh"
 #include "base/trace.hh"
 #include "cpu/thread_context.hh"
+#include "debug/SyscallVerbose.hh"
 #include "kern/linux/linux.hh"
 #include "sim/process.hh"
 #include "sim/syscall_emul.hh"
index e7440e003c17a9c9c8c38c00d0b0c9c3283836a0..6ca603a3bf1d19f3ecd6ed7da2b77e06cc91ee6c 100644 (file)
@@ -48,6 +48,7 @@
 #include "base/loader/symtab.hh"
 #include "cpu/base.hh"
 #include "cpu/thread_context.hh"
+#include "debug/Thread.hh"
 #include "dev/platform.hh"
 #include "kern/linux/events.hh"
 #include "kern/linux/printk.hh"
index 269a7bd635f5b10fabd93781e7eef9fc12ba0f60..637fbe065673e95246078faff2f1b7c3f3c2ce5d 100644 (file)
@@ -35,6 +35,7 @@
 #include "base/loader/object_file.hh"
 #include "base/misc.hh"
 #include "cpu/thread_context.hh"
+#include "debug/Loader.hh"
 #include "mem/page_table.hh"
 #include "sim/byteswap.hh"
 #include "sim/process_impl.hh"
index f05b448fad312a97004e2507399fd6d5dbf5a40e..82fd9c2276352f830fafd7a3aa3b3fd1de92aba0 100644 (file)
 #include "base/trace.hh"
 #include "cpu/static_inst.hh"
 #include "cpu/thread_context.hh"
+#include "debug/GDBAcc.hh"
+#include "debug/GDBMisc.hh"
 #include "mem/physical.hh"
 #include "mem/port.hh"
 #include "sim/system.hh"
index c09ab357630f8c406d9c75a6861cfa221c3c02d9..669c657817a386e1bca01a7bcc5932d7c6c728d6 100644 (file)
@@ -33,6 +33,7 @@
 
 #include "base/trace.hh"
 #include "cpu/static_inst.hh"
+#include "debug/Stack.hh"
 
 class ThreadContext;
 
index 4964347fb2c9655eb7209f7ee924bc7e6ab9464b..6a55ef8ae99972e73268a65528e2962614574f6f 100644 (file)
@@ -37,6 +37,7 @@
 #include "base/loader/object_file.hh"
 #include "base/loader/symtab.hh"
 #include "base/trace.hh"
+#include "debug/Loader.hh"
 #include "mem/physical.hh"
 #include "mem/vport.hh"
 #include "params/AlphaSystem.hh"
index 6bcfffa3aaabb4a871088d173b335eb9dab03fb4..2c7e6732a08a4daa1a10107593c374726def9d83 100644 (file)
@@ -40,6 +40,7 @@
 #include "base/str.hh"
 #include "base/trace.hh"
 #include "cpu/thread_context.hh"
+#include "debug/TLB.hh"
 
 using namespace std;
 
index 4a043d8d1df47667ae38b25865381c44b98a2f52..c51cddd1187da649fe8bfb62a6f6ea06d0a46a79 100644 (file)
@@ -37,6 +37,7 @@
 #include "base/chunk_generator.hh"
 #include "base/trace.hh"
 #include "cpu/thread_context.hh"
+#include "debug/VtoPhys.hh"
 #include "mem/vport.hh"
 
 using namespace std;
index 4150adba68ee7dcd1e7510481da2d93ac6d950da..03a65ea88daa4ed4fa6b7a9c15a9437185439ac2 100644 (file)
@@ -46,6 +46,7 @@
 #include "base/trace.hh"
 #include "cpu/base.hh"
 #include "cpu/thread_context.hh"
+#include "debug/Faults.hh"
 
 namespace ArmISA
 {
index 9988d431a597cdd95c6c8b3be5f4234b10bb2014..f7334ca9b9c053f9eae3694d5a665783364c682c 100644 (file)
@@ -39,6 +39,8 @@
  */
 
 #include "arch/arm/isa.hh"
+#include "debug/Arm.hh"
+#include "debug/MiscRegs.hh"
 #include "sim/faults.hh"
 #include "sim/stat_control.hh"
 
index 88d08e97161c30a08cf6e66ca59d188b190b713a..48840bf07f0efa6686045561dd8680ba0ce92528 100644 (file)
@@ -46,6 +46,7 @@
 #include "arch/arm/registers.hh"
 #include "arch/arm/tlb.hh"
 #include "arch/arm/types.hh"
+#include "debug/Checkpoint.hh"
 
 class ThreadContext;
 class Checkpoint;
index aebce09442a9dda3747ef367d09153748632d5d7..b54545e10a6d73700b234802926bafc1972e5d35 100644 (file)
@@ -87,6 +87,7 @@ output exec {{
 #endif
 
 #include "base/cp_annotate.hh"
+#include "debug/Arm.hh"
 #include "mem/packet.hh"
 #include "mem/packet_access.hh"
 #include "sim/sim_exit.hh"
index 531a6ee2e92dd366893d4489ba38818c0fd75992..2dd225e800b85b80e2b7b2806f22be1a4ed44fcb 100644 (file)
@@ -44,6 +44,7 @@
 #include "arch/arm/miscregs.hh"
 #include "arch/arm/nativetrace.hh"
 #include "cpu/thread_context.hh"
+#include "debug/ExecRegDelta.hh"
 #include "params/ArmNativeTrace.hh"
 #include "sim/byteswap.hh"
 
index b87ca622e4b364b2249d385f88efb43c4c49bf67..a221f4e3016f6aa34b6049f5fceaffe6aab88c78 100644 (file)
@@ -46,6 +46,7 @@
 #include "arch/arm/utility.hh"
 #include "base/trace.hh"
 #include "cpu/thread_context.hh"
+#include "debug/Predecoder.hh"
 
 namespace ArmISA
 {
index 61349192f62a248c38934c1c8a4097e7ce06bcfe..c3b02744e6f9bf3805afc374157a7e098ecfa03d 100644 (file)
@@ -48,6 +48,7 @@
 #include "base/loader/object_file.hh"
 #include "base/misc.hh"
 #include "cpu/thread_context.hh"
+#include "debug/Stack.hh"
 #include "mem/page_table.hh"
 #include "mem/translating_port.hh"
 #include "sim/byteswap.hh"
index 2a4680782d04a5caabe60159d3bb4931dff25486..1303f6ffc1746cd08438929a5fed92ba7303e293 100644 (file)
 #include "cpu/static_inst.hh"
 #include "cpu/thread_context.hh"
 #include "cpu/thread_state.hh"
+#include "debug/GDBAcc.hh"
+#include "debug/GDBMisc.hh"
 #include "mem/page_table.hh"
 #include "mem/physical.hh"
 #include "mem/port.hh"
index 05fdb9e7858dda8fd9268a88ab4e70d0dae29034..f88ed352b21b3fdeec4a2bc525c941d9f7fa7985 100644 (file)
@@ -33,6 +33,7 @@
 
 #include "base/trace.hh"
 #include "cpu/static_inst.hh"
+#include "debug/Stack.hh"
 
 class ThreadContext;
 namespace ArmISA
index ccbca3d9c476e635a3ddf7bd3a2d113ff8f3a3d2..ca2b68b3b6dac9cbb771afe9b85a6a31d84335fa 100644 (file)
@@ -53,6 +53,9 @@
 #include "base/str.hh"
 #include "base/trace.hh"
 #include "cpu/thread_context.hh"
+#include "debug/Checkpoint.hh"
+#include "debug/TLB.hh"
+#include "debug/TLBVerbose.hh"
 #include "mem/page_table.hh"
 #include "params/ArmTLB.hh"
 #include "sim/process.hh"
index 6bd449e3d5e878da7d73d5b5a1e2dd03f4101fd4..9e7c0ff7f030d641ab74c65cc17976a103668e87 100644 (file)
@@ -48,6 +48,7 @@
 #include "base/hashmap.hh"
 #include "base/misc.hh"
 #include "base/types.hh"
+#include "debug/Predecoder.hh"
 
 namespace ArmISA
 {
index 9bb945dba18859da9fd1bb1eff9a26fc47947dca..652b5960cf61d1e0864cc9e672669464115700c5 100644 (file)
@@ -36,6 +36,7 @@
 #include "base/trace.hh"
 #include "cpu/base.hh"
 #include "cpu/thread_context.hh"
+#include "debug/MipsPRA.hh"
 
 #if !FULL_SYSTEM
 #include "mem/page_table.hh"
index 902574bace80f3806e506ef622c1fc073b36c15f..6a525ed3a877893f040e14c91a89e451cb7c64a6 100644 (file)
@@ -35,6 +35,7 @@
 #include "base/bitfield.hh"
 #include "cpu/base.hh"
 #include "cpu/thread_context.hh"
+#include "debug/MipsPRA.hh"
 
 namespace MipsISA
 {
index b0d1aa748020a54aeec14177c122c48e6e92c19b..73d751f6eae2b8bf360b2a624c2df29a7a622686 100644 (file)
@@ -82,6 +82,7 @@ output exec {{
 
 #include "cpu/base.hh"
 #include "cpu/exetrace.hh"
+#include "debug/MipsPRA.hh"
 #include "mem/packet.hh"
 #include "mem/packet_access.hh"
 #include "sim/eventq.hh"
index fa8e659b68978e17a81cdd7007c4ad0e2931e013..156d4ea0597d724c5f996ef0f8782ee423232308 100644 (file)
@@ -35,6 +35,7 @@
 #include "arch/mips/isa_traits.hh"
 #include "base/trace.hh"
 #include "cpu/thread_context.hh"
+#include "debug/SyscallVerbose.hh"
 #include "kern/linux/linux.hh"
 #include "sim/eventq.hh"
 #include "sim/process.hh"
index 1cc08ee3dc2059917558c72103d2110a392253ef..60df8252a90225f6c31e8879ffa742fdf08bd607 100644 (file)
@@ -40,6 +40,7 @@
 #include "arch/registers.hh"
 #include "base/misc.hh"
 #include "base/trace.hh"
+#include "debug/LLSC.hh"
 #include "mem/request.hh"
 
 namespace MipsISA
index b6f21c95c0dc255d5ec69e0394e5dc0282dcf8d2..c62b60b986a552fb3eb21268d8c43e0a517c61d1 100644 (file)
@@ -36,6 +36,7 @@
 #include "base/loader/object_file.hh"
 #include "base/misc.hh"
 #include "cpu/thread_context.hh"
+#include "debug/Loader.hh"
 #include "mem/page_table.hh"
 #include "sim/process.hh"
 #include "sim/process_impl.hh"
index 4c02cc86caf3d8b61443e2e6b12b3037c0f1021e..8520c3d1bb3903106ec010c54c452e3239307085 100644 (file)
@@ -33,6 +33,7 @@
 
 #include "base/trace.hh"
 #include "cpu/static_inst.hh"
+#include "debug/Stack.hh"
 
 class ThreadContext;
 
index b73eae72f1d944874bf96b1b01e772b8563d3daf..0f76363c8efbf616fdee946c650aacabdca4b6ee 100644 (file)
@@ -43,6 +43,8 @@
 #include "base/str.hh"
 #include "base/trace.hh"
 #include "cpu/thread_context.hh"
+#include "debug/MipsPRA.hh"
+#include "debug/TLB.hh"
 #include "mem/page_table.hh"
 #include "params/MipsTLB.hh"
 #include "sim/process.hh"
index a34a874bcc8a2a03df6526b160d4ce60f749a414..d12e3eab6c69d276e454d205307b569e77a190eb 100644 (file)
@@ -37,6 +37,7 @@
 #include "base/loader/object_file.hh"
 #include "base/misc.hh"
 #include "cpu/thread_context.hh"
+#include "debug/Stack.hh"
 #include "mem/page_table.hh"
 #include "mem/translating_port.hh"
 #include "sim/process_impl.hh"
index e87203df648ca0d87d6bb973a3d2625b344d4825..72a66e5bd302a6ac2447654c6b03c095a8b8d372 100644 (file)
@@ -37,6 +37,7 @@
 
 #include "base/trace.hh"
 #include "cpu/static_inst.hh"
+#include "debug/Stack.hh"
 
 class ThreadContext;
 class StackTrace;
index aa47b83c09d3c8deaa9e41e539b4f0f90893589c..8a088032c77b38cb61dfbbf823e39307402d5a21 100644 (file)
@@ -46,6 +46,8 @@
 #include "base/str.hh"
 #include "base/trace.hh"
 #include "cpu/thread_context.hh"
+#include "debug/Power.hh"
+#include "debug/TLB.hh"
 #include "mem/page_table.hh"
 #include "params/PowerTLB.hh"
 #include "sim/process.hh"
index 5e9ae2de0d8147478c31002b9607fcc17681fe13..b728e718827c73167f1582e5743ee122ebbe2057 100644 (file)
@@ -36,6 +36,7 @@
 #include "arch/sparc/isa_traits.hh"
 #include "arch/sparc/registers.hh"
 #include "cpu/thread_context.hh"
+#include "debug/Interrupt.hh"
 #include "params/SparcInterrupts.hh"
 #include "sim/sim_object.hh"
 
index c6056759845084d5d039ee82505147d20c5c6b0c..6c9be81645a8f7f5e7ea54645c6b44809004c889 100644 (file)
@@ -35,6 +35,8 @@
 #include "config/full_system.hh"
 #include "cpu/base.hh"
 #include "cpu/thread_context.hh"
+#include "debug/MiscRegs.hh"
+#include "debug/Timer.hh"
 
 namespace SparcISA
 {
index 8ef753d2e6dd1c59d5138a83525267ed9a61f9e7..885cd9cc23ea749749de835ceedb49746653ea10 100644 (file)
@@ -74,6 +74,7 @@ output exec {{
 #include "base/bigint.hh"
 #include "cpu/base.hh"
 #include "cpu/exetrace.hh"
+#include "debug/Sparc.hh"
 #include "mem/packet.hh"
 #include "mem/packet_access.hh"
 #include "sim/sim_exit.hh"
index bd3db92b65394a93bfad2e801cdacb6e1337dae3..3eee3d137b11eb7d7e05acf885202c83eafd1be6 100644 (file)
@@ -39,6 +39,7 @@
 #include "base/loader/object_file.hh"
 #include "base/misc.hh"
 #include "cpu/thread_context.hh"
+#include "debug/Stack.hh"
 #include "mem/page_table.hh"
 #include "mem/translating_port.hh"
 #include "sim/process_impl.hh"
index 86c28723760d710039348b6918b07528c8c6de7b..48f0c3e47bac9ee825ab3a4e373ef0b7bb3ae3ba 100644 (file)
 #include "config/full_system.hh"
 #include "cpu/static_inst.hh"
 #include "cpu/thread_context.hh"
+#include "debug/GDBRead.hh"
 #include "mem/page_table.hh"
 #include "mem/physical.hh"
 #include "mem/port.hh"
index 0b7d0b0c143a6e27c710d9360d43adf1b3bcef4e..1e7853d1c8e4db5581cb1bf59a4b23d492d2a246 100644 (file)
@@ -35,6 +35,7 @@
 
 #include "base/types.hh"
 #include "cpu/static_inst.hh"
+#include "debug/Stack.hh"
 
 class ThreadContext;
 namespace SparcISA
index 8742cfd32e0879279dea528df9eefec88ec6c3ae..00ec4e41154d7dbf6d373431662bf40e90633617 100644 (file)
@@ -38,6 +38,8 @@
 #include "base/trace.hh"
 #include "cpu/base.hh"
 #include "cpu/thread_context.hh"
+#include "debug/IPR.hh"
+#include "debug/TLB.hh"
 #include "mem/packet_access.hh"
 #include "mem/request.hh"
 #include "sim/system.hh"
index efab8b832acc54cfbcb3cf6eda8a269e8387569e..67c17900b989189ada99ea61ea8b02e18fc8a102 100644 (file)
@@ -33,6 +33,8 @@
 #include "base/trace.hh"
 #include "cpu/base.hh"
 #include "cpu/thread_context.hh"
+#include "debug/Quiesce.hh"
+#include "debug/Timer.hh"
 #include "sim/system.hh"
 
 using namespace SparcISA;
index c8f35fe8b9f91ab08ae1699f853ffb30f895188e..edcf88828dbc2c8f03492fb46bf40d5a4883406c 100644 (file)
@@ -36,6 +36,7 @@
 #include "base/compiler.hh"
 #include "base/trace.hh"
 #include "cpu/thread_context.hh"
+#include "debug/VtoPhys.hh"
 #include "mem/vport.hh"
 
 using namespace std;
index 7fb677c69be9f271287573b158bee29476faf549..feb88fd763f1b539d0841a78c7285cfe6d9f94a0 100644 (file)
 #include "base/trace.hh"
 #include "config/full_system.hh"
 #include "cpu/thread_context.hh"
+
 #if !FULL_SYSTEM
 #include "arch/x86/isa_traits.hh"
 #include "mem/page_table.hh"
 #include "sim/process.hh"
 #else
 #include "arch/x86/tlb.hh"
+#include "debug/Faults.hh"
 #endif
 
 namespace X86ISA
index dedea0f3d6ccd08158cac7f466db21f310410015..f5f32e30ff8677b55e6fdd559a39bd320f79ccf8 100644 (file)
@@ -42,6 +42,7 @@
 #include "arch/x86/insts/microregop.hh"
 #include "arch/x86/regs/misc.hh"
 #include "base/condcodes.hh"
+#include "debug/X86.hh"
 
 namespace X86ISA
 {
index 8813f216c4a77ee4fa62be08748f340541225482..b4e348fd9ee72a61a16560074f197211d433933f 100644 (file)
@@ -42,6 +42,7 @@
 
 #include "base/trace.hh"
 #include "cpu/static_inst.hh"
+#include "debug/X86.hh"
 
 namespace X86ISA
 {
index c45b0c344a44a33088996bef9d76223866b0efd5..7d6f6e35e3b00affc5b4362a956d6c7040e42382 100644 (file)
@@ -41,6 +41,7 @@
 #include "arch/x86/interrupts.hh"
 #include "arch/x86/intmessage.hh"
 #include "cpu/base.hh"
+#include "debug/LocalApic.hh"
 #include "dev/x86/i82094aa.hh"
 #include "dev/x86/pc.hh"
 #include "dev/x86/south_bridge.hh"
index 6f4c4008e0e1e6eed04fe008a1d4d6e1a5bd0181..8d4af6829501a4d0ff65ac729d52bb6d6b57e9f0 100644 (file)
@@ -118,6 +118,7 @@ output exec {{
 #include "base/condcodes.hh"
 #include "cpu/base.hh"
 #include "cpu/exetrace.hh"
+#include "debug/X86.hh"
 #include "mem/packet.hh"
 #include "mem/packet_access.hh"
 #include "mem/request.hh"
index 3dd5890bc79fb100e5019b7afff84ef0d03ee3ad..557508ee71e64e9360a3107ea622480407d8bcee 100644 (file)
@@ -33,6 +33,7 @@
 #include "arch/x86/isa_traits.hh"
 #include "arch/x86/nativetrace.hh"
 #include "cpu/thread_context.hh"
+#include "debug/ExecRegDelta.hh"
 #include "params/X86NativeTrace.hh"
 #include "sim/byteswap.hh"
 
index 835cc69ad406109207c2d9988c34939fd2616eba..c80fe10fcf789bed7598b46f999ef9665d3135bc 100644 (file)
@@ -44,6 +44,7 @@
 #include "base/bitfield.hh"
 #include "cpu/base.hh"
 #include "cpu/thread_context.hh"
+#include "debug/PageTableWalker.hh"
 #include "mem/packet_access.hh"
 #include "mem/request.hh"
 #include "sim/system.hh"
index 0318230e5659051d2dcb8037ab048cb6ec00869c..429b91687cddc51f8f182f2d593493145008f5b4 100644 (file)
@@ -43,6 +43,7 @@
 #include "base/trace.hh"
 #include "base/types.hh"
 #include "cpu/thread_context.hh"
+#include "debug/Predecoder.hh"
 
 namespace X86ISA
 {
index f0d9cda8174ba5cce2ec8079545768911011e8d5..49938dd16f1b3f5defec7d99d79fbe398d7d90df 100644 (file)
@@ -48,6 +48,7 @@
 #include "base/misc.hh"
 #include "base/trace.hh"
 #include "base/types.hh"
+#include "debug/Predecoder.hh"
 
 class ThreadContext;
 
index 693a8fabe965ccabb3bd0613e4349ad1d3995ef8..79a1407768964a429b210584f253c779fadf0966 100644 (file)
@@ -51,6 +51,7 @@
 #include "base/misc.hh"
 #include "base/trace.hh"
 #include "cpu/thread_context.hh"
+#include "debug/Stack.hh"
 #include "mem/page_table.hh"
 #include "mem/translating_port.hh"
 #include "sim/process_impl.hh"
index 854fb397c0cd8990a55cdcc4541635f6eea9387d..e9d6900d8e55a647896a836a4dd13222f8308e5c 100644 (file)
@@ -33,6 +33,7 @@
 
 #include "base/trace.hh"
 #include "cpu/static_inst.hh"
+#include "debug/Stack.hh"
 
 class ThreadContext;
 namespace X86ISA
index f5e73dcee93721de8b7bb3872f72bf7ff5208668..199f070d310fef53199b4fd16f16a0ed0b6c65f0 100644 (file)
@@ -50,6 +50,7 @@
 #include "config/full_system.hh"
 #include "cpu/base.hh"
 #include "cpu/thread_context.hh"
+#include "debug/TLB.hh"
 #include "mem/packet_access.hh"
 #include "mem/request.hh"
 
index 0fa43fd4c682e6d173b58068687d9c2a3ae55347..60ce37131b43c6054acd70de1e7407d903b03270 100644 (file)
@@ -45,6 +45,7 @@
 #include "base/trace.hh"
 #include "config/full_system.hh"
 #include "cpu/thread_context.hh"
+#include "debug/VtoPhys.hh"
 #include "sim/fault_fwd.hh"
 
 using namespace std;
index 6f01b3fc026021576261bbe1c2b0253ad0d53697..be301da07f517e0785d004b9a068f68bbebdc9d5 100644 (file)
 #include <sys/types.h>
 #include <unistd.h>
 
+#include <algorithm>
 #include <csignal>
+#include <map>
+#include <vector>
 
 #include "base/cprintf.hh"
+#include "base/debug.hh"
+#include "base/misc.hh"
+
+using namespace std;
 
 namespace Debug {
 
+//
+// This function will cause the process to signal itself with a
+// SIGTRAP which is ignored if not in gdb, but will cause the debugger
+// to break if in gdb.
+//
 void
 breakpoint()
 {
@@ -47,4 +59,127 @@ breakpoint()
 #endif
 }
 
+//
+// Flags for debugging purposes.  Primarily for trace.hh
+//
+typedef std::map<string, Flag *> FlagsMap;
+int allFlagsVersion = 0;
+FlagsMap &
+allFlags()
+{
+    static FlagsMap flags;
+    return flags;
+}
+
+Flag *
+findFlag(const std::string &name)
+{
+    FlagsMap::iterator i = allFlags().find(name);
+    if (i == allFlags().end())
+        return NULL;
+    return i->second;
+}
+
+Flag::Flag(const char *name, const char *desc)
+    : _name(name), _desc(desc)
+{
+    pair<FlagsMap::iterator, bool> result =
+        allFlags().insert(make_pair(name, this));
+
+    if (!result.second)
+        panic("Flag %s already defined!", name);
+
+    ++allFlagsVersion;
+}
+
+Flag::~Flag()
+{
+    // should find and remove flag.
+}
+
+void
+CompoundFlag::enable()
+{
+    SimpleFlag::enable();
+    for_each(flags.begin(), flags.end(), mem_fun(&Flag::enable));
+}
+
+void
+CompoundFlag::disable()
+{
+    SimpleFlag::disable();
+    for_each(flags.begin(), flags.end(), mem_fun(&Flag::disable));
+}
+
+struct AllFlags : public Flag
+{
+    AllFlags()
+        : Flag("All", "All Flags")
+    {}
+
+    void
+    enable()
+    {
+        FlagsMap::iterator i = allFlags().begin();
+        FlagsMap::iterator end = allFlags().end();
+        for (; i != end; ++i)
+            if (i->second != this)
+                i->second->enable();
+    }
+
+    void
+    disable()
+    {
+        FlagsMap::iterator i = allFlags().begin();
+        FlagsMap::iterator end = allFlags().end();
+        for (; i != end; ++i)
+            if (i->second != this)
+                i->second->enable();
+    }
+};
+
+AllFlags theAllFlags;
+Flag *const All = &theAllFlags;
+
+bool
+changeFlag(const char *s, bool value)
+{
+    Flag *f = findFlag(s);
+    if (!f)
+        return false;
+
+    if (value)
+        f->enable();
+    else
+        f->disable();
+
+    return true;
+}
+
 } // namespace Debug
+
+// add a set of functions that can easily be invoked from gdb
+void
+setDebugFlag(const char *string)
+{
+    Debug::changeFlag(string, true);
+}
+
+void
+clearDebugFlag(const char *string)
+{
+    Debug::changeFlag(string, false);
+}
+
+void
+dumpDebugFlags()
+{
+    using namespace Debug;
+    FlagsMap::iterator i = allFlags().begin();
+    FlagsMap::iterator end = allFlags().end();
+    for (; i != end; ++i) {
+        SimpleFlag *f = dynamic_cast<SimpleFlag *>(i->second);
+        if (f && f->status())
+            cprintf("%s\n", f->name());
+    }
+}
index ee7402912cf2e35828dc00094d5da717edad9ee5..ced6b4f488402130b84e6d8c87228a1795347873 100644 (file)
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2003-2005 The Regents of The University of Michigan
+ * Copyright (c) 2010 The Hewlett-Packard Development Company
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
 #ifndef __BASE_DEBUG_HH__
 #define __BASE_DEBUG_HH__
 
+#include <string>
+#include <vector>
+
 namespace Debug {
 
 void breakpoint();
 
+class Flag
+{
+  protected:
+    const char *_name;
+    const char *_desc;
+
+  public:
+    Flag(const char *name, const char *desc);
+    virtual ~Flag();
+
+    std::string name() const { return _name; }
+    std::string desc() const { return _desc; }
+
+    virtual void enable() = 0;
+    virtual void disable() = 0;
+};
+
+class SimpleFlag : public Flag
+{
+  protected:
+    bool _status;
+
+  public:
+    SimpleFlag(const char *name, const char *desc)
+        : Flag(name, desc)
+    { }
+
+    bool status() const { return _status; }
+    operator bool() const { return _status; }
+    bool operator!() const { return !_status; }
+
+    void enable() { _status = true; }
+    void disable() { _status = false; }
+};
+
+class CompoundFlag : public SimpleFlag
+{
+  protected:
+    std::vector<Flag *> flags;
+
+  public:
+    CompoundFlag(const char *name, const char *desc,
+        Flag &f00 = *(Flag *)0, Flag &f01 = *(Flag *)0,
+        Flag &f02 = *(Flag *)0, Flag &f03 = *(Flag *)0,
+        Flag &f04 = *(Flag *)0, Flag &f05 = *(Flag *)0,
+        Flag &f06 = *(Flag *)0, Flag &f07 = *(Flag *)0,
+        Flag &f08 = *(Flag *)0, Flag &f09 = *(Flag *)0,
+        Flag &f10 = *(Flag *)0, Flag &f11 = *(Flag *)0,
+        Flag &f12 = *(Flag *)0, Flag &f13 = *(Flag *)0,
+        Flag &f14 = *(Flag *)0, Flag &f15 = *(Flag *)0,
+        Flag &f16 = *(Flag *)0, Flag &f17 = *(Flag *)0,
+        Flag &f18 = *(Flag *)0, Flag &f19 = *(Flag *)0)
+        : SimpleFlag(name, desc)
+    {
+        addFlag(f00); addFlag(f01); addFlag(f02); addFlag(f03); addFlag(f04);
+        addFlag(f05); addFlag(f06); addFlag(f07); addFlag(f08); addFlag(f09);
+        addFlag(f10); addFlag(f11); addFlag(f12); addFlag(f13); addFlag(f14);
+        addFlag(f15); addFlag(f16); addFlag(f17); addFlag(f18); addFlag(f19);
+    }
+
+    void
+    addFlag(Flag &f)
+    {
+        if (&f != NULL)
+            flags.push_back(&f);
+    }
+
+    void enable();
+    void disable();
+};
+
 } // namespace Debug
 
 #endif // __BASE_DEBUG_HH__
index 31a6a2868195c782805fa923fec27d93d7c9e173..756f03a9e2c5f4fc63275b45c95abd12dfab17e7 100644 (file)
@@ -34,6 +34,7 @@
 #include "base/loader/exec_aout.h"
 #include "base/loader/symtab.hh"
 #include "base/trace.hh"
+#include "debug/Loader.hh"
 
 using namespace std;
 
index 2027a2e1e7ed7953019366c178cf70a265e3636d..263085d16cab904ea9cc60eb7e86bdbe5f50b562 100644 (file)
@@ -35,6 +35,7 @@
 #include "base/misc.hh"
 #include "base/trace.hh"
 #include "base/types.hh"
+#include "debug/Loader.hh"
 
 // Only alpha will be able to load ecoff files for now.
 // base/types.hh and ecoff_machdep.h must be before the other .h files
index 22316c0d6b66d3d8d5959f69dd85075ed1d5f5ac..6fcbd0ae3e506a527fefc9808a71df6457af210e 100644 (file)
@@ -37,6 +37,7 @@
 #include "base/bitfield.hh"
 #include "base/misc.hh"
 #include "base/trace.hh"
+#include "debug/Loader.hh"
 #include "sim/byteswap.hh"
 #include "gelf.h"
 
index d002d9005264d733aed1cbefc46791eebc90fab5..eb1e06d3ffff56e6c5823b4cd223e82e1ce3d4f6 100644 (file)
@@ -31,6 +31,7 @@
 #include "base/loader/raw_object.hh"
 #include "base/loader/symtab.hh"
 #include "base/trace.hh"
+#include "debug/Loader.hh"
 
 ObjectFile *
 RawObject::tryFile(const std::string &fname, int fd, size_t len, uint8_t *data)
index 3216bcf43882672d9f57b0bec467f3a7fa286b41..a029c13b527b53d19f0d9825e72d7e65e655eda5 100644 (file)
@@ -32,6 +32,7 @@
 
 #include "base/mysql.hh"
 #include "base/trace.hh"
+#include "debug/SQL.hh"
 
 using namespace std;
 
index 02ee8e331fa0c8e4b971c4d7e2ca46a838b84432..01e50824eceee9df3b545be33dd6fbecac8b0b09 100644 (file)
 #include "config/the_isa.hh"
 #include "cpu/static_inst.hh"
 #include "cpu/thread_context.hh"
+#include "debug/GDBAll.hh"
 #include "mem/port.hh"
 #include "mem/translating_port.hh"
 #include "sim/system.hh"
 
 using namespace std;
+using namespace Debug;
 using namespace TheISA;
 
 #ifndef NDEBUG
index 7783b6d426280d885fb364c1865a0cf6df3abdc3..1a035d400575715d3b9c00dc18581aefc5c04014 100644 (file)
@@ -32,9 +32,7 @@
 #include <cctype>
 #include <fstream>
 #include <iostream>
-#include <list>
 #include <string>
-#include <vector>
 
 #include "base/misc.hh"
 #include "base/output.hh"
@@ -45,8 +43,8 @@
 using namespace std;
 
 namespace Trace {
+
 const string DefaultName("global");
-FlagVec flags(NumFlags, false);
 bool enabled = false;
 
 //
@@ -149,63 +147,4 @@ dump(Tick when, const std::string &name, const void *d, int len)
     }
 }
 
-bool
-changeFlag(const char *s, bool value)
-{
-    using namespace Trace;
-    std::string str(s);
-
-    for (int i = 0; i < numFlagStrings; ++i) {
-        if (str != flagStrings[i])
-            continue;
-
-        if (i < NumFlags) {
-            flags[i] = value;
-        } else {
-            i -= NumFlags;
-
-            const Flags *flagVec = compoundFlags[i];
-            for (int j = 0; flagVec[j] != -1; ++j) {
-                if (flagVec[j] < NumFlags)
-                    flags[flagVec[j]] = value;
-            }
-        }
-
-        return true;
-    }
-
-    // the flag was not found.
-    return false;
-}
-
-void
-dumpStatus()
-{
-    using namespace Trace;
-    for (int i = 0; i < numFlagStrings; ++i) {
-        if (flags[i])
-            cprintf("%s\n", flagStrings[i]);
-    }
-}
-
 } // namespace Trace
-
-
-// add a set of functions that can easily be invoked from gdb
-void
-setTraceFlag(const char *string)
-{
-    Trace::changeFlag(string, true);
-}
-
-void
-clearTraceFlag(const char *string)
-{
-    Trace::changeFlag(string, false);
-}
-
-void
-dumpTraceStatus()
-{
-    Trace::dumpStatus();
-}
index a03a34018467f407f3ddff8df0d71890a3cb9288..dbeffdc8be4981bd152f05dbdbd19dc66d58a8a4 100644 (file)
 #define __BASE_TRACE_HH__
 
 #include <string>
-#include <vector>
 
 #include "base/cprintf.hh"
+#include "base/debug.hh"
 #include "base/match.hh"
-#include "base/traceflags.hh"
 #include "base/types.hh"
 #include "sim/core.hh"
 
 namespace Trace {
 
+using Debug::SimpleFlag;
+using Debug::CompoundFlag;
+
 std::ostream &output();
 void setOutput(const std::string &filename);
 
 extern bool enabled;
-typedef std::vector<bool> FlagVec;
-extern FlagVec flags;
-inline bool IsOn(int t) { return flags[t]; }
 bool changeFlag(const char *str, bool value);
 void dumpStatus();
 
@@ -85,25 +84,28 @@ inline const std::string &name() { return Trace::DefaultName; }
 
 #if TRACING_ON
 
-#define DTRACE(x) (Trace::IsOn(Trace::x) && Trace::enabled)
+#define DTRACE(x) ((Debug::x) && Trace::enabled)
 
 #define DDUMP(x, data, count) do {                              \
+    using namespace Debug;                                      \
     if (DTRACE(x))                                              \
         Trace::dump(curTick(), name(), data, count);              \
 } while (0)
 
 #define DPRINTF(x, ...) do {                                    \
+    using namespace Debug;                                      \
     if (DTRACE(x))                                              \
         Trace::dprintf(curTick(), name(), __VA_ARGS__);           \
 } while (0)
 
-#define DPRINTFS(x,s, ...) do {                                    \
+#define DPRINTFS(x, s, ...) do {                                \
+    using namespace Debug;                                      \
     if (DTRACE(x))                                              \
-        Trace::dprintf(curTick(), s->name(), __VA_ARGS__);           \
+        Trace::dprintf(curTick(), s->name(), __VA_ARGS__);      \
 } while (0)
 
-
 #define DPRINTFR(x, ...) do {                                   \
+    using namespace Debug;                                      \
     if (DTRACE(x))                                              \
         Trace::dprintf((Tick)-1, std::string(), __VA_ARGS__);   \
 } while (0)
index 84e1a20e17aa555c158b7b4182b85c8eca14a3bc..18e581bfec859164da8758b2f08744a57973bc0c 100644 (file)
@@ -55,6 +55,7 @@
 #include "base/misc.hh"
 #include "base/socket.hh"
 #include "base/trace.hh"
+#include "debug/VNC.hh"
 #include "sim/byteswap.hh"
 
 using namespace std;
index 99308c2fb4522273a8c35ec7cbddc7a10c0373b4..fb7c8684551a2a81a0ec243739ba9902077abb88 100644 (file)
@@ -173,6 +173,10 @@ TraceFlag('IntrControl')
 TraceFlag('PCEvent')
 TraceFlag('Quiesce')
 
+CompoundFlag('ExecAll', [ 'ExecEnable', 'ExecCPSeq', 'ExecEffAddr',
+    'ExecFaulting', 'ExecFetchSeq', 'ExecOpClass', 'ExecRegDelta',
+    'ExecResult', 'ExecSpeculative', 'ExecSymbol', 'ExecThread',
+    'ExecTicks', 'ExecMicro', 'ExecMacro' ])
 CompoundFlag('Exec', [ 'ExecEnable', 'ExecTicks', 'ExecOpClass', 'ExecThread',
     'ExecEffAddr', 'ExecResult', 'ExecSymbol', 'ExecMicro', 'ExecFaulting' ])
 CompoundFlag('ExecNoTicks', [ 'ExecEnable', 'ExecOpClass', 'ExecThread',
index 84f88d594721493d0b9533684006cba0d5def547..13613cffc0a18de1c36223cc976fae8936f7bb3f 100644 (file)
@@ -32,6 +32,7 @@
 
 #include "cpu/activity.hh"
 #include "cpu/timebuf.hh"
+#include "debug/Activity.hh"
 
 using namespace std;
 
index 1d249b274f4da813bec277ad640f10402a08d63d..1e25a5982e456f8cc6e45acee2405dfab162a286 100644 (file)
@@ -45,6 +45,7 @@
 #include "cpu/cpuevent.hh"
 #include "cpu/profile.hh"
 #include "cpu/thread_context.hh"
+#include "debug/SyscallVerbose.hh"
 #include "params/BaseCPU.hh"
 #include "sim/process.hh"
 #include "sim/sim_events.hh"
index 688d5c66bd5bce81405e26440a6ff28f9c0ae9a6..226291e1df30908125e3ac13bcc899b171933b99 100644 (file)
@@ -50,6 +50,8 @@
 #include "config/the_isa.hh"
 #include "cpu/base_dyn_inst.hh"
 #include "cpu/exetrace.hh"
+#include "debug/DynInst.hh"
+#include "debug/IQ.hh"
 #include "mem/request.hh"
 #include "sim/faults.hh"
 
index ea90ba7c2264a9336c85a1a723635de51bef9d9b..a6450ffe3b5a175fea1b4ff18742b6147237fcb2 100644 (file)
@@ -41,6 +41,7 @@
 #include "cpu/exetrace.hh"
 #include "cpu/static_inst.hh"
 #include "cpu/thread_context.hh"
+#include "debug/ExecAll.hh"
 #include "enums/OpClass.hh"
 
 using namespace std;
@@ -59,22 +60,21 @@ Trace::ExeTracerRecord::traceInst(StaticInstPtr inst, bool ran)
 {
     ostream &outs = Trace::output();
 
-    if (IsOn(ExecTicks))
+    if (Debug::ExecTicks)
         dumpTicks(outs);
 
     outs << thread->getCpuPtr()->name() << " ";
 
-    if (IsOn(ExecSpeculative))
+    if (Debug::ExecSpeculative)
         outs << (misspeculating ? "-" : "+") << " ";
 
-    if (IsOn(ExecThread))
+    if (Debug::ExecThread)
         outs << "T" << thread->threadId() << " : ";
 
     std::string sym_str;
     Addr sym_addr;
     Addr cur_pc = pc.instAddr();
-    if (debugSymbolTable
-        && IsOn(ExecSymbol)
+    if (debugSymbolTable && Debug::ExecSymbol
 #if FULL_SYSTEM
         && !inUserMode(thread)
 #endif
@@ -104,25 +104,25 @@ Trace::ExeTracerRecord::traceInst(StaticInstPtr inst, bool ran)
     if (ran) {
         outs << " : ";
 
-        if (IsOn(ExecOpClass)) {
+        if (Debug::ExecOpClass) {
             outs << Enums::OpClassStrings[inst->opClass()] << " : ";
         }
 
-        if (IsOn(ExecResult) && predicate == false) {
+        if (Debug::ExecResult && predicate == false) {
             outs << "Predicated False";
         }
 
-        if (IsOn(ExecResult) && data_status != DataInvalid) {
+        if (Debug::ExecResult && data_status != DataInvalid) {
             ccprintf(outs, " D=%#018x", data.as_int);
         }
 
-        if (IsOn(ExecEffAddr) && addr_valid)
+        if (Debug::ExecEffAddr && addr_valid)
             outs << " A=0x" << hex << addr;
 
-        if (IsOn(ExecFetchSeq) && fetch_seq_valid)
+        if (Debug::ExecFetchSeq && fetch_seq_valid)
             outs << "  FetchSeq=" << dec << fetch_seq;
 
-        if (IsOn(ExecCPSeq) && cp_seq_valid)
+        if (Debug::ExecCPSeq && cp_seq_valid)
             outs << "  CPSeq=" << dec << cp_seq;
     }
 
@@ -143,14 +143,14 @@ Trace::ExeTracerRecord::dump()
      * finishes. Macroops then behave like regular instructions and don't
      * complete/print when they fault.
      */
-    if (IsOn(ExecMacro) && staticInst->isMicroop() &&
-            ((IsOn(ExecMicro) &&
-             macroStaticInst && staticInst->isFirstMicroop()) ||
-            (!IsOn(ExecMicro) &&
+    if (Debug::ExecMacro && staticInst->isMicroop() &&
+        ((Debug::ExecMicro &&
+            macroStaticInst && staticInst->isFirstMicroop()) ||
+            (!Debug::ExecMicro &&
              macroStaticInst && staticInst->isLastMicroop()))) {
         traceInst(macroStaticInst, false);
     }
-    if (IsOn(ExecMicro) || !staticInst->isMicroop()) {
+    if (Debug::ExecMicro || !staticInst->isMicroop()) {
         traceInst(staticInst, true);
     }
 }
index 5dc65b48b386f4309028809c376ca401e22b1dc1..6d9f2a33726ff58fe6fe92f42a2d8266e9906dad 100644 (file)
@@ -36,6 +36,8 @@
 #include "base/types.hh"
 #include "cpu/static_inst.hh"
 #include "cpu/thread_context.hh"
+#include "debug/ExecEnable.hh"
+#include "debug/ExecSpeculative.hh"
 #include "params/ExeTracer.hh"
 #include "sim/insttracer.hh"
 
@@ -72,13 +74,13 @@ class ExeTracer : public InstTracer
             const StaticInstPtr staticInst, TheISA::PCState pc,
             const StaticInstPtr macroStaticInst = NULL)
     {
-        if (!IsOn(ExecEnable))
+        if (!Debug::ExecEnable)
             return NULL;
 
         if (!Trace::enabled)
             return NULL;
 
-        if (!IsOn(ExecSpeculative) && tc->misspeculating())
+        if (!Debug::ExecSpeculative && tc->misspeculating())
             return NULL;
 
         return new ExeTracerRecord(when, tc,
index f7fff05d3e00bfa821e37f467544cfd2f9cc6d96..c2702067123c901d809b8a4b4832e1e665f668dd 100644 (file)
 #include "cpu/exetrace.hh"
 #include "cpu/simple_thread.hh"
 #include "cpu/thread_context.hh"
+#include "debug/Activity.hh"
+#include "debug/InOrderCPU.hh"
+#include "debug/RefCount.hh"
+#include "debug/SkedCache.hh"
 #include "mem/translating_port.hh"
 #include "params/InOrderCPU.hh"
 #include "sim/process.hh"
index bf57681a733ae92190f58efa97296e6c5d96474d..20fd9169fe204571cf4292ed1a225190c85f685a 100644 (file)
@@ -34,6 +34,7 @@
 #include "cpu/inorder/cpu.hh"
 #include "cpu/inorder/first_stage.hh"
 #include "cpu/inorder/resource_pool.hh"
+#include "debug/InOrderStage.hh"
 #include "params/InOrderTrace.hh"
 
 using namespace std;
index 90134f533b9d281a87376ab828a40ad7cfff3654..30a69bbb5aae892926ec9d4f754ec81193dc16f9 100644 (file)
@@ -41,6 +41,7 @@
 #include "cpu/inorder/cpu.hh"
 #include "cpu/inorder/inorder_dyn_inst.hh"
 #include "cpu/exetrace.hh"
+#include "debug/InOrderDynInst.hh"
 #include "mem/request.hh"
 
 using namespace std;
index 1fbc476e884acc007e0eed3c0eaf2c61e01600e5..033726df918be524178c4626c954da662cab66cb 100644 (file)
@@ -57,6 +57,7 @@
 #include "cpu/op_class.hh"
 #include "cpu/static_inst.hh"
 #include "cpu/thread_context.hh"
+#include "debug/InOrderDynInst.hh"
 #include "mem/packet.hh"
 #include "sim/system.hh"
 
index 8d40451bd704ba788e4272e89ec9e1927cf19af6..8edb5b1cc1a63bafe0940db6cefe74fd675e2933 100644 (file)
@@ -37,6 +37,7 @@
 #include "cpu/exetrace.hh"
 #include "cpu/static_inst.hh"
 #include "cpu/thread_context.hh"
+#include "debug/ExecEnable.hh"
 #include "params/InOrderTrace.hh"
 
 using namespace std;
@@ -64,7 +65,7 @@ InOrderTraceRecord *
 InOrderTrace::getInstRecord(unsigned num_stages, bool stage_tracing,
         ThreadContext *tc)
 {
-    if (!IsOn(ExecEnable))
+    if (!Debug::ExecEnable)
         return NULL;
 
     if (!Trace::enabled)
index b9e21e20fc650404c95b6bd6287a887336a25e5a..fe97fb8f43bfd843e411b7f4739eaa3cfa87b455 100644 (file)
 #include "cpu/inorder/cpu.hh"
 #include "cpu/inorder/pipeline_stage.hh"
 #include "cpu/inorder/resource_pool.hh"
+#include "debug/Activity.hh"
+#include "debug/InOrderStage.hh"
+#include "debug/InOrderStall.hh"
+#include "debug/Resource.hh"
+#include "debug/ThreadModel.hh"
 
 using namespace std;
 using namespace ThePipeline;
index 8eb7a311173475d079823eb7e0adb69edd23309a..cf66f42c22bb4fe17d6a2d789daf18ba18fa5c33 100644 (file)
@@ -35,6 +35,7 @@
 #include "cpu/inorder/inorder_dyn_inst.hh"
 #include "cpu/inorder/pipeline_traits.hh"
 #include "cpu/inorder/reg_dep_map.hh"
+#include "debug/RegDepMap.hh"
 
 using namespace std;
 using namespace TheISA;
index b72dbd14fcdb9bcb7682caec2fd08ece16b90464..bdcfbde7d71808c4513bea90aff781b4db0d25f5 100644 (file)
 #include "base/str.hh"
 #include "cpu/inorder/cpu.hh"
 #include "cpu/inorder/resource.hh"
+#include "debug/RefCount.hh"
+#include "debug/ResReqCount.hh"
+#include "debug/Resource.hh"
+
 using namespace std;
 
 Resource::Resource(string res_name, int res_id, int res_width,
index a9eb742f4ebbebe8ef5d1e6f51dd0eedd9477f75..536a3b53c3d607b1f8b1cfca65ea0b0a77b71292 100644 (file)
@@ -34,6 +34,7 @@
 
 #include "cpu/inorder/resources/resource_list.hh"
 #include "cpu/inorder/resource_pool.hh"
+#include "debug/Resource.hh"
 
 using namespace std;
 using namespace ThePipeline;
index 4435008706b9c2bfbe7c6688d51d4bfe9be1bf48..96b4f84b6e3c97a761ef961742849553dd08350f 100644 (file)
@@ -35,6 +35,7 @@
 
 #include "cpu/inorder/pipeline_traits.hh"
 #include "cpu/inorder/resource_sked.hh"
+#include "debug/SkedCache.hh"
 
 using namespace std;
 using namespace ThePipeline;
index 3e26c4da3c61ffd18955b64ef3ab1b3626935f60..d87ca364dcf770e7857445be31ecc8240b0e297d 100644 (file)
@@ -30,6 +30,7 @@
  */
 
 #include "cpu/inorder/resources/agen_unit.hh"
+#include "debug/InOrderAGEN.hh"
 
 AGENUnit::AGENUnit(std::string res_name, int res_id, int res_width,
                    int res_latency, InOrderCPU *_cpu,
index 9e15a4fee4235470f496c779640a52635821ce4e..127843e96eac867a836086e2f3c80564253ddbf4 100644 (file)
 
 #include "arch/utility.hh"
 #include "base/trace.hh"
-#include "base/traceflags.hh"
 #include "config/the_isa.hh"
 #include "cpu/inorder/resources/bpred_unit.hh"
+#include "debug/InOrderBPred.hh"
+#include "debug/Resource.hh"
 
 using namespace std;
 using namespace ThePipeline;
index 4b8205070191e3650e194fc60715e79573533155..829ae4346101ed2a0afc95e81e6e3c21ef10be4c 100644 (file)
@@ -31,6 +31,8 @@
 
 #include "config/the_isa.hh"
 #include "cpu/inorder/resources/branch_predictor.hh"
+#include "debug/InOrderBPred.hh"
+#include "debug/InOrderStage.hh"
 
 using namespace std;
 using namespace TheISA;
index ce4c538dae535734d14a28e241b3f2174e62bed7..620ba06c15eb1b825640d4d9ec4f6dee33e47350 100644 (file)
 #include "cpu/inorder/cpu.hh"
 #include "cpu/inorder/pipeline_traits.hh"
 #include "cpu/inorder/resource_pool.hh"
+#include "debug/Activity.hh"
+#include "debug/AddrDep.hh"
+#include "debug/InOrderCachePort.hh"
+#include "debug/InOrderStall.hh"
+#include "debug/InOrderTLB.hh"
+#include "debug/LLSC.hh"
+#include "debug/RefCount.hh"
+#include "debug/ThreadModel.hh"
 #include "mem/request.hh"
 
 using namespace std;
index 71d33ab90d7a548f826e1ccce467fdb4f3fe75e1..559becaaf22989b3743a51c0f062b3c2db737412 100644 (file)
@@ -31,6 +31,9 @@
 
 #include "config/the_isa.hh"
 #include "cpu/inorder/resources/decode_unit.hh"
+#include "debug/InOrderDecode.hh"
+#include "debug/InOrderStall.hh"
+#include "debug/Resource.hh"
 
 using namespace TheISA;
 using namespace ThePipeline;
index 2ec3407499d5f5072a78b0cafbfe817e41527d10..7ed9aed9a356cfc6815d429de160fbb21d7dee4c 100644 (file)
@@ -35,6 +35,8 @@
 #include "cpu/inorder/resources/execution_unit.hh"
 #include "cpu/inorder/cpu.hh"
 #include "cpu/inorder/resource_pool.hh"
+#include "debug/InOrderExecute.hh"
+#include "debug/InOrderStall.hh"
 
 using namespace std;
 using namespace ThePipeline;
index 8d9187c7abe0fbec3c82a567bd9c60f3ed54fc99..df8c6de63a88a71be31abb2e77c0cd808b72b31e 100644 (file)
@@ -32,6 +32,8 @@
 #include "config/the_isa.hh"
 #include "cpu/inorder/resources/fetch_seq_unit.hh"
 #include "cpu/inorder/resource_pool.hh"
+#include "debug/InOrderFetchSeq.hh"
+#include "debug/InOrderStall.hh"
 
 using namespace std;
 using namespace TheISA;
index 899fa8c086773af9774009b5b0dd00781f7e2cb5..692f78c7b1549fe1ebf91155a8ef6fd205a8a1e7 100644 (file)
 #include "cpu/inorder/cpu.hh"
 #include "cpu/inorder/pipeline_traits.hh"
 #include "cpu/inorder/resource_pool.hh"
+#include "debug/Activity.hh"
+#include "debug/InOrderCachePort.hh"
+#include "debug/InOrderStall.hh"
+#include "debug/RefCount.hh"
+#include "debug/ThreadModel.hh"
 #include "mem/request.hh"
 
 using namespace std;
index edc2fb3ff7523ff039c5186ca71dd2f0dbfb230c..a7530345e60d9985cd777d928594e78d9c2d1913 100644 (file)
@@ -30,6 +30,7 @@
  */
 
 #include "cpu/inorder/resources/graduation_unit.hh"
+#include "debug/InOrderGraduation.hh"
 
 using namespace ThePipeline;
 
index e0405879b7402259cc8e4a1530562456ca0f0b19..d64eb79f19f397580cbcc8e1ee5c4fd1b09ed671 100644 (file)
@@ -37,6 +37,8 @@
 #include "cpu/inorder/resources/inst_buffer.hh"
 #include "cpu/inorder/cpu.hh"
 #include "cpu/inorder/pipeline_traits.hh"
+#include "debug/InOrderInstBuffer.hh"
+#include "debug/Resource.hh"
 
 using namespace std;
 using namespace TheISA;
index 8fbfc231ee3b50c300043b6c83a8812d90751706..49df901e30cdd97caa21c628fd63533bf23ec6d7 100644 (file)
@@ -36,6 +36,8 @@
 #include "cpu/inorder/cpu.hh"
 #include "cpu/inorder/resource_pool.hh"
 #include "cpu/op_class.hh"
+#include "debug/InOrderMDU.hh"
+#include "debug/Resource.hh"
 
 using namespace std;
 using namespace ThePipeline;
index 8a00ab7043e86ffc32741f30be6e0fc5b61e2bc0..beb8d4ddefa8bfa3d8e8474e87c793607cb1e46c 100644 (file)
@@ -37,6 +37,8 @@
 #include "cpu/inorder/resources/use_def.hh"
 #include "cpu/inorder/cpu.hh"
 #include "cpu/inorder/pipeline_traits.hh"
+#include "debug/InOrderStall.hh"
+#include "debug/InOrderUseDef.hh"
 
 using namespace std;
 using namespace TheISA;
index 636bcee227bf515d0b90eb073eadad1acc55c42c..a217630a9e0530a17f16cdb27a564a0b436520d1 100644 (file)
@@ -33,6 +33,7 @@
 #include "config/the_isa.hh"
 #include "cpu/inorder/thread_context.hh"
 #include "cpu/exetrace.hh"
+#include "debug/InOrderCPU.hh"
 
 using namespace TheISA;
 
index 5083318ad2870c804ba53b10a8d362cd766d1226..dbb6300ac576de70ab820ae5f091560de06f7f50 100644 (file)
@@ -35,6 +35,8 @@
 #include "base/trace.hh"
 #include "base/types.hh"
 #include "cpu/static_inst.hh"
+#include "debug/ExecEnable.hh"
+#include "debug/ExecSpeculative.hh"
 #include "params/IntelTrace.hh"
 #include "sim/insttracer.hh"
 
@@ -68,13 +70,13 @@ class IntelTrace : public InstTracer
             const StaticInstPtr staticInst, TheISA::PCState pc,
             const StaticInstPtr macroStaticInst = NULL)
     {
-        if (!IsOn(ExecEnable))
+        if (!Debug::ExecEnable)
             return NULL;
 
         if (!Trace::enabled)
             return NULL;
 
-        if (!IsOn(ExecSpeculative) && tc->misspeculating())
+        if (!Debug::ExecSpeculative && tc->misspeculating())
             return NULL;
 
         return new IntelTraceRecord(when, tc,
index 085dbe9ac1796ef8042f55d26727f7d5ae815ead..8f3808889e69979fd5caecd9f3db8cadb39853d7 100644 (file)
@@ -36,6 +36,7 @@
 #include "cpu/base.hh"
 #include "cpu/intr_control.hh"
 #include "cpu/thread_context.hh"
+#include "debug/IntrControl.hh"
 #include "sim/sim_object.hh"
 
 using namespace std;
index 9660c0e1366294b1710e35d9bb34c8b8ed213dc4..1f51322886ff95ea4a33982725bf3e30304e2f72 100644 (file)
@@ -31,6 +31,7 @@
 #include "base/socket.hh"
 #include "cpu/nativetrace.hh"
 #include "cpu/static_inst.hh"
+#include "debug/GDBMisc.hh"
 #include "params/NativeTrace.hh"
 
 using namespace std;
index 44e6f42305216cadd056108c33b0354a5c5b4756..e0292e2322dfe52b93fe568c5b0cf4f5dc9eade1 100644 (file)
@@ -34,9 +34,9 @@
 #include "arch/types.hh"
 #include "arch/utility.hh"
 #include "base/trace.hh"
-#include "base/traceflags.hh"
 #include "config/the_isa.hh"
 #include "cpu/o3/bpred_unit.hh"
+#include "debug/Fetch.hh"
 #include "params/DerivO3CPU.hh"
 
 template<class Impl>
index 2512ab1f6ea28e268d7c7d6307fc5f1de8bb681a..aa72c0750035299ac5cf30874b67046d7a8a7562 100644 (file)
 #include "cpu/o3/thread_state.hh"
 #include "cpu/exetrace.hh"
 #include "cpu/timebuf.hh"
+#include "debug/Activity.hh"
+#include "debug/Commit.hh"
+#include "debug/CommitRate.hh"
+#include "debug/ExecFaulting.hh"
 #include "params/DerivO3CPU.hh"
 #include "sim/faults.hh"
 
index 565c68f7a0188e2ed3b9107b6327688e806766de..b19e4f4608a6e338adeb395b300730b294808e8c 100644 (file)
@@ -40,6 +40,9 @@
 #include "cpu/activity.hh"
 #include "cpu/simple_thread.hh"
 #include "cpu/thread_context.hh"
+#include "debug/Activity.hh"
+#include "debug/O3CPU.hh"
+#include "debug/Quiesce.hh"
 #include "enums/MemoryMode.hh"
 #include "sim/core.hh"
 #include "sim/stat_control.hh"
@@ -57,6 +60,7 @@
 
 #if THE_ISA == ALPHA_ISA
 #include "arch/alpha/osfpal.hh"
+#include "debug/Activity.hh"
 #endif
 
 class BaseCPUParams;
index cee597716d1c43c82f120978b625533c36b1cd8f..010dbfa5a8f22b035b81dccee44a7ed91d2f3fae 100644 (file)
@@ -34,6 +34,8 @@
 #include "config/the_isa.hh"
 #include "cpu/o3/decode.hh"
 #include "cpu/inst_seq.hh"
+#include "debug/Activity.hh"
+#include "debug/Decode.hh"
 #include "params/DerivO3CPU.hh"
 
 using namespace std;
index 806cf79162f3935ca0873d9c6c6855d58ffd9229..0f7d908d115371569fad6cfb172c3d676ebdee91 100644 (file)
@@ -52,6 +52,8 @@
 #include "cpu/checker/cpu.hh"
 #include "cpu/o3/fetch.hh"
 #include "cpu/exetrace.hh"
+#include "debug/Activity.hh"
+#include "debug/Fetch.hh"
 #include "mem/packet.hh"
 #include "mem/request.hh"
 #include "params/DerivO3CPU.hh"
index 88020a0a2de56e948708ce5456ee1622efb17248..4224d0e41243e08c71171c3358984ea611ede00e 100644 (file)
@@ -30,6 +30,7 @@
 
 #include "base/trace.hh"
 #include "cpu/o3/free_list.hh"
+#include "debug/FreeList.hh"
 
 SimpleFreeList::SimpleFreeList(ThreadID activeThreads,
                                unsigned _numLogicalIntRegs,
index 96289f64196b45b4881f866b06778c9a42baa7db..fec076097765767e4cbba3e85bf2a968a0031300 100644 (file)
@@ -37,9 +37,9 @@
 #include "arch/registers.hh"
 #include "base/misc.hh"
 #include "base/trace.hh"
-#include "base/traceflags.hh"
 #include "config/the_isa.hh"
 #include "cpu/o3/comm.hh"
+#include "debug/FreeList.hh"
 
 /**
  * FreeList class that simply holds the list of free integer and floating
index 75f6df7ab7411bb6803fbe07ee52cc052f47f81d..8ebbfb2e6afd20633919a4f9e87a8898209af677 100644 (file)
@@ -52,6 +52,7 @@
 #include "cpu/o3/lsq.hh"
 #include "cpu/o3/scoreboard.hh"
 #include "cpu/timebuf.hh"
+#include "debug/IEW.hh"
 
 class DerivO3CPUParams;
 class FUPool;
index e76a6bc3d8e4362e6113f9ddf0668054f2963b0c..2569dbb34ec97b3cd9737f213ccb33eeebc25869 100644 (file)
@@ -51,6 +51,9 @@
 #include "cpu/o3/fu_pool.hh"
 #include "cpu/o3/iew.hh"
 #include "cpu/timebuf.hh"
+#include "debug/Activity.hh"
+#include "debug/Decode.hh"
+#include "debug/IEW.hh"
 #include "params/DerivO3CPU.hh"
 
 using namespace std;
index 1a211af7aa1c6e2773b3a1b2039768c9ccce46f0..bac9e2ec6da0abe1f32febabb08110723e555b8c 100644 (file)
@@ -46,6 +46,7 @@
 
 #include "cpu/o3/fu_pool.hh"
 #include "cpu/o3/inst_queue.hh"
+#include "debug/IQ.hh"
 #include "enums/OpClass.hh"
 #include "params/DerivO3CPU.hh"
 #include "sim/core.hh"
index ddfc637540dbadbeb315179b607749d57f9caab3..8dd2405571104e8f90456cf5a7f9592068784f5d 100644 (file)
@@ -33,6 +33,9 @@
 #include <string>
 
 #include "cpu/o3/lsq.hh"
+#include "debug/Fetch.hh"
+#include "debug/LSQ.hh"
+#include "debug/Writeback.hh"
 #include "params/DerivO3CPU.hh"
 
 using namespace std;
index 2d9a6ce56dc621fc7cc85ff94905724465cc9c9b..be9c91a23afe3df1ca2c684de32b8297e8d5e9fd 100644 (file)
@@ -45,6 +45,7 @@
 #include "config/the_isa.hh"
 #include "cpu/inst_seq.hh"
 #include "cpu/timebuf.hh"
+#include "debug/LSQUnit.hh"
 #include "mem/packet.hh"
 #include "mem/port.hh"
 
index 6a366d056ac0f0f4b16a92cb82a707ea3b594014..aa86c3d14c4cb2d3c5aaeeeecd406ce4ba0983eb 100644 (file)
@@ -47,6 +47,9 @@
 #include "config/use_checker.hh"
 #include "cpu/o3/lsq.hh"
 #include "cpu/o3/lsq_unit.hh"
+#include "debug/Activity.hh"
+#include "debug/IEW.hh"
+#include "debug/LSQUnit.hh"
 #include "mem/packet.hh"
 #include "mem/request.hh"
 
index a9560f446fcabaace3e6830a942faa6d552abfd6..5d6f0a1599927843e5b68eacc672bfe333690abd 100644 (file)
@@ -38,6 +38,7 @@
 #include "base/refcnt.hh"
 #include "base/statistics.hh"
 #include "cpu/inst_seq.hh"
+#include "debug/MemDepUnit.hh"
 
 struct SNHash {
     size_t operator() (const InstSeqNum &seq_num) const {
index fdea84ed52de6de2e37693a901c56ade7cf11aab..6f3c922a7eea262ef772295e3e9b4157d9e97288 100644 (file)
@@ -32,6 +32,7 @@
 
 #include "cpu/o3/inst_queue.hh"
 #include "cpu/o3/mem_dep_unit.hh"
+#include "debug/MemDepUnit.hh"
 #include "params/DerivO3CPU.hh"
 
 template <class MemDepPred, class Impl>
index e252fa362bf99e83ab8625c24da069a271a1908b..d04f45cc0041b4c2fc0b6ec68ac9814ec1c7a65e 100644 (file)
@@ -40,6 +40,7 @@
 #include "config/full_system.hh"
 #include "config/the_isa.hh"
 #include "cpu/o3/comm.hh"
+#include "debug/IEW.hh"
 
 #if FULL_SYSTEM
 #include "arch/kernel_stats.hh"
index 1f34b72554adfa24892b2b8ac6eecc6cdc7d6ade..7d20cac30e34ff8320c558ee84d82fdd712d0955 100644 (file)
@@ -48,6 +48,8 @@
 #include "config/full_system.hh"
 #include "config/the_isa.hh"
 #include "cpu/o3/rename.hh"
+#include "debug/Activity.hh"
+#include "debug/Rename.hh"
 #include "params/DerivO3CPU.hh"
 
 using namespace std;
index e6649ce3e3abc354b9c9cf9e15cd781189f508cb..cc5044c201c7cb460b7e1b38ec569ec4131b1307 100644 (file)
@@ -31,6 +31,7 @@
 #include <vector>
 
 #include "cpu/o3/rename_map.hh"
+#include "debug/Rename.hh"
 
 using namespace std;
 
index d9d1daded20e287e846b40ae9a87ff4701d39d05..dcde54a54faa858ec7ea4b3d5ef1d070ea11937d 100644 (file)
@@ -33,6 +33,8 @@
 
 #include "config/full_system.hh"
 #include "cpu/o3/rob.hh"
+#include "debug/Fetch.hh"
+#include "debug/ROB.hh"
 
 using namespace std;
 
index 7fb47f3c72abb58127274863cc70fcb9a0c1dbe4..83a88f2135e1f54545a586cd94422fbdf15345ec 100644 (file)
@@ -31,6 +31,7 @@
 
 #include "config/the_isa.hh"
 #include "cpu/o3/scoreboard.hh"
+#include "debug/Scoreboard.hh"
 
 Scoreboard::Scoreboard(unsigned activeThreads,
                        unsigned _numLogicalIntRegs,
index 4789e21816fc004002437e9d87c2c8cbe662f765..8a49d7a3adf57d9e50a3aaa5f60792e2013ae758 100644 (file)
@@ -37,7 +37,6 @@
 #include <vector>
 
 #include "base/trace.hh"
-#include "base/traceflags.hh"
 #include "cpu/o3/comm.hh"
 
 /**
index df4ee00adeea83f70e6d681b8e22934ac380b8de..fc87c417ecb0f7dcf86df201b085d30caa52cd1d 100644 (file)
@@ -32,6 +32,7 @@
 #include "base/misc.hh"
 #include "base/trace.hh"
 #include "cpu/o3/store_set.hh"
+#include "debug/StoreSet.hh"
 
 StoreSet::StoreSet(int _SSIT_size, int _LFST_size)
     : SSITSize(_SSIT_size), LFSTSize(_LFST_size)
index b179ad50e8d31610c43327a18edd4b2ae04a74a7..c3b7d2248a980c6214adc4e19eb144dbd88ea7c3 100755 (executable)
@@ -45,6 +45,7 @@
 #include "config/the_isa.hh"
 #include "cpu/o3/thread_context.hh"
 #include "cpu/quiesce_event.hh"
+#include "debug/O3CPU.hh"
 
 #if FULL_SYSTEM
 template <class Impl>
index 0ac5102bb7ec995430eb864bf97da68ac06468ea..f9955d014210819cb14fbc800618dcf4a69dc4c7 100644 (file)
@@ -40,6 +40,7 @@
 #include "cpu/base.hh"
 #include "cpu/pc_event.hh"
 #include "cpu/thread_context.hh"
+#include "debug/PCEvent.hh"
 #include "sim/core.hh"
 #include "sim/system.hh"
 
index a70d65296b47777cfea96b684de47e413766bef3..dc8cf50b770fc2d8703363b0beab3b8190fb0a18 100644 (file)
@@ -32,6 +32,7 @@
 #include "base/misc.hh"
 #include "base/trace.hh"
 #include "cpu/pred/2bit_local.hh"
+#include "debug/Fetch.hh"
 
 LocalBP::LocalBP(unsigned _localPredictorSize,
                  unsigned _localCtrBits,
index e87cc6dc21874346bf7e4932f0dea869f50722f8..393e52ccf80bca56945bac85803cecd519336ab5 100644 (file)
@@ -31,6 +31,7 @@
 #include "base/intmath.hh"
 #include "base/trace.hh"
 #include "cpu/pred/btb.hh"
+#include "debug/Fetch.hh"
 
 DefaultBTB::DefaultBTB(unsigned _numEntries,
                        unsigned _tagBits,
index 79068985bea9e293311b471e740f91dab29c2066..d5c3fe240208a53ac54977433f070a7b2747e3cf 100644 (file)
@@ -31,6 +31,7 @@
 #include "cpu/base.hh"
 #include "cpu/quiesce_event.hh"
 #include "cpu/thread_context.hh"
+#include "debug/Quiesce.hh"
 
 EndQuiesceEvent::EndQuiesceEvent(ThreadContext *_tc)
     : tc(_tc)
index c5730e1379cd5e92e3a85651ce80077f938b064f..f3d79dd2b0f35471b60bbaa7936611dabf6466a4 100644 (file)
@@ -35,6 +35,8 @@
 #include "config/the_isa.hh"
 #include "cpu/simple/atomic.hh"
 #include "cpu/exetrace.hh"
+#include "debug/ExecFaulting.hh"
+#include "debug/SimpleCPU.hh"
 #include "mem/packet.hh"
 #include "mem/packet_access.hh"
 #include "params/AtomicSimpleCPU.hh"
index 46452030922bb3551e30162abf6049f9c5f76d10..699e7876434c4a566555a4a758423171e1f19357 100644 (file)
@@ -60,6 +60,9 @@
 #include "cpu/smt.hh"
 #include "cpu/static_inst.hh"
 #include "cpu/thread_context.hh"
+#include "debug/Decode.hh"
+#include "debug/Fetch.hh"
+#include "debug/Quiesce.hh"
 #include "mem/packet.hh"
 #include "mem/request.hh"
 #include "params/BaseSimpleCPU.hh"
index 52d4b06d20843dcc0eb2322e303150b31fe4b583..c992cb0b58f6b1489958d0d46311acb0af72da79 100644 (file)
@@ -47,6 +47,9 @@
 #include "config/the_isa.hh"
 #include "cpu/simple/timing.hh"
 #include "cpu/exetrace.hh"
+#include "debug/Config.hh"
+#include "debug/ExecFaulting.hh"
+#include "debug/SimpleCPU.hh"
 #include "mem/packet.hh"
 #include "mem/packet_access.hh"
 #include "params/TimingSimpleCPU.hh"
index 5420519e41be942eeafdc5645d1f6b7944de0ae7..dcf0663e24a248c5ab6e4baeac573bc29b0c41cf 100644 (file)
@@ -42,6 +42,8 @@
 #include "config/the_isa.hh"
 #include "cpu/thread_context.hh"
 #include "cpu/thread_state.hh"
+#include "debug/FloatRegs.hh"
+#include "debug/IntRegs.hh"
 #include "mem/request.hh"
 #include "sim/byteswap.hh"
 #include "sim/eventq.hh"
index 3b5aa55e51c1ad3245f9d02de62bd3b658c9a131..902c6cc15980d93c0c7099360b1091db0a26d113 100644 (file)
@@ -30,6 +30,7 @@
 #include "cpu/testers/directedtest/DirectedGenerator.hh"
 #include "cpu/testers/directedtest/InvalidateGenerator.hh"
 #include "cpu/testers/directedtest/RubyDirectedTester.hh"
+#include "debug/DirectedTest.hh"
 
 InvalidateGenerator::InvalidateGenerator(const Params *p)
     : DirectedGenerator(p)
index cc7c84dd36df9e6c72bc4838e8fae07281f695c6..b85cf781ccf1f05a130eea470f722857243c9b27 100644 (file)
@@ -29,6 +29,7 @@
 
 #include "cpu/testers/directedtest/DirectedGenerator.hh"
 #include "cpu/testers/directedtest/RubyDirectedTester.hh"
+#include "debug/DirectedTest.hh"
 #include "mem/ruby/eventqueue/RubyEventQueue.hh"
 #include "sim/sim_exit.hh"
 
index 5b6395f93588f9a0dd2b2c260b849466c7c52e3d..43e140178ccb859783ccd819b44da8ef123075b7 100644 (file)
@@ -30,6 +30,7 @@
 #include "cpu/testers/directedtest/DirectedGenerator.hh"
 #include "cpu/testers/directedtest/RubyDirectedTester.hh"
 #include "cpu/testers/directedtest/SeriesRequestGenerator.hh"
+#include "debug/DirectedTest.hh"
 
 SeriesRequestGenerator::SeriesRequestGenerator(const Params *p)
     : DirectedGenerator(p)
index 758a25ea284248a906f9816670824aa714595190..d75bcb845b3238f08591e4edbf6302f1d4b55f5d 100644 (file)
@@ -39,6 +39,7 @@
 #include "base/misc.hh"
 #include "base/statistics.hh"
 #include "cpu/testers/memtest/memtest.hh"
+#include "debug/MemTest.hh"
 #include "mem/mem_object.hh"
 #include "mem/packet.hh"
 #include "mem/port.hh"
index 1c15557436c40862facdcca7fcb5c912e5c85930..dcc47675b91f1d54352928215f30986a41104421 100644 (file)
@@ -37,6 +37,7 @@
 #include "base/misc.hh"
 #include "base/statistics.hh"
 #include "cpu/testers/networktest/networktest.hh"
+#include "debug/NetworkTest.hh"
 #include "mem/mem_object.hh"
 #include "mem/packet.hh"
 #include "mem/port.hh"
index c0007cd98e48d974666ab5acea8c95bef559152a..164fb56e1915138adde32ff9ef20beef1c37ed91 100644 (file)
@@ -28,6 +28,7 @@
  */
 
 #include "cpu/testers/rubytest/Check.hh"
+#include "debug/RubyTest.hh"
 #include "mem/ruby/common/SubBlock.hh"
 #include "mem/ruby/system/Sequencer.hh"
 #include "mem/ruby/system/System.hh"
index c2aa68a539d2eeca080214bd97e5c5b8b781d26b..f3335b48c7e5010b0adb7470e8ab4e12608ab80d 100644 (file)
@@ -30,6 +30,7 @@
 #include "base/intmath.hh"
 #include "cpu/testers/rubytest/Check.hh"
 #include "cpu/testers/rubytest/CheckTable.hh"
+#include "debug/RubyTest.hh"
 
 CheckTable::CheckTable(int _num_cpu_sequencers, RubyTester* _tester)
     : m_num_cpu_sequencers(_num_cpu_sequencers), m_tester_ptr(_tester)
index 024cb741e516a5933f5c62f6f6a5b3af05a58425..5040d9faebbd613ba5e4072d167361c5a714ce90 100644 (file)
@@ -30,6 +30,7 @@
 #include "base/misc.hh"
 #include "cpu/testers/rubytest/Check.hh"
 #include "cpu/testers/rubytest/RubyTester.hh"
+#include "debug/RubyTest.hh"
 #include "mem/ruby/common/Global.hh"
 #include "mem/ruby/common/SubBlock.hh"
 #include "mem/ruby/eventqueue/RubyEventQueue.hh"
index c4960ea308eae2252e146c84f46276b0f6fd21b1..334bdf4d46c7dd998dccbaa6c58a02eab7376dcc 100644 (file)
@@ -32,6 +32,7 @@
 #include "base/trace.hh"
 #include "config/the_isa.hh"
 #include "cpu/thread_context.hh"
+#include "debug/Context.hh"
 
 void
 ThreadContext::compare(ThreadContext *one, ThreadContext *two)
index 960832f8c1385a23bc76b9cfba9d839886251073..31ab628664a5368d897d79a31b84f0392f835095 100644 (file)
@@ -44,6 +44,7 @@
 #include "base/trace.hh"
 #include "cpu/base.hh"
 #include "cpu/thread_context.hh"
+#include "debug/AlphaBackdoor.hh"
 #include "dev/alpha/backdoor.hh"
 #include "dev/platform.hh"
 #include "dev/simple_disk.hh"
index fd76fd93e8b8f8236632b27764e38a0852ad155d..74f769c86d101f5fa40091bafefd5d8f0b445da8 100644 (file)
@@ -42,6 +42,8 @@
 #include "config/the_isa.hh"
 #include "cpu/intr_control.hh"
 #include "cpu/thread_context.hh"
+#include "debug/IPI.hh"
+#include "debug/Tsunami.hh"
 #include "dev/alpha/tsunami.hh"
 #include "dev/alpha/tsunami_cchip.hh"
 #include "dev/alpha/tsunamireg.h"
index 37456ada2733029ab47dbc4e3cef5b1d37e902a2..0c1937a3288ef611bade5ddf1e650df91748db31 100644 (file)
@@ -43,6 +43,7 @@
 #include "base/time.hh"
 #include "base/trace.hh"
 #include "config/the_isa.hh"
+#include "debug/Tsunami.hh"
 #include "dev/alpha/tsunami.hh"
 #include "dev/alpha/tsunami_cchip.hh"
 #include "dev/alpha/tsunami_io.hh"
index e293f63335fa2e5a5dc83a5c037d4e383c41747d..f8c9104e28483166b3c840b9feaee96e0c289450 100644 (file)
@@ -39,6 +39,7 @@
 
 #include "base/trace.hh"
 #include "config/the_isa.hh"
+#include "debug/Tsunami.hh"
 #include "dev/alpha/tsunami.hh"
 #include "dev/alpha/tsunami_pchip.hh"
 #include "dev/alpha/tsunamireg.h"
index feb0342de80e33ca07e122dd06ced69dbabb4d81..361d4db1b782b8a386d58e6562179d620e8daa62 100644 (file)
@@ -36,6 +36,7 @@
 
 #include "base/cp_annotate.hh"
 #include "base/trace.hh"
+#include "debug/DMACopyEngine.hh"
 #include "dev/copy_engine.hh"
 #include "mem/packet.hh"
 #include "mem/packet_access.hh"
index 6a06e74f6ffbda1539a07f1bd45ee55112b44839..4c770fbcd57807ae6a5234391ef1ff37a51312cd 100644 (file)
@@ -44,6 +44,8 @@
 #include "base/callback.hh"
 #include "base/misc.hh"
 #include "base/trace.hh"
+#include "debug/DiskImageRead.hh"
+#include "debug/DiskImageWrite.hh"
 #include "dev/disk_image.hh"
 #include "sim/byteswap.hh"
 #include "sim/sim_exit.hh"
index b072e16f8e9c05859b6a6b2e9a538fb26e13ddd8..c9e9c93ba9895395d2ad878eacbfd532abf50c02 100644 (file)
@@ -38,6 +38,8 @@
 #include <vector>
 
 #include "base/trace.hh"
+#include "debug/Ethernet.hh"
+#include "debug/EthernetData.hh"
 #include "dev/etherbus.hh"
 #include "dev/etherdump.hh"
 #include "dev/etherint.hh"
index dcecfd9337e4956bbaf2c44b316a31087235781f..289b7454342b659c725a76bb259daed492ce8288 100644 (file)
@@ -40,6 +40,8 @@
 
 #include "base/random.hh"
 #include "base/trace.hh"
+#include "debug/Ethernet.hh"
+#include "debug/EthernetData.hh"
 #include "dev/etherdump.hh"
 #include "dev/etherint.hh"
 #include "dev/etherlink.hh"
index 401ea8a839b145bd047c1bdd788ab574fffd6f7a..2a85aa524d94fc5dcc67c6e86428625b9aa174f9 100644 (file)
@@ -45,6 +45,8 @@
 #include "base/pollevent.hh"
 #include "base/socket.hh"
 #include "base/trace.hh"
+#include "debug/Ethernet.hh"
+#include "debug/EthernetData.hh"
 #include "dev/etherdump.hh"
 #include "dev/etherint.hh"
 #include "dev/etherpkt.hh"
index 78a89781501f147a1b732653295a6e25c28bca7b..db03f5778f3b0b66f2c95ede76a47b749a9186fc 100644 (file)
@@ -44,6 +44,7 @@
 
 #include "base/inet.hh"
 #include "base/trace.hh"
+#include "debug/EthernetAll.hh"
 #include "dev/i8254xGBe.hh"
 #include "mem/packet.hh"
 #include "mem/packet_access.hh"
index 738b1cf439cd37c018f1ec2f4cfe091aa6576f2d..1e50be1653baa14be25fc56c7aa87dc3672baee6 100644 (file)
@@ -40,6 +40,8 @@
 
 #include "base/cp_annotate.hh"
 #include "base/inet.hh"
+#include "debug/EthernetDesc.hh"
+#include "debug/EthernetIntr.hh"
 #include "dev/etherdevice.hh"
 #include "dev/etherint.hh"
 #include "dev/etherpkt.hh"
index 8e9b673ac3ce9c4c4e584fbed1e20daa4dd63bad..a370c7f3652c0360452c88756fd4a526256dfb6d 100644 (file)
@@ -34,6 +34,7 @@
 
 #include "base/trace.hh"
 #include "cpu/intr_control.hh"
+#include "debug/IdeCtrl.hh"
 #include "dev/ide_ctrl.hh"
 #include "dev/ide_disk.hh"
 #include "mem/packet.hh"
index c6c020e5c35277ed8ff15b05c3aea4de53d83a93..a67318b68626448ba814f7f5b7b905385e098214 100644 (file)
@@ -43,6 +43,7 @@
 #include "base/cprintf.hh" // csprintf
 #include "base/trace.hh"
 #include "config/the_isa.hh"
+#include "debug/IdeDisk.hh"
 #include "dev/disk_image.hh"
 #include "dev/ide_ctrl.hh"
 #include "dev/ide_disk.hh"
index cad59bbdb30db089d77c8c81b5e03586d4b4d226..4aa3fec143dc596b9f486d70f647497369830e63 100644 (file)
@@ -31,6 +31,7 @@
  */
 
 #include "base/misc.hh"
+#include "debug/Intel8254Timer.hh"
 #include "dev/intel_8254_timer.hh"
 
 using namespace std;
index bdfdf36ccef53cc03f8eca91ccf751e893cf2dfb..72b9b9c729e62a2e664cb4e76856296a7d45b8c9 100644 (file)
@@ -38,6 +38,7 @@
 
 #include "base/bitunion.hh"
 #include "base/types.hh"
+#include "debug/Intel8254Timer.hh"
 #include "sim/eventq.hh"
 #include "sim/serialize.hh"
 
index b9c47adc66e9f0d55d6b6013fd2c122740ce1e37..bfdf3d486f930d458579ce7fb81e3b3e50fed80e 100644 (file)
@@ -31,6 +31,8 @@
 
 #include "base/chunk_generator.hh"
 #include "base/trace.hh"
+#include "debug/BusAddrRanges.hh"
+#include "debug/DMA.hh"
 #include "dev/io_device.hh"
 #include "sim/system.hh"
 
index af3ca3b0f84b6ddf12a647e9a22d1fd630823e70..21b723bdca6be5b874a9a631ac2022ce9f02c99c 100644 (file)
@@ -33,6 +33,7 @@
  */
 
 #include "base/trace.hh"
+#include "debug/IsaFake.hh"
 #include "dev/isa_fake.hh"
 #include "mem/packet.hh"
 #include "mem/packet_access.hh"
index c29bb94b423f57131582cb3a599e643c9a37cf13..9397a599b5be90d8490fec82254dbce989466821 100644 (file)
@@ -38,6 +38,7 @@
 #include "base/bitfield.hh"
 #include "base/time.hh"
 #include "base/trace.hh"
+#include "debug/MC146818.hh"
 #include "dev/mc146818.hh"
 #include "dev/rtcreg.h"
 
index f1b95e113623c1ac4d76d6825614c741ea2c9bd4..a7bc6d0abffce376ee12e52ce8d7d46f08cc42e4 100644 (file)
@@ -41,6 +41,7 @@
 #include "base/types.hh"
 #include "config/the_isa.hh"
 #include "cpu/thread_context.hh"
+#include "debug/EthernetAll.hh"
 #include "dev/etherlink.hh"
 #include "dev/ns_gige.hh"
 #include "dev/pciconfigall.hh"
index 74396be5dff3e7b796e3a3a4ecd927c93ba098a0..55b43985721bf73724898a0067fe02099e877f80 100644 (file)
@@ -34,6 +34,7 @@
  */
 
 #include "base/trace.hh"
+#include "debug/PciConfigAll.hh"
 #include "dev/pciconfigall.hh"
 #include "dev/pcireg.h"
 #include "dev/platform.hh"
index db68a37998585dc083d0207a2d3a18e642ff09b5..a22612d185f780f79d885f2916aa47b019b03efd 100644 (file)
@@ -43,6 +43,7 @@
 #include "base/misc.hh"
 #include "base/str.hh"
 #include "base/trace.hh"
+#include "debug/PCIDEV.hh"
 #include "dev/alpha/tsunamireg.h"
 #include "dev/pciconfigall.hh"
 #include "dev/pcidev.hh"
index eb603c6c7e6d4f1b9c41eabbde6d19a1edfc24ed..4bf24b1cd64032c9c0fbc677c38f07311d559348 100644 (file)
@@ -42,6 +42,8 @@
 
 #include "base/misc.hh"
 #include "base/trace.hh"
+#include "debug/SimpleDisk.hh"
+#include "debug/SimpleDiskData.hh"
 #include "dev/disk_image.hh"
 #include "dev/simple_disk.hh"
 #include "mem/port.hh"
index 9141b629c54b003ef25a80a6ce3f55f88c490571..1c7e1694ad5cd551fb11d5a92bc03dc1b3099055 100644 (file)
@@ -39,6 +39,7 @@
 #include "config/the_isa.hh"
 #include "cpu/intr_control.hh"
 #include "cpu/thread_context.hh"
+#include "debug/EthernetAll.hh"
 #include "dev/etherlink.hh"
 #include "dev/sinic.hh"
 #include "mem/packet.hh"
index 9bf8eca1577a6760124d8247e2c21dfde615a2bf..748a08c81a8011ae7846bc9632c9b0446f0575bc 100644 (file)
@@ -42,6 +42,7 @@
 #include "base/bitfield.hh"
 #include "base/trace.hh"
 #include "cpu/intr_control.hh"
+#include "debug/Iob.hh"
 #include "dev/sparc/iob.hh"
 #include "dev/platform.hh"
 #include "mem/packet_access.hh"
index f9a91ededc9a0b8170c94ab222cf4b7b31b822a6..b869053878a98e6c95b058d0dc4d6d073f2faaae 100644 (file)
@@ -36,6 +36,7 @@
 #include <cstring>
 
 #include "base/trace.hh"
+#include "debug/IdeDisk.hh"
 #include "dev/sparc/mm_disk.hh"
 #include "dev/platform.hh"
 #include "mem/packet_access.hh"
index 637061082bb8a4761e8185dad8a7a47073acafc5..bae4c9194b78dfaa62189926267778755a3a20b5 100644 (file)
@@ -50,6 +50,8 @@
 #include "base/output.hh"
 #include "base/socket.hh"
 #include "base/trace.hh"
+#include "debug/Terminal.hh"
+#include "debug/TerminalVerbose.hh"
 #include "dev/platform.hh"
 #include "dev/terminal.hh"
 #include "dev/uart.hh"
index f33a428f760bff2ca9a8a00002436b8ac9cb1cde..877e9fb47e7d5f85f7a59c203fe87c6be8174f8b 100644 (file)
@@ -39,6 +39,7 @@
 #include "base/str.hh"        // for to_number
 #include "base/trace.hh"
 #include "config/the_isa.hh"
+#include "debug/Uart.hh"
 #include "dev/platform.hh"
 #include "dev/terminal.hh"
 #include "dev/uart8250.hh"
index aa92521dca2dc4335a582211513ad705e22df80c..d7107deb74cbe252c6828b732fe155d3a161a93e 100644 (file)
@@ -28,6 +28,7 @@
  * Authors: Gabe Black
  */
 
+#include "debug/CMOS.hh"
 #include "dev/x86/cmos.hh"
 #include "dev/x86/intdev.hh"
 #include "mem/packet_access.hh"
index fb1412615b9306121c28592f74ccbda8790f9183..a0786c95ce0f0638a8e20ab74d46b3a74e1e8247 100644 (file)
@@ -29,6 +29,7 @@
  */
 
 #include "base/bitunion.hh"
+#include "debug/I8042.hh"
 #include "dev/x86/i8042.hh"
 #include "mem/packet.hh"
 #include "mem/packet_access.hh"
index 90c6a0900056e7d26d8bc9e96b9590016954b000..584090a9eb5665b440a72033eac3a8eb8ed518f1 100644 (file)
@@ -30,6 +30,7 @@
 
 #include "arch/x86/interrupts.hh"
 #include "arch/x86/intmessage.hh"
+#include "debug/I82094AA.hh"
 #include "dev/x86/i82094aa.hh"
 #include "dev/x86/i8259.hh"
 #include "mem/packet.hh"
index dd1ff7c5e309b7e3b0b2e70921f72fad44d926b4..f6af34a655a5c878586146c80b4885d27c440c14 100644 (file)
@@ -28,6 +28,7 @@
  * Authors: Gabe Black
  */
 
+#include "debug/I8254.hh"
 #include "dev/x86/i8254.hh"
 #include "dev/x86/intdev.hh"
 #include "mem/packet.hh"
index 651196b4725647bde963e576f970707a1085d574..4e8c10181819da32fd3e625e1dcf437006a134ff 100644 (file)
@@ -29,6 +29,7 @@
  */
 
 #include "base/bitfield.hh"
+#include "debug/I8259.hh"
 #include "dev/x86/i82094aa.hh"
 #include "dev/x86/i8259.hh"
 #include "mem/packet.hh"
index b0f4dcd8bbe13b4d395494214aec71b31fda30a0..70f52dd1ab0e487eb8fab6ab8738125cb728a937 100644 (file)
@@ -30,6 +30,7 @@
 
 #include "base/bitunion.hh"
 #include "base/trace.hh"
+#include "debug/PcSpeaker.hh"
 #include "dev/x86/i8254.hh"
 #include "dev/x86/speaker.hh"
 #include "mem/packet.hh"
index 2133172e25439d2ee89f23c5a533cf86aea90e53..c8b53d8480b84b088e6f45250d7cb5717516b4e1 100644 (file)
@@ -46,6 +46,7 @@
 #include "arch/utility.hh"
 #include "base/trace.hh"
 #include "cpu/thread_context.hh"
+#include "debug/DebugPrintf.hh"
 #include "kern/linux/events.hh"
 #include "kern/linux/printk.hh"
 #include "kern/system_events.hh"
index 72f1832b8e336cb1ef6c0974ff9b89df1f4d584c..62c25e2dfa0cbfffaecf971508b0e14cb8633e43 100644 (file)
@@ -32,6 +32,7 @@
 #include <string>
 
 #include "cpu/thread_context.hh"
+#include "debug/SyscallVerbose.hh"
 #include "kern/linux/linux.hh"
 #include "sim/process.hh"
 #include "sim/system.hh"
index 612aabc0b6c462c308918849624dfefef7ab533d..3ee7a099a48ec24ac23c751c5cd9f6e6c664acf4 100644 (file)
@@ -34,6 +34,7 @@
 #include "base/trace.hh"
 #include "config/the_isa.hh"
 #include "cpu/thread_context.hh"
+#include "debug/PCEvent.hh"
 #include "kern/system_events.hh"
 
 using namespace TheISA;
index 7e7fedbc30025b1bd89165cc33901c6ce8e689d6..09cbb166d56c8653f1530edc3df6ad714cdd0292 100644 (file)
@@ -61,6 +61,7 @@ class Tru64 {};
 #include "arch/alpha/registers.hh"
 #include "config/the_isa.hh"
 #include "cpu/base.hh"
+#include "debug/SyscallVerbose.hh"
 #include "sim/core.hh"
 #include "sim/syscall_emul.hh"
 
index 7b8cf0db970e94ac31c7677cbcd8d8fde55927ee..216f81b867dea76be9d00aba7022bab5b8d22867 100644 (file)
@@ -34,6 +34,9 @@
 #include "config/the_isa.hh"
 #include "cpu/base.hh"
 #include "cpu/thread_context.hh"
+#include "debug/BADADDR.hh"
+#include "debug/DebugPrintf.hh"
+#include "debug/Printf.hh"
 #include "kern/tru64/dump_mbuf.hh"
 #include "kern/tru64/printf.hh"
 #include "kern/tru64/tru64_events.hh"
index 4b83250883b46bdd052563de2a5c38218a0d1847..9e5e640694dcb029f799dd7d1df6748a507601e9 100644 (file)
@@ -39,6 +39,7 @@
 
 #include "base/range_ops.hh"
 #include "base/trace.hh"
+#include "debug/BusBridge.hh"
 #include "mem/bridge.hh"
 #include "params/Bridge.hh"
 
index c84d9fc5e18fdcf373e69cfe41a624c47207b4eb..69b14547ea645fb87785e62927b29419d9cef752 100644 (file)
@@ -38,6 +38,9 @@
 
 #include "base/misc.hh"
 #include "base/trace.hh"
+#include "debug/Bus.hh"
+#include "debug/BusAddrRanges.hh"
+#include "debug/MMU.hh"
 #include "mem/bus.hh"
 
 Bus::Bus(const BusParams *p)
index b7e331d5427205d1ba93e17d840e34c830b271c8..7863edde017e800f1db9a8fdf73da6b30b32bc92 100644 (file)
@@ -35,6 +35,7 @@
 
 #include "cpu/base.hh"
 #include "cpu/smt.hh"
+#include "debug/Cache.hh"
 #include "mem/cache/base.hh"
 #include "mem/cache/mshr.hh"
 
index d1ddedbd4534c436ac592e9c8c7f993b8e91303e..297692b32837f2e0d5578c71b0e02890890d38f3 100644 (file)
@@ -48,6 +48,8 @@
 #include "base/trace.hh"
 #include "base/types.hh"
 #include "config/full_system.hh"
+#include "debug/Cache.hh"
+#include "debug/CachePort.hh"
 #include "mem/cache/mshr_queue.hh"
 #include "mem/mem_object.hh"
 #include "mem/packet.hh"
index 5fb95fc063e44ecea2084f7ed4f648418b496292..d4a969d9b2dcd209453805a20b005d04228e9d6e 100644 (file)
@@ -54,6 +54,8 @@
 #include "base/misc.hh"
 #include "base/range.hh"
 #include "base/types.hh"
+#include "debug/Cache.hh"
+#include "debug/CachePort.hh"
 #include "mem/cache/prefetch/base.hh"
 #include "mem/cache/blk.hh"
 #include "mem/cache/cache.hh"
index 292c11c6b3472ab240e4f88377f4d50f25d6e44e..821a3635bfb6cb77205a4240111612032e6205dd 100644 (file)
@@ -42,6 +42,7 @@
 
 #include "base/misc.hh"
 #include "base/types.hh"
+#include "debug/Cache.hh"
 #include "mem/cache/cache.hh"
 #include "mem/cache/mshr.hh"
 #include "sim/core.hh"
index c81f02933739497547ac84417a8a5f1e2e69f08a..12028ac525f7440b9d8b6cc5250b1b8279cf743b 100644 (file)
@@ -38,6 +38,7 @@
 #include "arch/isa_traits.hh"
 #include "base/trace.hh"
 #include "config/the_isa.hh"
+#include "debug/HWPrefetch.hh"
 #include "mem/cache/prefetch/base.hh"
 #include "mem/cache/base.hh"
 #include "mem/request.hh"
index f8f7de1dbfa17938ad17b8afb9d4eebf7063128c..dbc565bfdf0372f553f378489446037159233b6c 100644 (file)
@@ -35,6 +35,7 @@
  */
 
 #include "base/trace.hh"
+#include "debug/HWPrefetch.hh"
 #include "mem/cache/prefetch/ghb.hh"
 
 void
index 8af4e615e8ac2728c6e3ebd41a0c79aa179a0fb0..f71fd977dc503fada60d9cdccec72fdbc567d073 100644 (file)
@@ -35,6 +35,7 @@
  */
 
 #include "base/trace.hh"
+#include "debug/HWPrefetch.hh"
 #include "mem/cache/prefetch/stride.hh"
 
 void
index d0e97de02bda142899f667cd2c44a798512d6658..113ad8b4dff24b079fffd6e82b7c0a1aa07ceb1b 100644 (file)
@@ -40,6 +40,9 @@
 
 #include "base/intmath.hh"
 #include "base/trace.hh"
+#include "debug/Cache.hh"
+#include "debug/IIC.hh"
+#include "debug/IICMore.hh"
 #include "mem/cache/tags/iic.hh"
 #include "mem/cache/base.hh"
 #include "sim/core.hh"
index 33517a5f579011d0dd150cb2b5a4960f91aed339..33f0f14a9f24295180e134455d47babf61bdf010 100644 (file)
@@ -36,6 +36,7 @@
 #include <string>
 
 #include "base/intmath.hh"
+#include "debug/CacheRepl.hh"
 #include "mem/cache/tags/cacheset.hh"
 #include "mem/cache/tags/lru.hh"
 #include "mem/cache/base.hh"
index 861c4a805cac426a9603b6ef9620a8a6c929327d..a94d9248021a91e53a987e9f35ca2c2b2ebef773 100644 (file)
@@ -42,6 +42,7 @@
 #include "base/intmath.hh"
 #include "base/trace.hh"
 #include "config/the_isa.hh"
+#include "debug/MMU.hh"
 #include "mem/page_table.hh"
 #include "sim/faults.hh"
 #include "sim/process.hh"
index fa9ec7e2370342131bf51a66d06d0b7f17c687f5..84af4c752af32b3da1ea57db797f6bf70c12723b 100644 (file)
@@ -61,6 +61,8 @@
 #include "base/types.hh"
 #include "config/full_system.hh"
 #include "config/the_isa.hh"
+#include "debug/LLSC.hh"
+#include "debug/MemoryAccess.hh"
 #include "mem/packet_access.hh"
 #include "mem/physical.hh"
 #include "sim/eventq.hh"
index 4d44d486ddd2c4d37820e39f7925a3d049b8b766..c87785a49340c929925799042878274e3473c098 100644 (file)
@@ -36,6 +36,7 @@
 
 #include "base/chunk_generator.hh"
 #include "base/trace.hh"
+#include "debug/Config.hh"
 #include "mem/mem_object.hh"
 #include "mem/port.hh"
 
index 4c4db5dc36101b44ee0e940a7a90004b92c9a514..e5df19cabf6bd5d2a77b63a4dd7cf8d62d318301 100644 (file)
@@ -31,6 +31,7 @@
 #include "base/cprintf.hh"
 #include "base/misc.hh"
 #include "base/stl_helpers.hh"
+#include "debug/RubyQueue.hh"
 #include "mem/ruby/buffers/MessageBuffer.hh"
 #include "mem/ruby/system/System.hh"
 
index b5c57157776423d8046e5456cdda999b390a3a7e..8006045d82b5df8fe51ec0c3b482bfde70d9f16d 100644 (file)
@@ -37,6 +37,7 @@
 #include <iostream>
 #include <vector>
 
+#include "debug/RubyMemory.hh"
 #include "mem/protocol/MachineType.hh"
 #include "mem/ruby/common/Global.hh"
 #include "mem/ruby/common/Set.hh"
index d7f275fc24f2e77a27ed7bcbb08ab944e2d25356..71fefa2648cefe9190ebdf53ee1a4a1ca317f8af 100644 (file)
@@ -32,6 +32,7 @@
 #include <cmath>
 
 #include "base/stl_helpers.hh"
+#include "debug/RubyNetwork.hh"
 #include "mem/ruby/buffers/MessageBuffer.hh"
 #include "mem/ruby/network/garnet/fixed-pipeline/NetworkInterface_d.hh"
 #include "mem/ruby/network/garnet/fixed-pipeline/flitBuffer_d.hh"
index 62510a45c75e12b862fa5761c1c59e20710c22f0..c656b43cc65eb42e95ed5204d35f3e8d2c06bd3d 100644 (file)
@@ -29,6 +29,7 @@
  */
 
 #include "base/stl_helpers.hh"
+#include "debug/RubyNetwork.hh"
 #include "mem/ruby/network/garnet/fixed-pipeline/OutputUnit_d.hh"
 #include "mem/ruby/network/garnet/fixed-pipeline/Router_d.hh"
 #include "mem/ruby/network/garnet/fixed-pipeline/Switch_d.hh"
index c4c804206cea381cb0fb63748823446515eb8ef8..de51a72846aab0a8b4a8b379ad4fd26b9d0e80c3 100644 (file)
@@ -32,6 +32,7 @@
 #include <cmath>
 
 #include "base/stl_helpers.hh"
+#include "debug/RubyNetwork.hh"
 #include "mem/ruby/buffers/MessageBuffer.hh"
 #include "mem/ruby/network/garnet/flexible-pipeline/NetworkInterface.hh"
 #include "mem/ruby/network/garnet/flexible-pipeline/flitBuffer.hh"
index d7d242b96e31561095e693f1997c635dd7dbf4b8..31ecf96f96262af21b3de7fb6ce29fb096becedd 100644 (file)
@@ -29,6 +29,7 @@
  */
 
 #include "base/stl_helpers.hh"
+#include "debug/RubyNetwork.hh"
 #include "mem/ruby/network/garnet/flexible-pipeline/InVcState.hh"
 #include "mem/ruby/network/garnet/flexible-pipeline/OutVcState.hh"
 #include "mem/ruby/network/garnet/flexible-pipeline/Router.hh"
index 52c9eaa8781fe39249d0dcbb5f360af542157c9e..a054cee89ee232326897716bd096c36f09d506eb 100644 (file)
@@ -28,6 +28,7 @@
 
 #include <algorithm>
 
+#include "debug/RubyNetwork.hh"
 #include "mem/protocol/Protocol.hh"
 #include "mem/ruby/buffers/MessageBuffer.hh"
 #include "mem/ruby/network/simple/PerfectSwitch.hh"
index 0274a9771951d2869e9a42109b07d65889772e09..905a7aa28b9138f67bc993bca188cbbc5a495624 100644 (file)
@@ -29,6 +29,7 @@
 #include <cassert>
 
 #include "base/cprintf.hh"
+#include "debug/RubyNetwork.hh"
 #include "mem/protocol/Protocol.hh"
 #include "mem/ruby/buffers/MessageBuffer.hh"
 #include "mem/ruby/network/simple/Throttle.hh"
index a06c1578d34da65ca7ae0af1dc860d8bd0ce1838..95f94e9e8a7ef35cd384e9139aa7c51de0368cd7 100644 (file)
@@ -28,6 +28,7 @@
 
 #include <cassert>
 
+#include "debug/RubyNetwork.hh"
 #include "mem/protocol/MachineType.hh"
 #include "mem/protocol/Protocol.hh"
 #include "mem/protocol/TopologyType.hh"
index 192fa8c871fe943d89085b59d9ed0588d1120f2f..c22572cc32edbc7d1e648bf3b0bcfdb2346e4ee6 100644 (file)
@@ -27,6 +27,7 @@
  */
 
 #include "base/intmath.hh"
+#include "debug/RubyCache.hh"
 #include "mem/ruby/system/CacheMemory.hh"
 
 using namespace std;
index 2889c0c57d0ccee099a109013d419a702edf9e0c..f8e4cf810ff2277ed023dd3a368cea2bd9ec97c2 100644 (file)
@@ -26,6 +26,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+#include "debug/RubyDma.hh"
 #include "mem/protocol/SequencerMsg.hh"
 #include "mem/protocol/SequencerRequestType.hh"
 #include "mem/ruby/buffers/MessageBuffer.hh"
index c9d072c382d5fd26841417388ce9d55f5ca50c4b..fe54c8d7995c2cdcbd8d0f288536abd132387a19 100644 (file)
@@ -27,6 +27,7 @@
  */
 
 #include "base/intmath.hh"
+#include "debug/RubyCache.hh"
 #include "mem/ruby/slicc_interface/RubySlicc_Util.hh"
 #include "mem/ruby/system/DirectoryMemory.hh"
 #include "mem/ruby/system/System.hh"
index 354634358e1ea8b68f188d98bca65c33f17dc70b..40f8932571ebe72787e75391211955049eaab4ad 100644 (file)
@@ -31,6 +31,8 @@
 #include "arch/x86/insts/microldstop.hh"
 #endif // X86_ISA
 #include "cpu/testers/rubytest/RubyTester.hh"
+#include "debug/MemoryAccess.hh"
+#include "debug/Ruby.hh"
 #include "mem/ruby/slicc_interface/AbstractController.hh"
 #include "mem/ruby/system/RubyPort.hh"
 #include "mem/physical.hh"
index db30b179f21d4369ae1964e01514e3d0e05a3851..e260ce865b618b0ba16d77d3ec7de426b956b8e4 100644 (file)
@@ -29,6 +29,8 @@
 #include "base/misc.hh"
 #include "base/str.hh"
 #include "cpu/testers/rubytest/RubyTester.hh"
+#include "debug/MemoryAccess.hh"
+#include "debug/ProtocolTrace.hh"
 #include "mem/protocol/Protocol.hh"
 #include "mem/ruby/buffers/MessageBuffer.hh"
 #include "mem/ruby/common/Global.hh"
index 51d33798dce1ab0a45a30c918fbb96c4c9bdc6af..fd90e2214ba7df26ef2a3646eb45bbd2f465f171 100644 (file)
@@ -26,6 +26,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+#include "debug/RubyCache.hh"
 #include "mem/ruby/system/SparseMemory.hh"
 #include "mem/ruby/system/System.hh"
 
index d1be1076984c83e53f691332e46914138edbac2a..b1b185ca265181ff157504f70c1322becf685236 100644 (file)
@@ -417,6 +417,8 @@ void unset_tbe(${{self.TBEType.c_ident}}*& m_tbe_ptr);
 #include <string>
 
 #include "base/cprintf.hh"
+#include "debug/RubyGenerated.hh"
+#include "debug/RubySlicc.hh"
 #include "mem/protocol/${ident}_Controller.hh"
 #include "mem/protocol/${ident}_Event.hh"
 #include "mem/protocol/${ident}_State.hh"
@@ -968,6 +970,7 @@ $c_ident::${{action.ident}}(const Address& addr)
 #include <cassert>
 
 #include "base/misc.hh"
+#include "debug/RubySlicc.hh"
 #include "mem/protocol/${ident}_Controller.hh"
 #include "mem/protocol/${ident}_Event.hh"
 #include "mem/protocol/${ident}_State.hh"
@@ -1037,6 +1040,8 @@ ${ident}_Controller::wakeup()
 
 #include "base/misc.hh"
 #include "base/trace.hh"
+#include "debug/ProtocolTrace.hh"
+#include "debug/RubyGenerated.hh"
 #include "mem/protocol/${ident}_Controller.hh"
 #include "mem/protocol/${ident}_Event.hh"
 #include "mem/protocol/${ident}_State.hh"
index 61f9e143ccc8e2b06f748d98537b899854641eed..8e02215f275cc3dd2dc81eb4af61df3c06901d2c 100644 (file)
@@ -28,6 +28,7 @@
  * Authors: Ali Saidi
  */
 
+#include "debug/Bus.hh"
 #include "mem/tport.hh"
 
 using namespace std;
index cd40b8fa3aa2de1a2c3b4de057dee11ac5ba28ea..8231126a09ded366b44dfad464c78acae34c94b2 100644 (file)
 import internal
 
 from internal.debug import schedBreakCycle, setRemoteGDBPort
+
+def help():
+    print "Base Flags:"
+    for flag in flags.basic:
+        print "    %s: %s" % (flag, flags.descriptions[flag])
+    print
+    print "Compound Flags:"
+    for flag in flags.compound:
+        if flag == 'All':
+            continue
+        print "    %s: %s" % (flag, flags.descriptions[flag])
+        util.printList(flags.compoundMap[flag], indent=8)
+        print
+
+class AllFlags(object):
+    def __init__(self):
+        self._version = -1
+        self._dict = {}
+
+    def _update(self):
+        current_version = internal.debug.getAllFlagsVersion()
+        if self._version == current_version:
+            return
+
+        self._dict.clear()
+        for flag in internal.debug.getAllFlags():
+            self._dict[flag.name()] = flag
+        self._version = current_version
+
+    def __contains__(self, item):
+        self._update()
+        return item in self._dict
+
+    def __getitem__(self, item):
+        self._update()
+        return self._dict[item]
+
+    def keys(self):
+        self._update()
+        return self._dict.keys()
+
+    def values(self):
+        self._update()
+        return self._dict.values()
+
+    def items(self):
+        self._update()
+        return self._dict.items()
+
+    def iterkeys(self):
+        self._update()
+        return self._dict.iterkeys()
+
+    def itervalues(self):
+        self._update()
+        return self._dict.itervalues()
+
+    def iteritems(self):
+        self._update()
+        return self._dict.iteritems()
+
+flags = AllFlags()
index f932ec63a88653c5ef7564696315d0e1a7f1dc6d..adf42fc964ca7c8039f3d7e014669c389973b594 100644 (file)
@@ -98,15 +98,15 @@ add_option("--dump-config", metavar="FILE", default="config.ini",
 set_group("Debugging Options")
 add_option("--debug-break", metavar="TIME[,TIME]", action='append', split=',',
     help="Cycle to create a breakpoint")
+add_option("--debug-help", action='store_true',
+    help="Print help on debug flags")
+add_option("--debug-flags", metavar="FLAG[,FLAG]", action='append', split=',',
+    help="Sets the flags for debugging (-FLAG disables a flag)")
 add_option("--remote-gdb-port", type='int', default=7000,
     help="Remote gdb base port (set to 0 to disable listening)")
 
 # Tracing options
 set_group("Trace Options")
-add_option("--trace-help", action='store_true',
-    help="Print help on trace flags")
-add_option("--trace-flags", metavar="FLAG[,FLAG]", action='append', split=',',
-    help="Sets the flags for tracing (-FLAG disables a flag)")
 add_option("--trace-start", metavar="TIME", type='int',
     help="Start tracing at TIME (must be in ticks)")
 add_option("--trace-file", metavar="FILE", default="cout",
@@ -214,10 +214,10 @@ def main():
         print info.README
         print
 
-    if options.trace_help:
+    if options.debug_help:
         done = True
         check_tracing()
-        trace.help()
+        debug.help()
 
     if options.list_sim_objects:
         import SimObject
@@ -284,30 +284,25 @@ def main():
     for when in options.debug_break:
         debug.schedBreakCycle(int(when))
 
-    if options.trace_flags:
+    if options.debug_flags:
         check_tracing()
 
         on_flags = []
         off_flags = []
-        for flag in options.trace_flags:
+        for flag in options.debug_flags:
             off = False
             if flag.startswith('-'):
                 flag = flag[1:]
                 off = True
-            if flag not in trace.flags.all and flag != "All":
-                print >>sys.stderr, "invalid trace flag '%s'" % flag
+
+            if flag not in debug.flags:
+                print >>sys.stderr, "invalid debug flag '%s'" % flag
                 sys.exit(1)
 
             if off:
-                off_flags.append(flag)
+                debug.flags[flag].disable()
             else:
-                on_flags.append(flag)
-
-        for flag in on_flags:
-            trace.set(flag)
-
-        for flag in off_flags:
-            trace.clear(flag)
+                debug.flags[flag].enable()
 
     if options.trace_start:
         check_tracing()
index db239040ab3b23af935f48291a544292f82e010b..f34444810c9df97127ffd7f4486becb4eb5df780 100644 (file)
 # Authors: Nathan Binkert
 
 import internal
-import traceflags as flags
 import util
 
-from internal.trace import clear, output, set, ignore
+from internal.trace import output, ignore
 
 def disable():
     internal.trace.cvar.enabled = False
 
 def enable():
     internal.trace.cvar.enabled = True
-
-def help():
-    print "Base Flags:"
-    for flag in flags.basic:
-        print "    %s: %s" % (flag, flags.descriptions[flag])
-    print
-    print "Compound Flags:"
-    for flag in flags.compound:
-        if flag == 'All':
-            continue
-        print "    %s: %s" % (flag, flags.descriptions[flag])
-        util.printList(flags.compoundMap[flag], indent=8)
-        print
index 8486075d3c898ebb22f4508b7b14179ad0660cde..c2eb3ed80b7c64b0ab19206f735effa8a88ce206 100644 (file)
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2006 The Regents of The University of Michigan
+ * Copyright (c) 2010 The Hewlett-Packard Development Company
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
 %module(package="m5.internal") debug
 
 %{
+#include <cassert>
+#include <map>
+#include <string>
+#include <vector>
+
+#include "base/debug.hh"
 #include "base/types.hh"
 #include "sim/debug.hh"
+
+using namespace std;
+
+typedef map<string, Debug::Flag *> FlagsMap;
+typedef vector<Debug::Flag *> FlagsVec;
+
+namespace Debug {
+extern int allFlagsVersion;
+FlagsMap &allFlags();
+}
+
+inline int
+getAllFlagsVersion()
+{
+    return Debug::allFlagsVersion;
+}
+
+inline FlagsVec
+getAllFlags()
+{
+    FlagsMap &flagsMap = Debug::allFlags();
+
+    FlagsVec flags(flagsMap.size());
+
+    int index = 0;
+    FlagsMap::iterator i = flagsMap.begin();
+    FlagsMap::iterator end = flagsMap.end();
+    for (; i != end; ++i) {
+        assert(index < flags.size());
+        flags[index++] = i->second;
+    }
+
+    return flags;
+}
+
 %}
 
+%ignore Debug::SimpleFlag::operator!;
+
+%include <std_string.i>
+%include <std_vector.i>
 %include <stdint.i>
 
+%include "base/debug.hh"
 %include "base/types.hh"
 %include "sim/debug.hh"
+
+%template(AllFlags) std::vector<Debug::Flag *>;
+
+int getAllFlagsVersion();
+std::vector<Debug::Flag *> getAllFlags();
index 5407b687f49f113279362af32f99e0e292b75e90..3b049a3d6901de5ab1952dc95474d42dd10af1fe 100644 (file)
@@ -40,18 +40,6 @@ output(const char *filename)
     Trace::setOutput(filename);
 }
 
-inline void
-set(const char *flag)
-{
-    Trace::changeFlag(flag, true);
-}
-
-inline void
-clear(const char *flag)
-{
-    Trace::changeFlag(flag, false);
-}
-
 inline void
 ignore(const char *expr)
 {
@@ -61,10 +49,6 @@ ignore(const char *expr)
 using Trace::enabled;
 %}
 
-%inline %{
 extern void output(const char *string);
-extern void set(const char *string);
-extern void clear(const char *string);
 extern void ignore(const char *expr);
 extern bool enabled;
-%}
index 71036fe7e486e3dea9b374ce2d7fa7c5164bef9e..78524fe51fc3492986db8d205b31856d5864adba 100644 (file)
@@ -40,6 +40,7 @@
 #include "base/misc.hh"
 #include "base/trace.hh"
 #include "cpu/smt.hh"
+#include "debug/Config.hh"
 #include "sim/core.hh"
 #include "sim/eventq.hh"
 
index 8fbd1b2b16753a7ecff93cb0552b46a4bf261b10..fcfa119c4d7e48973c23f3d585030e8fcd3c0ff6 100644 (file)
@@ -47,6 +47,7 @@
 #include "base/misc.hh"
 #include "base/trace.hh"
 #include "base/types.hh"
+#include "debug/Event.hh"
 #include "sim/serialize.hh"
 
 class EventQueue;       // forward declaration
index adf6b2466fc788c981e9bd1ae7d836fa31826745..8e9b8e09419ac44fd5e2a62b3f37fa2f9a8fff9b 100644 (file)
@@ -33,6 +33,7 @@
 #include "base/misc.hh"
 #include "cpu/base.hh"
 #include "cpu/thread_context.hh"
+#include "debug/Fault.hh"
 #include "mem/page_table.hh"
 #include "sim/faults.hh"
 #include "sim/process.hh"
index 3b78cc1ee6e7b42efd58a8e68a965478d12a83c8..eba7273c3cebae0f212304bc3bd303e807dcfb6a 100644 (file)
@@ -54,6 +54,9 @@
 #include "cpu/base.hh"
 #include "cpu/quiesce_event.hh"
 #include "cpu/thread_context.hh"
+#include "debug/Loader.hh"
+#include "debug/Quiesce.hh"
+#include "debug/WorkItems.hh"
 #include "params/BaseCPU.hh"
 #include "sim/pseudo_inst.hh"
 #include "sim/serialize.hh"
index d51fcbda60cc729586b9a2abd04e61c4c34f4c82..1102e6a3ad6a2abf0270e0d7619f1e7beb7954ef 100644 (file)
@@ -32,6 +32,7 @@
  */
 
 #include "base/misc.hh"
+#include "debug/TimeSync.hh"
 #include "sim/root.hh"
 
 Root *Root::_root = NULL;
index 7a7b83b259ebc6e0866e049b9f4fafbaab5e0f40..8919f3e72c41855435a022576df95b733ecfab03 100644 (file)
@@ -38,6 +38,7 @@
 #include "base/misc.hh"
 #include "base/trace.hh"
 #include "base/types.hh"
+#include "debug/Config.hh"
 #include "sim/sim_object.hh"
 #include "sim/stats.hh"
 
index 76fa8a239e6f9159bf5ec83a4497e43502e61dc9..6873d4aa4cc80b2426987b128c1b055dd88b51c8 100644 (file)
@@ -42,6 +42,7 @@
 #include "config/the_isa.hh"
 #include "cpu/base.hh"
 #include "cpu/thread_context.hh"
+#include "debug/SyscallVerbose.hh"
 #include "mem/page_table.hh"
 #include "sim/process.hh"
 #include "sim/sim_exit.hh"
index 06fadf51659de10b142cb2f546b7adc0388d7b2c..e685a0f30d23351213ba8ac3e6f5b90c17f626db 100644 (file)
@@ -60,6 +60,7 @@
 #include "config/the_isa.hh"
 #include "cpu/base.hh"
 #include "cpu/thread_context.hh"
+#include "debug/SyscallVerbose.hh"
 #include "mem/page_table.hh"
 #include "mem/translating_port.hh"
 #include "sim/byteswap.hh"
index e710bc5e865193e7814285585ed7935dad9ff057..bb8eccf148e908519d16d9a10c25c74661b0f28b 100644 (file)
@@ -42,6 +42,7 @@
 #include "config/full_system.hh"
 #include "config/the_isa.hh"
 #include "cpu/thread_context.hh"
+#include "debug/Loader.hh"
 #include "mem/mem_object.hh"
 #include "mem/physical.hh"
 #include "sim/byteswap.hh"