aarch64: simplify armv8_read_ttbcr

Read registers based on current EL instead of PE mode.

Change-Id: I05d3219ac1bf8585e9f4f024a7e8599fea0913b6
Signed-off-by: Matthias Welwarsky <matthias.welwarsky@sysgo.com>
This commit is contained in:
Matthias Welwarsky 2016-10-06 16:36:29 +02:00
parent a76e88daa6
commit 2539a32308
1 changed files with 47 additions and 50 deletions

View File

@ -431,9 +431,8 @@ static __unused int armv8_read_ttbcr(struct target *target)
memset(&armv8->armv8_mmu.ttbr1_used, 0, sizeof(armv8->armv8_mmu.ttbr1_used)); memset(&armv8->armv8_mmu.ttbr1_used, 0, sizeof(armv8->armv8_mmu.ttbr1_used));
memset(&armv8->armv8_mmu.ttbr0_mask, 0, sizeof(armv8->armv8_mmu.ttbr0_mask)); memset(&armv8->armv8_mmu.ttbr0_mask, 0, sizeof(armv8->armv8_mmu.ttbr0_mask));
switch (arm->core_mode) { switch (armv8_curel_from_core_mode(arm)) {
case ARMV8_64_EL3H: case SYSTEM_CUREL_EL3:
case ARMV8_64_EL3T:
retval = dpm->instr_read_data_r0(dpm, retval = dpm->instr_read_data_r0(dpm,
ARMV8_MRS(SYSTEM_TCR_EL3, 0), ARMV8_MRS(SYSTEM_TCR_EL3, 0),
&ttbcr); &ttbcr);
@ -446,8 +445,7 @@ static __unused int armv8_read_ttbcr(struct target *target)
armv8->pa_size = armv8_pa_size((ttbcr >> 16) & 7); armv8->pa_size = armv8_pa_size((ttbcr >> 16) & 7);
armv8->page_size = (ttbcr >> 14) & 3; armv8->page_size = (ttbcr >> 14) & 3;
break; break;
case ARMV8_64_EL2T: case SYSTEM_CUREL_EL2:
case ARMV8_64_EL2H:
retval = dpm->instr_read_data_r0(dpm, retval = dpm->instr_read_data_r0(dpm,
ARMV8_MRS(SYSTEM_TCR_EL2, 0), ARMV8_MRS(SYSTEM_TCR_EL2, 0),
&ttbcr); &ttbcr);
@ -460,9 +458,8 @@ static __unused int armv8_read_ttbcr(struct target *target)
armv8->pa_size = armv8_pa_size((ttbcr >> 16) & 7); armv8->pa_size = armv8_pa_size((ttbcr >> 16) & 7);
armv8->page_size = (ttbcr >> 14) & 3; armv8->page_size = (ttbcr >> 14) & 3;
break; break;
case ARMV8_64_EL0T: case SYSTEM_CUREL_EL0:
case ARMV8_64_EL1T: case SYSTEM_CUREL_EL1:
case ARMV8_64_EL1H:
retval = dpm->instr_read_data_r0_64(dpm, retval = dpm->instr_read_data_r0_64(dpm,
ARMV8_MRS(SYSTEM_TCR_EL1, 0), ARMV8_MRS(SYSTEM_TCR_EL1, 0),
&ttbcr_64); &ttbcr_64);