[PATCH 0/4] ABI updates

Catalin Marinas catalin.marinas at arm.com
Mon Jul 7 06:52:59 PDT 2014


On Fri, Jul 04, 2014 at 08:51:34PM +0100, Russell King - ARM Linux wrote:
> As a result of the recent discussions about android, several issues
> have been identified with existing kernels:
> 
> 1. HWCAP_SWP does not properly reflect whether the SWP instruction
>    should be used.  Turn HWCAP_SWP off on ARMv6+ where the exclusives
>    are available.
> 
> 2. SWP is unsafe when running on a SMP CPU; there is no bus locking
>    between the read and write parts of the instruction execution.
>    Force SWP emulation on ARMv7+ where we can disable the SWP
>    instruction.
> 
> 3. Reporting of alignment faults - kernel mode faults are silent due to
>    the requirements of the network stack, but we can note where the
>    last one occurs.
> 
> Testing reveals that at least my OMAP4430 userspace (supplied from TI)
> executes lots of SWP instructions, which is something that wasn't known
> before this patch.
> 
> Many systems today are not configured with SWP emulation enabled on SMP.
> This means that the SWP instruction is available, but unsafe.

The patches look fine to me (we are still discussing patch 4 but even if
it needs changing for TLS, it can be done separately from this series).

Question - should we go a step further and change the pr_debug() in
swp_emulate.c to something like pr_warn()?

Another deprecated feature is CP15 barriers (disable bit coming with the
virtualisation extensions). I think we should start emulating these soon
as well and print warnings.

-- 
Catalin



More information about the linux-arm-kernel mailing list