aboutsummaryrefslogtreecommitdiff
path: root/external
diff options
context:
space:
mode:
authorNicholas Piggin <npiggin@gmail.com>2017-11-25 14:10:42 +1000
committerStewart Smith <stewart@linux.vnet.ibm.com>2017-11-28 20:39:07 -0600
commit0dde9cd5d22b8cdb97d55b2ff5f65f5343643666 (patch)
tree8a61076bc2f1867ebfe21dbfd7df77cc03452b2e /external
parentff65dc98df8acbc4d3d21e8d9a47fa538a61685c (diff)
downloadskiboot-0dde9cd5d22b8cdb97d55b2ff5f65f5343643666.zip
skiboot-0dde9cd5d22b8cdb97d55b2ff5f65f5343643666.tar.gz
skiboot-0dde9cd5d22b8cdb97d55b2ff5f65f5343643666.tar.bz2
external/mambo: Switch qtrace command to use plugins
The plugin seems to be the preferred way to do this now, it works better, and the qtracer emitter seems to generate invalid traces in new mambo versions. Signed-off-by: Nicholas Piggin <npiggin@gmail.com> Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
Diffstat (limited to 'external')
-rw-r--r--external/mambo/mambo_utils.tcl33
1 files changed, 7 insertions, 26 deletions
diff --git a/external/mambo/mambo_utils.tcl b/external/mambo/mambo_utils.tcl
index 1e3dea0..5113b21 100644
--- a/external/mambo/mambo_utils.tcl
+++ b/external/mambo/mambo_utils.tcl
@@ -1,3 +1,4 @@
+source $env(LIB_DIR)/perf/qtrace.tcl
#
# behave like gdb
@@ -364,32 +365,12 @@ proc skisym { name } {
}
proc start_qtrace { { qtfile qtrace.qt } } {
- global env
-
- mysim mode simple
-
- ereader expect 1
- simemit set "Header_Record" 1
- simemit set "Footer_Record" 1
- simemit set "Instructions" 1
- simemit set "Interrupt" 1
- simemit set "External_Int" 1
- simemit set "Config" 1
- simemit set "MSR" 1
- simemit set "Pid_Creatd" 1
- simemit set "Pid_Killed" 1
- simemit set "TLB_Inst_Miss" 1
- simemit set "TLB_Data_Miss" 1
- simemit set "SLB_Inst_Miss" 1
- simemit set "SLB_Data_Miss" 1
- simemit set "L1_ICache_Miss" 1
- simemit set "L1_DCache_Miss" 1
- simemit set "L2_Cache_Miss" 1
- simemit set "Memory_Write" 1
- simemit set "Memory_Read" 1
- simemit set "Bus_Wait" 1
-
- ereader start $env(EXEC_DIR)/emitter/qtracer [pid] -outfile $qtfile
+ QTrace::Initialize p9 mysim
+ QTrace::Start $qtfile mysim
+}
+
+proc stop_qtrace { } {
+ QTrace::Stop mysim
}
proc current_insn { { t 0 } { c 0 } } {