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