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>