Add a little more tracing support for Bus/Port stuff.
authorSteve Reinhardt <stever@eecs.umich.edu>
Fri, 26 May 2006 18:24:46 +0000 (14:24 -0400)
committerSteve Reinhardt <stever@eecs.umich.edu>
Fri, 26 May 2006 18:24:46 +0000 (14:24 -0400)
src/base/traceflags.py:
    Sort flags so you can find things.
    Add BusAddrRanges flag for tracking RangeChange events
    separately from general bus activity.
src/mem/bus.cc:
    Add BusAddrRanges flag for tracking RangeChange events
    separately from general bus activity.
src/mem/port.cc:
src/mem/port.hh:
    Print Config trace message when peers are set up.

--HG--
extra : convert_revision : d7c11d5f90c8de5c8d97e473501a268a567e9e44

src/base/traceflags.py
src/mem/bus.cc
src/mem/port.cc
src/mem/port.hh

index 7dbaac60e4ac87ae284fc9e9fed0ea561fa4e3d3..3b7dd0f81448f2b473c172b1f4b2060be29bbb4e 100644 (file)
@@ -45,105 +45,107 @@ ccfilename = sys.argv[1] + '.cc'
 # To define a new flag, simply add it to this list.
 #
 baseFlags = [
-    'TCPIP',
+    'AlphaConsole',
+    'BADADDR',
+    'BPredRAS',
     'Bus',
-    'ScsiDisk',
-    'ScsiCtrl',
-    'ScsiNone',
-    'DMA',
-    'DMAReadVerbose',
-    'DMAWriteVerbose',
-    'TLB',
-    'SimpleDisk',
-    'SimpleDiskData',
+    'BusAddrRanges',
+    'BusBridge',
+    'Cache',
+    'Chains',
     'Clock',
-    'Regs',
-    'MC146818',
-    'IPI',
-    'Timer',
-    'Mbox',
-    'PCIA',
-    'PCIDEV',
-    'PciConfigAll',
-    'ISP',
-    'BADADDR',
+    'Commit',
+    'CommitRate',
+    'Config',
     'Console',
     'ConsolePoll',
     'ConsoleVerbose',
-    'AlphaConsole',
-    'Flow',
-    'Interrupt',
-    'Fault',
+    'Context',
     'Cycle',
-    'Loader',
-    'MMU',
+    'DMA',
+    'DMAReadVerbose',
+    'DMAWriteVerbose',
+    'DebugPrintf',
+    'Decode',
+    'DiskImage',
+    'DiskImageRead',
+    'DiskImageWrite',
+    'DynInst',
     'Ethernet',
-    'EthernetPIO',
+    'EthernetCksum',
     'EthernetDMA',
     'EthernetData',
     'EthernetDesc',
     'EthernetIntr',
+    'EthernetPIO',
     'EthernetSM',
-    'EthernetCksum',
-    'GDBMisc',
+    'Event',
+    'Fault',
+    'Fetch',
+    'Flow',
+    'FreeList',
+    'FullCPU',
     'GDBAcc',
+    'GDBExtra',
+    'GDBMisc',
     'GDBRead',
-    'GDBWrite',
-    'GDBSend',
     'GDBRecv',
-    'GDBExtra',
-    'VtoPhys',
-    'Printf',
-    'DebugPrintf',
-    'Serialize',
-    'Event',
-    'PCEvent',
-    'Syscall',
-    'SyscallVerbose',
-    'DiskImage',
-    'DiskImageRead',
-    'DiskImageWrite',
-    'InstExec',
-    'BPredRAS',
-    'Cache',
+    'GDBSend',
+    'GDBWrite',
+    'HWPrefetch',
+    'IEW',
     'IIC',
     'IICMore',
-    'MSHR',
-    'Chains',
-    'Pipeline',
-    'Stats',
-    'StatEvents',
-    'Context',
-    'Config',
-    'Sampler',
-    'WriteBarrier',
+    'IPI',
+    'IQ',
+    'ISP',
     'IdeCtrl',
     'IdeDisk',
-    'Tsunami',
-    'Uart',
-    'Split',
-    'SQL',
-    'Thread',
-    'Fetch',
-    'Decode',
-    'Rename',
-    'IEW',
-    'Commit',
-    'IQ',
-    'ROB',
-    'FreeList',
-    'RenameMap',
+    'InstExec',
+    'Interrupt',
     'LDSTQ',
-    'StoreSet',
+    'Loader',
+    'MC146818',
+    'MMU',
+    'MSHR',
+    'Mbox',
     'MemDepUnit',
-    'DynInst',
-    'FullCPU',
-    'CommitRate',
     'OoOCPU',
-    'HWPrefetch',
-    'Stack',
+    'PCEvent',
+    'PCIA',
+    'PCIDEV',
+    'PciConfigAll',
+    'Pipeline',
+    'Printf',
+    'ROB',
+    'Regs',
+    'Rename',
+    'RenameMap',
+    'SQL',
+    'Sampler',
+    'ScsiCtrl',
+    'ScsiDisk',
+    'ScsiNone',
+    'Serialize',
     'SimpleCPU',
+    'SimpleDisk',
+    'SimpleDiskData',
     'Sparc',
+    'Split',
+    'Stack',
+    'StatEvents',
+    'Stats',
+    'StoreSet',
+    'Syscall',
+    'SyscallVerbose',
+    'TCPIP',
+    'TLB',
+    'Thread',
+    'Timer',
+    'Tsunami',
+    'Uart',
+    'VtoPhys',
+    'WriteBarrier',
     ]
 
 #
