Skip to content
Snippets Groups Projects
Commit d8625dc5 authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "ldrpv2: Fix next rtb entry algorithm"

parents 072eb444 1627a6ff
Branches
No related tags found
No related merge requests found
...@@ -136,6 +136,13 @@ class RTB(RamParser): ...@@ -136,6 +136,13 @@ class RTB(RamParser):
rtbout.write('[{0}] : {1} interrupt {2:x} handled from addr {3:x} {4} {5}\n'.format( rtbout.write('[{0}] : {1} interrupt {2:x} handled from addr {3:x} {4} {5}\n'.format(
timestamp, logtype, data, caller, func, line).encode('ascii', 'ignore')) timestamp, logtype, data, caller, func, line).encode('ascii', 'ignore'))
def next_rtb_entry(self, index, step_size, mask):
unused_buffer_size = (mask + 1) % step_size
#check for wraparound
if ((index + step_size + unused_buffer_size) & mask) < (index & mask):
return (index + step_size + unused_buffer_size) & mask
return (index + step_size) & mask
def parse(self): def parse(self):
rtb = self.ramdump.addr_lookup('msm_rtb') rtb = self.ramdump.addr_lookup('msm_rtb')
if rtb is None: if rtb is None:
...@@ -175,7 +182,7 @@ class RTB(RamParser): ...@@ -175,7 +182,7 @@ class RTB(RamParser):
next_ptr = 0 next_ptr = 0
next_entry = 0 next_entry = 0
while True: while True:
next_entry = (last + step_size) & mask next_entry = self.next_rtb_entry(last, step_size, mask)
last_ptr = rtb_read_ptr + last * rtb_entry_size + idx_offset last_ptr = rtb_read_ptr + last * rtb_entry_size + idx_offset
next_ptr = rtb_read_ptr + next_entry * \ next_ptr = rtb_read_ptr + next_entry * \
rtb_entry_size + idx_offset rtb_entry_size + idx_offset
...@@ -210,7 +217,7 @@ class RTB(RamParser): ...@@ -210,7 +217,7 @@ class RTB(RamParser):
getattr(RTB, func)(self, rtb_out, ptr, name_str) getattr(RTB, func)(self, rtb_out, ptr, name_str)
if next_entry == last: if next_entry == last:
stop = 1 stop = 1
next_entry = (next_entry + step_size) & mask next_entry = self.next_rtb_entry(next_entry, step_size, mask)
if (stop == 1): if (stop == 1):
break break
print_out_str('Wrote RTB to msm_rtb{0}.txt'.format(i)) print_out_str('Wrote RTB to msm_rtb{0}.txt'.format(i))
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment