[PATCH v2 1/4] ARM: Remove the domain switching on ARMv6k/v7 CPUs

Nicolas Pitre nico at fluxnic.net
Wed Jun 9 15:10:16 EDT 2010


Sorry for the delay... I'm just starting to seriously look at this.

On Wed, 2 Jun 2010, Catalin Marinas wrote:

> This patch removes the domain switching functionality via the set_fs and
> __switch_to functions on cores that have a TLS register.
[...]
> The user pages access rights are also modified for kernel read-only
> access rather than read/write so that the copy-on-write mechanism still
> works. CPU_USE_DOMAINS gets disabled only if HAS_TLS_REG is defined
> since writing the TLS value to the high vectors page isn't possible.

I don't like this limitation much.

Since the vector page has to be accessed somehow for FIQs anyway, and 
the current solution for that involves accesses through the direct 
mapping of the vector page, then this patch could be made to work on 
pre-ARMv6 systems too simply by adding the necessary cache ops around 
the TLS and FIQ updates.

Or even better: on those VIVT systems, the domain switching could be 
used _only_ when direct modifications to the vector page is performed.

This way, this patch could get a wider base for test coverage.  And this 
could even remove the need for the uaccess_with_memcpy.c hack at some 
point.


Nicolas



More information about the linux-arm-kernel mailing list