index a2ce00139dae5f30659c8fec699fb9346eb1f68e..cfc99a64f476a0f3d35b6dec49e531e9f85e82d6 100644 (file)
@@ -130,7 +130,7 @@ Bus::recvStatusChange(Port::Status status, int id)
     assert(status == Port::RangeChange &&
            "The other statuses need to be implemented.");
 
-    DPRINTF(Bus, "received RangeChange from device id %d\n", id);
+    DPRINTF(BusAddrRanges, "received RangeChange from device id %d\n", id);
 
     assert(id < interfaces.size() && id >= 0);
     int x;
@@ -157,7 +157,7 @@ Bus::recvStatusChange(Port::Status status, int id)
         dm.portId = id;
         dm.range = *iter;
 
-        DPRINTF(Bus, "Adding range %llx - %llx for id %d\n",
+        DPRINTF(BusAddrRanges, "Adding range %llx - %llx for id %d\n",
                 dm.range.start, dm.range.end, id);
         portList.push_back(dm);
     }
@@ -178,11 +178,11 @@ Bus::addressRanges(AddrRangeList &resp, AddrRangeList &snoop, int id)
     resp.clear();
     snoop.clear();
 
-    DPRINTF(Bus, "received address range request, returning:\n");
+    DPRINTF(BusAddrRanges, "received address range request, returning:\n");
     for (portIter = portList.begin(); portIter != portList.end(); portIter++) {
         if (portIter->portId != id) {
             resp.push_back(portIter->range);
-            DPRINTF(Bus, "  -- %#llX : %#llX\n",
+            DPRINTF(BusAddrRanges, "  -- %#llX : %#llX\n",
                     portIter->range.start, portIter->range.end);
         }
     }
index ee224d92bb933c4eef34aa02a4d812690d9eca2f..651cb739a28e860ea89a46e8045a00f8200849eb 100644 (file)
  */
 
 #include "base/chunk_generator.hh"
+#include "base/trace.hh"
 #include "mem/packet_impl.hh"
 #include "mem/port.hh"
 
+void
+Port::setPeer(Port *port)
+{
+    DPRINTF(Config, "setting peer to %s\n", port->name());
+    peer = port;
+}
+
 void
 Port::blobHelper(Addr addr, uint8_t *p, int size, Packet::Command cmd)
 {
index 85209964ef1b63f4b611f62a4c9ed76a17d728a9..f9103865e8b47e2dd49ca0d10934522c2d8fe3e6 100644 (file)
@@ -112,9 +112,9 @@ class Port
     /** Function to set the pointer for the peer port.
         @todo should be called by the configuration stuff (python).
     */
-    void setPeer(Port *port) { peer = port; }
+    void setPeer(Port *port);
 
-        /** Function to set the pointer for the peer port.
+    /** Function to set the pointer for the peer port.
         @todo should be called by the configuration stuff (python).
     */
     Port *getPeer() { return peer; }