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
 | 
						 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 a new issue