aboutsummaryrefslogtreecommitdiff
path: root/external/mambo
diff options
context:
space:
mode:
authorNicholas Piggin <npiggin@gmail.com>2016-08-22 14:30:44 +1000
committerStewart Smith <stewart@linux.vnet.ibm.com>2016-09-06 16:19:59 +1000
commit0223fd608758957a1a5b25f6f5e700404457e05c (patch)
tree584a22174ef4624d6b3f56ea0adafd8ce12443d2 /external/mambo
parent84e63a8d4fd9eb3efc872099d579c49fef6a5810 (diff)
downloadskiboot-0223fd608758957a1a5b25f6f5e700404457e05c.zip
skiboot-0223fd608758957a1a5b25f6f5e700404457e05c.tar.gz
skiboot-0223fd608758957a1a5b25f6f5e700404457e05c.tar.bz2
mambo: add exception and qtrace helpers
Signed-off-by: Nicholas Piggin <npiggin@gmail.com> Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
Diffstat (limited to 'external/mambo')
-rw-r--r--external/mambo/mambo_utils.tcl34
1 files changed, 34 insertions, 0 deletions
diff --git a/external/mambo/mambo_utils.tcl b/external/mambo/mambo_utils.tcl
index cf156df..6de952a 100644
--- a/external/mambo/mambo_utils.tcl
+++ b/external/mambo/mambo_utils.tcl
@@ -174,6 +174,11 @@ proc tlbv { { c 0 } } {
puts [mysim cpu $c display tlb valid]
}
+proc exc { { i SystemReset } { c 0 } } {
+ puts "$c:EXCEPTION:$i"
+ puts [mysim cpu $c interrupt $i]
+}
+
proc just_stop { args } {
simstop
ipca
@@ -277,3 +282,32 @@ proc doff { opt } {
simdebug set $opt 0
}
+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
+}
+