We setup identity MMU mappings across the entire 4GB of space, which are permissionless because the domain is set to manager. This unfortunately allows ARMv6 and later CPUs to speculatively prefetch from the entire address space, which can cause undesirable side effects if those regions contain devices. As we setup the mappings with read/write permission, we can switch the domain to client mode, and then use the XN bit for ARMv6 and above to control speculative prefetch to non-RAM areas. CRs-Fixed: 415757 Reported-by: R Sricharan <r.sricharan@ti.com> Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com> Change-Id: I30c4769173b7524dd0fcef6c784f8a8d1a53c68f Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: Neha Pandey <nehap@codeaurora.org>