mm: fix exec activate_mm vs TLB shootdown and lazy tlb switching race
[linux/fpc-iii.git] / arch / arm / lib / ucmpdi2.S
blobad4a6309141a59c0ba3534795b93c5dbe7876814
1 /*
2  *  linux/arch/arm/lib/ucmpdi2.S
3  *
4  *  Author:     Nicolas Pitre
5  *  Created:    Oct 19, 2005
6  *  Copyright:  Monta Vista Software, Inc.
7  *
8  *  This program is free software; you can redistribute it and/or modify
9  *  it under the terms of the GNU General Public License version 2 as
10  *  published by the Free Software Foundation.
11  */
13 #include <linux/linkage.h>
14 #include <asm/assembler.h>
16 #ifdef __ARMEB__
17 #define xh r0
18 #define xl r1
19 #define yh r2
20 #define yl r3
21 #else
22 #define xl r0
23 #define xh r1
24 #define yl r2
25 #define yh r3
26 #endif
28 ENTRY(__ucmpdi2)
30         cmp     xh, yh
31         cmpeq   xl, yl
32         movlo   r0, #0
33         moveq   r0, #1
34         movhi   r0, #2
35         ret     lr
37 ENDPROC(__ucmpdi2)
39 #ifdef CONFIG_AEABI
41 ENTRY(__aeabi_ulcmp)
43         cmp     xh, yh
44         cmpeq   xl, yl
45         movlo   r0, #-1
46         moveq   r0, #0
47         movhi   r0, #1
48         ret     lr
50 ENDPROC(__aeabi_ulcmp)
52 #endif