[PATCH 11/14] ARM: v6k: use CPU domain feature if we include support for arch < ARMv6K

Russell King - ARM Linux linux at arm.linux.org.uk
Fri Jan 28 04:59:53 EST 2011

On Fri, Jan 28, 2011 at 09:46:06AM +0000, Catalin Marinas wrote:
> Does this mean that we could still configure a kernel to run on CPU_V6
> with domains disabled? The vectors page becomes read-only and setting
> the TLS would fail.

Yes it will, so that's not acceptable either.

> My point is that we may want SWP_EMULATE disabled (or depending on !
> CPU_USE_DOMAINS). With domains enabled every read-only user page is
> writeable by the kernel. This has the side-effect that SWP emulation
> using LDREX/STREX breaks COW.

Yes, and maybe we should instead just enable the SWP instruction by default
on ARMv7, and if SWP emulation is built, disable it at that point.

> We could change early_trap_init() to always use the vectors_page rather
> than the high mapping and determine at run-time (patch the code) whether
> set_pte_ext sets R/W kernel permissions for RO user pages.

With aliasing caches that becomes much more difficult.

More information about the linux-arm-kernel mailing list