forked from mirrors/linux
		
	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
					
				
					 2 changed files with 11 additions and 0 deletions
				
			
		| 
						 | 
				
			
			@ -640,6 +640,8 @@ niagara4_patch:
 | 
			
		|||
	 nop
 | 
			
		||||
	call	niagara4_patch_pageops
 | 
			
		||||
	 nop
 | 
			
		||||
	call	niagara4_patch_fls
 | 
			
		||||
	 nop
 | 
			
		||||
 | 
			
		||||
	ba,a,pt	%xcc, 80f
 | 
			
		||||
	 nop
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3,6 +3,8 @@
 | 
			
		|||
 * Copyright (C) 2012 David S. Miller <davem@davemloft.net>
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include <linux/linkage.h>
 | 
			
		||||
 | 
			
		||||
#define BRANCH_ALWAYS	0x10680000
 | 
			
		||||
#define NOP		0x01000000
 | 
			
		||||
#define NG_DO_PATCH(OLD, NEW)	\
 | 
			
		||||
| 
						 | 
				
			
			@ -52,3 +54,10 @@ niagara4_patch_pageops:
 | 
			
		|||
	retl
 | 
			
		||||
	 nop
 | 
			
		||||
	.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 a new issue