]> git.baikalelectronics.ru Git - uboot.git/commit
arm: cp15: update DACR value to activate access control
authorPatrick Delaunay <patrick.delaunay@foss.st.com>
Fri, 5 Feb 2021 12:53:36 +0000 (13:53 +0100)
committerTom Rini <trini@konsulko.com>
Tue, 2 Mar 2021 20:53:37 +0000 (15:53 -0500)
commit2e4fa5bed8a57d3bffb7e7c19ab067ea19acb50f
treeeac18b2b4499277dee95bc3bef1c3571805f75f4
parentdf59133b5cd56b1076aede9705c28b9343a5aec3
arm: cp15: update DACR value to activate access control

Update the initial value of Domain Access Control Register (DACR)
and set by default the access permission to client (DACR_Dn_CLIENT = 1U)
for each of the 16 domains and no more to all-supervisor
(DACR_Dn_MANAGER = 3U).

This patch allows to activate the domain checking in MMU against the
permission bits in the translation tables and avoids prefetching issue
on ARMv7 [1].

Today it was already done for OMAP2 architecture
./arch/arm/mach-omap2/omap-cache.c::arm_init_domains
introduced by commit de63ac278cba ("ARM: mmu: Set domain permissions
to client access") which fixes lot of speculative prefetch aborts seen
on OMAP5 secure devices.

[1] https://developer.arm.com/documentation/ddi0406/b/System-Level-Architecture/Virtual-Memory-System-Architecture--VMSA-/Memory-access-control/The-Execute-Never--XN--attribute-and-instruction-prefetching

Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
Reported-by: Ard Biesheuvel <ardb@kernel.org>
Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
arch/arm/lib/cache-cp15.c