changeset dffa80408656 in /z/repo/gem5
details: http://repo.gem5.org/gem5?cmd=changeset;node=dffa80408656
description:
        util: updated Streamline flow to support ARM DS-5 v5.17 protocol

        The previous flow supported ARM DS-5 v5.13 protocol.

diffstat:

 util/streamline/atomic_stat_config.ini |   2 +-
 util/streamline/m5stats2streamline.py  |  52 ++++++++++++++++++++++++++++-----
 util/streamline/o3_stat_config.ini     |   2 +-
 3 files changed, 46 insertions(+), 10 deletions(-)

diffs (131 lines):

diff -r 0d1467be20eb -r dffa80408656 util/streamline/atomic_stat_config.ini
--- a/util/streamline/atomic_stat_config.ini    Fri Jan 24 15:29:29 2014 -0600
+++ b/util/streamline/atomic_stat_config.ini    Fri Jan 24 15:29:29 2014 -0600
@@ -83,7 +83,7 @@
 
 [PER_L2_STATS]
 
-l2 =
+l2_cache =
     overall_hits::total
     overall_misses::total
 
diff -r 0d1467be20eb -r dffa80408656 util/streamline/m5stats2streamline.py
--- a/util/streamline/m5stats2streamline.py     Fri Jan 24 15:29:29 2014 -0600
+++ b/util/streamline/m5stats2streamline.py     Fri Jan 24 15:29:29 2014 -0600
@@ -56,7 +56,7 @@
 #
 # <dest .apc folder>: Destination .apc folder path
 #
-# APC project generation based on Gator v12 (DS-5 v5.13)
+# APC project generation based on Gator v17 (DS-5 v5.17)
 # Subsequent versions should be backward compatible
 
 import re, sys, os
@@ -78,7 +78,7 @@
 
         Visit http://www.gem5.org/Streamline for more details.
 
-        APC project generation based on Gator v12 (DS-5 v5.13)
+        APC project generation based on Gator v17 (DS-5 v5.17)
         Subsequent versions should be backward compatible
         """)
 
@@ -198,8 +198,26 @@
 #  - string
 ############################################################
 
+def packed32(x):
+    ret = []
+    more = True
+    while more:
+        b = x & 0x7f
+        x = x >> 7
+        if (((x == 0) and ((b & 0x40) == 0)) or \
+            ((x == -1) and ((b & 0x40) != 0))):
+            more = False
+        else:
+            b = b | 0x80
+        ret.append(b)
+    return ret
+
+# For historical reasons, 32/64-bit versions of functions are presevered
+def packed64(x):
+    return packed32(x)
+
 #  variable length packed 4-byte signed value
-def packed32(x):
+def unsigned_packed32(x):
     ret = []
     if ((x & 0xffffff80) == 0):
         ret.append(x & 0x7f)
@@ -224,7 +242,7 @@
     return ret
 
 #  variable length packed 8-byte signed value
-def packed64(x):
+def unsigned_packed64(x):
     ret = []
     if ((x & 0xffffffffffffff80) == 0):
         ret.append(x & 0x7f)
@@ -382,7 +400,11 @@
 #  - uptime: packed64
 def summaryFrame(timestamp, uptime):
     frame_type = "Summary"
-    body = packed64(timestamp) + packed64(uptime)
+    newline_canary = stringList("1\n2\r\n3\r4\n\r5")
+    monotonic_delta = packed64(0)
+    end_of_attr = stringList("")
+    body = newline_canary + packed64(timestamp) + packed64(uptime)
+    body += monotonic_delta + end_of_attr
     ret = addFrameHeader(frame_type, body, 0)
     return ret
 
@@ -415,10 +437,23 @@
 
 # Core name message
 #  - name: string
-def coreNameFrame(name):
+#  - core_id: packed32
+#  - cpuid: packed32
+def coreNameFrame(name, core_id, cpuid):
     frame_type = "Name"
     packed_code = packed32(3)
-    body = packed_code + stringList(name)
+    body = packed_code + packed32(core_id) + packed32(cpuid) + stringList(name)
+    ret = addFrameHeader(frame_type, body, 0)
+    return ret
+
+# IRQ Cookie name message
+#  - cookie: packed32
+#  - name: string
+#  - irq: packed32
+def irqCookieNameFrame(cookie, name, irq):
+    frame_type = "Name"
+    packed_code = packed32(5)
+    body = packed_code + packed32(cookie) + stringList(name) + packed32(irq)
     ret = addFrameHeader(frame_type, body, 0)
     return ret
 
@@ -999,7 +1034,8 @@
 
     xml = ET.Element("captured")
     xml.set("version", "1")
-    xml.set("protocol", "12")
+    xml.set("protocol", "17")
+    xml.set("backtrace_processing", "none")
 
     target = ET.SubElement(xml, "target")
     target.set("name", "gem5")
diff -r 0d1467be20eb -r dffa80408656 util/streamline/o3_stat_config.ini
--- a/util/streamline/o3_stat_config.ini        Fri Jan 24 15:29:29 2014 -0600
+++ b/util/streamline/o3_stat_config.ini        Fri Jan 24 15:29:29 2014 -0600
@@ -107,7 +107,7 @@
 [PER_L2_STATS]
 # Automatically adapts to how many l2 caches are in the system
 
-l2 =
+l2_cache =
     overall_hits::total
     overall_misses::total
 
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to