Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8bc99526 authored by Mitchel Humpherys's avatar Mitchel Humpherys
Browse files

iommu/io-pgtable-arm: Generate a fault on TTBR1 usage



TTBR1 shouldn't currently be used at all.  Any such usage is the result
of a bug.  Configure TCR such that any usage of TTBR1 will generate a
fault, which will help catch such bugs earlier.

Change-Id: I74f2dc9580e5aed5d391debe23c7f5cc9fc1f672
Signed-off-by: default avatarMitchel Humpherys <mitchelh@codeaurora.org>
parent ef0d0e07
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -153,6 +153,9 @@
#define ARM_LPAE_TCR_PS_44_BIT		0x4ULL
#define ARM_LPAE_TCR_PS_48_BIT		0x5ULL

#define ARM_LPAE_TCR_EPD1_SHIFT		23
#define ARM_LPAE_TCR_EPD1_FAULT		1

#define ARM_LPAE_MAIR_ATTR_SHIFT(n)	((n) << 3)
#define ARM_LPAE_MAIR_ATTR_MASK		0xff
#define ARM_LPAE_MAIR_ATTR_DEVICE	0x04
@@ -812,6 +815,7 @@ arm_64_lpae_alloc_pgtable_s1(struct io_pgtable_cfg *cfg, void *cookie)
	}

	reg |= (64ULL - cfg->ias) << ARM_LPAE_TCR_T0SZ_SHIFT;
	reg |= ARM_LPAE_TCR_EPD1_FAULT << ARM_LPAE_TCR_EPD1_SHIFT;
	cfg->arm_lpae_s1_cfg.tcr = reg;

	/* MAIRs */