summaryrefslogtreecommitdiffstats
path: root/src/build/debug
diff options
context:
space:
mode:
authorAndrew Geissler <andrewg@us.ibm.com>2018-06-27 16:10:57 -0500
committerWilliam G. Hoffa <wghoffa@us.ibm.com>2018-06-29 08:50:01 -0400
commit1edd371b0fa08dad1fd9423ba7ac765507c4cf6f (patch)
treec496ecb7534557e5350449710bfd0b0daa76d15a /src/build/debug
parent62f32b295f6baa128b0eef166121b21d22f19bbc (diff)
downloadblackbird-hostboot-1edd371b0fa08dad1fd9423ba7ac765507c4cf6f.tar.gz
blackbird-hostboot-1edd371b0fa08dad1fd9423ba7ac765507c4cf6f.zip
Always use last valid SIMICS object for trace
The script should always use the last SIMICS object it finds that covers the required memory area. This fix was required because there is a scenario where there are 2 nodes booting in parallel in an SMP based system. node1 reached istep15 and exited cache contained mode which removed its D2Proc0.l3_cache_ram object. node0 however was still in cache contained mode. The cache objects in SIMICS have a priority of 0 (the highest) and the memory objects have a priority of 1. Therefore when we hit this situation, the SIMICS object for D1Proc0.l3_cache_ram was used incorrectly for node1 memory. The fact this script uses node0 by default, and then looks for a higher priority object that covers the correct memory region is confusing. But, there are historical reasons it had to be done that I'd rather not revisit. Change-Id: I46521b6252c25f3ca77022c41e0035a065ca2bfb CQ:SW435477 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/61511 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Prachi Gupta <pragupta@us.ibm.com> Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com>
Diffstat (limited to 'src/build/debug')
-rw-r--r--src/build/debug/simics-debug-framework.py5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/build/debug/simics-debug-framework.py b/src/build/debug/simics-debug-framework.py
index bc9bfeb67..90c8f8396 100644
--- a/src/build/debug/simics-debug-framework.py
+++ b/src/build/debug/simics-debug-framework.py
@@ -616,9 +616,8 @@ def magic_instruction_callback(user_arg, cpu, arg):
#break
break
# If we find an object later in the list that covers the
- # correct area, and has same or higher priority (indicated
- # by lower number) then use it.
- elif priority <= low_priority:
+ # correct area then use it.
+ else:
mem_object = simics.SIM_object_name(entry[1])
#print "Found entry %s for hrmor %d" % (mem_object, hb_hrmor)
low_priority = priority
OpenPOWER on IntegriCloud