sparc64: Use sparc optimized fls and __fls for T4 and above
For T4 and above, patch fls and __fls functions at the boot time to use lzcnt instruction. Signed-off-by: Vijay Kumar <vijay.ac.kumar@oracle.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
2b41ce5df2
commit
46ad8d2d22
|
@ -640,6 +640,8 @@ niagara4_patch:
|
||||||
nop
|
nop
|
||||||
call niagara4_patch_pageops
|
call niagara4_patch_pageops
|
||||||
nop
|
nop
|
||||||
|
call niagara4_patch_fls
|
||||||
|
nop
|
||||||
|
|
||||||
ba,a,pt %xcc, 80f
|
ba,a,pt %xcc, 80f
|
||||||
nop
|
nop
|
||||||
|
|
|
@ -3,6 +3,8 @@
|
||||||
* Copyright (C) 2012 David S. Miller <davem@davemloft.net>
|
* Copyright (C) 2012 David S. Miller <davem@davemloft.net>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <linux/linkage.h>
|
||||||
|
|
||||||
#define BRANCH_ALWAYS 0x10680000
|
#define BRANCH_ALWAYS 0x10680000
|
||||||
#define NOP 0x01000000
|
#define NOP 0x01000000
|
||||||
#define NG_DO_PATCH(OLD, NEW) \
|
#define NG_DO_PATCH(OLD, NEW) \
|
||||||
|
@ -52,3 +54,10 @@ niagara4_patch_pageops:
|
||||||
retl
|
retl
|
||||||
nop
|
nop
|
||||||
.size niagara4_patch_pageops,.-niagara4_patch_pageops
|
.size niagara4_patch_pageops,.-niagara4_patch_pageops
|
||||||
|
|
||||||
|
ENTRY(niagara4_patch_fls)
|
||||||
|
NG_DO_PATCH(fls, NG4fls)
|
||||||
|
NG_DO_PATCH(__fls, __NG4fls)
|
||||||
|
retl
|
||||||
|
nop
|
||||||
|
ENDPROC(niagara4_patch_fls)
|
||||||
|
|
Loading…
Reference in New Issue