mirror of
				git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
				synced 2025-10-31 16:54:21 +00:00 
			
		
		
		
	 3ac0f4526d
			
		
	
	
		3ac0f4526d
		
	
	
	
	
		
			
			In an effort to clarify and simplify the annotation of assembly functions in the kernel new macros have been introduced. These replace ENTRY and ENDPROC and also add a new annotation for static functions which previously had no ENTRY equivalent. Update the annotations in the library code to the new macros. Signed-off-by: Mark Brown <broonie@kernel.org> [will: Use SYM_FUNC_START_WEAK_PI] Signed-off-by: Will Deacon <will@kernel.org>
		
			
				
	
	
		
			74 lines
		
	
	
	
		
			1 KiB
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
			
		
		
	
	
			74 lines
		
	
	
	
		
			1 KiB
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
| /* SPDX-License-Identifier: (GPL-2.0 OR BSD-3-Clause)
 | |
|  *
 | |
|  * Copyright (C) 2017-2018 Jason A. Donenfeld <Jason@zx2c4.com>. All Rights Reserved.
 | |
|  */
 | |
| 
 | |
| #include <linux/linkage.h>
 | |
| 
 | |
| #include <asm/assembler.h>
 | |
| 
 | |
| SYM_FUNC_START(__ashlti3)
 | |
| 	cbz	x2, 1f
 | |
| 	mov	x3, #64
 | |
| 	sub	x3, x3, x2
 | |
| 	cmp	x3, #0
 | |
| 	b.le	2f
 | |
| 	lsl	x1, x1, x2
 | |
| 	lsr	x3, x0, x3
 | |
| 	lsl	x2, x0, x2
 | |
| 	orr	x1, x1, x3
 | |
| 	mov	x0, x2
 | |
| 1:
 | |
| 	ret
 | |
| 2:
 | |
| 	neg	w1, w3
 | |
| 	mov	x2, #0
 | |
| 	lsl	x1, x0, x1
 | |
| 	mov	x0, x2
 | |
| 	ret
 | |
| SYM_FUNC_END(__ashlti3)
 | |
| EXPORT_SYMBOL(__ashlti3)
 | |
| 
 | |
| SYM_FUNC_START(__ashrti3)
 | |
| 	cbz	x2, 1f
 | |
| 	mov	x3, #64
 | |
| 	sub	x3, x3, x2
 | |
| 	cmp	x3, #0
 | |
| 	b.le	2f
 | |
| 	lsr	x0, x0, x2
 | |
| 	lsl	x3, x1, x3
 | |
| 	asr	x2, x1, x2
 | |
| 	orr	x0, x0, x3
 | |
| 	mov	x1, x2
 | |
| 1:
 | |
| 	ret
 | |
| 2:
 | |
| 	neg	w0, w3
 | |
| 	asr	x2, x1, #63
 | |
| 	asr	x0, x1, x0
 | |
| 	mov	x1, x2
 | |
| 	ret
 | |
| SYM_FUNC_END(__ashrti3)
 | |
| EXPORT_SYMBOL(__ashrti3)
 | |
| 
 | |
| SYM_FUNC_START(__lshrti3)
 | |
| 	cbz	x2, 1f
 | |
| 	mov	x3, #64
 | |
| 	sub	x3, x3, x2
 | |
| 	cmp	x3, #0
 | |
| 	b.le	2f
 | |
| 	lsr	x0, x0, x2
 | |
| 	lsl	x3, x1, x3
 | |
| 	lsr	x2, x1, x2
 | |
| 	orr	x0, x0, x3
 | |
| 	mov	x1, x2
 | |
| 1:
 | |
| 	ret
 | |
| 2:
 | |
| 	neg	w0, w3
 | |
| 	mov	x2, #0
 | |
| 	lsr	x0, x1, x0
 | |
| 	mov	x1, x2
 | |
| 	ret
 | |
| SYM_FUNC_END(__lshrti3)
 | |
| EXPORT_SYMBOL(__lshrti3)
 |