diff options
| author | Andrew Geissler <andrewg@us.ibm.com> | 2018-06-27 16:10:57 -0500 |
|---|---|---|
| committer | William G. Hoffa <wghoffa@us.ibm.com> | 2018-06-29 08:50:01 -0400 |
| commit | 1edd371b0fa08dad1fd9423ba7ac765507c4cf6f (patch) | |
| tree | c496ecb7534557e5350449710bfd0b0daa76d15a /src/build/debug | |
| parent | 62f32b295f6baa128b0eef166121b21d22f19bbc (diff) | |
| download | blackbird-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.py | 5 |
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 |

