xlat: Set AP[1] to 1 when it is RES1
According to the ARMv8 ARM issue C.a:

    AP[1] is valid only for stage 1 of a translation regime that can
    support two VA ranges. It is RES 1 when stage 1 translations can
    support only one VA range.

This means that, even though this bit is ignored, it should be set to 1
in the EL3 and EL2 translation regimes.

For translation regimes consisting on EL0 and a higher regime this bit
selects between control at EL0 or at the higher Exception level. The
regimes that support two VA ranges are EL1&0 and EL2&0 (the later one
is only available since ARMv8.1).

This fix has to be applied to both versions of the translation tables
library.

Change-Id: If19aaf588551bac7aeb6e9a686cf0c2068e7c181
Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
1 parent 7f6d8f4 commit 01c0a38ef0ce4674d0edb0d6fbbe9700d5617a84
@Antonio Nino Diaz Antonio Nino Diaz authored on 26 Apr 2018
Showing 3 changed files
View
include/lib/xlat_tables/xlat_tables_defs.h
View
lib/xlat_tables/xlat_tables_common.c
View
lib/xlat_tables_v2/xlat_tables_internal.c