| 
									
										
										
										
											2010-05-03 17:23:20 +00:00
										 |  |  | /* | 
					
						
							|  |  |  |  * Copyright 2005-2010 Analog Devices Inc. | 
					
						
							|  |  |  |  * | 
					
						
							| 
									
										
										
										
											2012-05-17 14:45:27 +08:00
										 |  |  |  * Licensed under the Clear BSD license or the GPL-2 (or later) | 
					
						
							| 
									
										
										
										
											2010-05-03 17:23:20 +00:00
										 |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #include <linux/linkage.h> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* void *strcpy(char *dest, const char *src);
 | 
					
						
							|  |  |  |  * R0 = address (dest) | 
					
						
							|  |  |  |  * R1 = address (src) | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * Returns a pointer to the destination string dest | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #ifdef CONFIG_STRCPY_L1 | 
					
						
							|  |  |  | .section .l1.text | 
					
						
							|  |  |  | #else | 
					
						
							|  |  |  | .text | 
					
						
							|  |  |  | #endif | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .align 2
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ENTRY(_strcpy) | 
					
						
							|  |  |  | 	P0 = R0 ;       /* dst*/
 | 
					
						
							|  |  |  | 	P1 = R1 ;       /* src*/
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 1: | 
					
						
							|  |  |  | 	R1 = B [P1++] (Z);
 | 
					
						
							|  |  |  | 	B [P0++] = R1;
 | 
					
						
							|  |  |  | 	CC = R1;
 | 
					
						
							|  |  |  | 	if cc jump 1b (bp);
 | 
					
						
							|  |  |  | 	RTS;
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ENDPROC(_strcpy) |