summaryrefslogtreecommitdiffstats
path: root/arch/arm/cpu
diff options
context:
space:
mode:
authorAlexander Graf <agraf@suse.de>2016-03-04 01:09:46 +0100
committerTom Rini <trini@konsulko.com>2016-03-15 15:13:00 -0400
commit9bb367a590feac21d674e4d2cee77702d4774819 (patch)
tree03ded1f537f9b0c2857f6efe1de441635206466b /arch/arm/cpu
parent0691484ac1efb1981dfd1b38df9646128bafff32 (diff)
downloadblackbird-obmc-uboot-9bb367a590feac21d674e4d2cee77702d4774819.tar.gz
blackbird-obmc-uboot-9bb367a590feac21d674e4d2cee77702d4774819.zip
arm64: Disable TTBR1 maps in EL1
When running in EL1, AArch64 knows two page table maps. One with addresses that start with all zeros (TTBR0) and one with addresses that start with all ones (TTBR1). In U-Boot we don't care about the high up maps, so just disable them to ensure we don't walk an invalid page table by accident. Reported-by: Mark Rutland <mark.rutland@arm.com> Signed-off-by: Alexander Graf <agraf@suse.de>
Diffstat (limited to 'arch/arm/cpu')
-rw-r--r--arch/arm/cpu/armv8/cache_v8.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/arm/cpu/armv8/cache_v8.c b/arch/arm/cpu/armv8/cache_v8.c
index 9229532efa..d92f2d1768 100644
--- a/arch/arm/cpu/armv8/cache_v8.c
+++ b/arch/arm/cpu/armv8/cache_v8.c
@@ -71,7 +71,7 @@ static u64 get_tcr(int el, u64 *pips, u64 *pva_bits)
}
if (el == 1) {
- tcr = TCR_EL1_RSVD | (ips << 32);
+ tcr = TCR_EL1_RSVD | (ips << 32) | TCR_EPD1_DISABLE;
} else if (el == 2) {
tcr = TCR_EL2_RSVD | (ips << 16);
} else {
OpenPOWER on IntegriCloud