|
@@ -116,6 +116,8 @@
|
|
|
#define ARM_32_LPAE_TCR_EAE (1 << 31)
|
|
|
#define ARM_64_LPAE_S2_TCR_RES1 (1 << 31)
|
|
|
|
|
|
+#define ARM_LPAE_TCR_EPD1 (1 << 23)
|
|
|
+
|
|
|
#define ARM_LPAE_TCR_TG0_4K (0 << 14)
|
|
|
#define ARM_LPAE_TCR_TG0_64K (1 << 14)
|
|
|
#define ARM_LPAE_TCR_TG0_16K (2 << 14)
|
|
@@ -621,6 +623,9 @@ arm_64_lpae_alloc_pgtable_s1(struct io_pgtable_cfg *cfg, void *cookie)
|
|
|
}
|
|
|
|
|
|
reg |= (64ULL - cfg->ias) << ARM_LPAE_TCR_T0SZ_SHIFT;
|
|
|
+
|
|
|
+ /* Disable speculative walks through TTBR1 */
|
|
|
+ reg |= ARM_LPAE_TCR_EPD1;
|
|
|
cfg->arm_lpae_s1_cfg.tcr = reg;
|
|
|
|
|
|
/* MAIRs */
|