Skip to content
Snippets Groups Projects
Commit 9c96bce4 authored by Sarangdhar Joshi's avatar Sarangdhar Joshi
Browse files

lrdpv2: Correct the names of the reserved fields

Follow exact naming conventions for the reserved fields
to be consistent with other images.

Change-Id: I5aef14ca34883de12cd734c18fdb15317461b535
parent 1b926676
No related branches found
No related tags found
No related merge requests found
...@@ -348,11 +348,11 @@ sysdbg_cpu64_register_names_v1_4 = [ ...@@ -348,11 +348,11 @@ sysdbg_cpu64_register_names_v1_4 = [
('elr_el1', 'elr_el1', True), ('elr_el1', 'elr_el1', True),
('spsr_el1', 'spsr_el1', False), ('spsr_el1', 'spsr_el1', False),
('sp_el0', 'sp_el0', False), ('sp_el0', 'sp_el0', False),
('dirty_flag', 'dirty_flag', False), ('cpu_state_0', 'cpu_state_0', False),
('PStateMisc', 'PStateMisc', False), ('cpu_state_1', 'cpu_state_1', False),
('trust0', 'trust0', False), ('cpu_state_3', 'cpu_state_3', False),
('trust1', 'trust1', False), ('cpu_state_4', 'cpu_state_4', False),
('trust2', 'trust2', False), ('cpu_state_5', 'cpu_state_5', False),
('__reserved1', '__reserved1', False), ('__reserved1', '__reserved1', False),
('__reserved2', '__reserved2', False), ('__reserved2', '__reserved2', False),
('__reserved3', '__reserved3', False), ('__reserved3', '__reserved3', False),
...@@ -403,11 +403,11 @@ sysdbg_cpu64_ctxt_regs_type_v1_4 = ''.join([ ...@@ -403,11 +403,11 @@ sysdbg_cpu64_ctxt_regs_type_v1_4 = ''.join([
'Q', # elr_el1 'Q', # elr_el1
'Q', # spsr_el1 'Q', # spsr_el1
'Q', # sp_el0 'Q', # sp_el0
'Q', # dirty_flag 'Q', # cpu_state_0
'Q', # PStateMisc 'Q', # cpu_state_1
'Q', # trust0 'Q', # cpu_state_3
'Q', # trust1 'Q', # cpu_state_4
'Q', # trust2 'Q', # cpu_state_5
'Q', # __reserved1 'Q', # __reserved1
'Q', # __reserved2 'Q', # __reserved2
'Q', # __reserved3 'Q', # __reserved3
...@@ -592,37 +592,37 @@ class NeonCtxType(): ...@@ -592,37 +592,37 @@ class NeonCtxType():
class TZCpuCtx_v2(): class TZCpuCtx_v2():
def compute_pc(self, neon_regs): def compute_pc(self, neon_regs):
pstate = self.regs['PStateMisc'] pstate = self.regs['cpu_state_1']
trust0 = self.regs['trust0'] cpu_state_3 = self.regs['cpu_state_3']
trust2 = self.regs['trust2'] cpu_state_5 = self.regs['cpu_state_5']
pc = self.regs['pc'] pc = self.regs['pc']
# AArch32 Mode # AArch32 Mode
if is_set(pstate, 4): if is_set(pstate, 4):
val = pstate & 0xF val = pstate & 0xF
if val == 0x0 and is_set(trust0, 14): if val == 0x0 and is_set(cpu_state_3, 14):
self.regs['pc'] = self.regs['x14'] self.regs['pc'] = self.regs['x14']
elif val == 0x1 and is_set(trust0, 30): elif val == 0x1 and is_set(cpu_state_3, 30):
self.regs['pc'] = self.regs['x30'] self.regs['pc'] = self.regs['x30']
elif val == 0x2 and is_set(trust0, 16): elif val == 0x2 and is_set(cpu_state_3, 16):
self.regs['pc'] = self.regs['x16'] self.regs['pc'] = self.regs['x16']
elif val == 0x3 and is_set(trust0, 18): elif val == 0x3 and is_set(cpu_state_3, 18):
self.regs['pc'] = self.regs['x18'] self.regs['pc'] = self.regs['x18']
elif val == 0x7 and is_set(trust0, 20): elif val == 0x7 and is_set(cpu_state_3, 20):
self.regs['pc'] = self.regs['x20'] self.regs['pc'] = self.regs['x20']
elif val == 0xB and is_set(trust0, 22): elif val == 0xB and is_set(cpu_state_3, 22):
self.regs['pc'] = self.regs['x22'] self.regs['pc'] = self.regs['x22']
elif val == 0x6 and is_set(trust2, 31): elif val == 0x6 and is_set(cpu_state_5, 31):
self.regs['pc'] = neon_regs['q31-upper'] self.regs['pc'] = neon_regs['q31-upper']
elif val == 0xA: elif val == 0xA:
self.regs['pc'] = self.regs['elr_el2'] self.regs['pc'] = self.regs['elr_el2']
elif val == 0xF and is_set(trust0, 14): elif val == 0xF and is_set(cpu_state_3, 14):
self.regs['pc'] = self.regs['x14'] self.regs['pc'] = self.regs['x14']
else: else:
print_out_str('!!! AArch32 PC Approximation Logic Failed!') print_out_str('!!! AArch32 PC Approximation Logic Failed!')
# AArch64 Mode # AArch64 Mode
else: else:
if is_set(trust0, 30): if is_set(cpu_state_3, 30):
self.regs['pc'] = self.regs['x30'] self.regs['pc'] = self.regs['x30']
else: else:
val = (pstate >> 2) & 0x3 val = (pstate >> 2) & 0x3
...@@ -655,7 +655,7 @@ class TZCpuCtx_v2(): ...@@ -655,7 +655,7 @@ class TZCpuCtx_v2():
self.regs[register_name[i][0]] = r self.regs[register_name[i][0]] = r
i += 1 i += 1
if self.version == '1.4' and self.regs['dirty_flag'] == 0x1: if self.version == '1.4' and self.regs['cpu_state_0'] == 0x1:
print_out_str( print_out_str(
'!!! PC is invalid, applying "PC Approximation Logic"!') '!!! PC is invalid, applying "PC Approximation Logic"!')
self.compute_pc(neon_regs) self.compute_pc(neon_regs)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment