• Nicolas Pitre's avatar
    [ARM] 3309/1: disable the pre-ARMv5 NPTL kernel helper in the non MMU case · 49bca4c2
    Nicolas Pitre authored
    Patch from Nicolas Pitre
    
    The cmpxchg emulation on pre-ARMv5 relies on user code executed from a
    kernel address.  If the operation cannot complete atomically, it is
    aborted from the usr_entry macro by clearing the Z flag.  This clearing
    of the Z flag is done whenever the user pc is above TASK_SIZE.
    
    However this "pc >= TASK_SIZE" test cannot work in the non MMU case.
    Worse: the current code will corrupt the Z flag on every entry to the
    kernel.
    
    Let's disable it in the non MMU case for now.  Using NPTL on non MMU
    targets needs to be worked out anyway.
    Signed-off-by: default avatarNicolas Pitre <nico@cam.org>
    Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
    49bca4c2
entry-armv.S 24.2 KB