| 
									
										
										
										
											2006-09-27 16:20:22 +09:00
										 |  |  | /* | 
					
						
							|  |  |  |  * Copyright (c) 2006 Andriy Skulysh <askulsyh@gmail.com>
 | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * This file is subject to the terms and conditions of the GNU General Public | 
					
						
							|  |  |  |  * License.  See the file "COPYING" in the main directory of this archive | 
					
						
							|  |  |  |  * for more details. | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #include <linux/linkage.h> | 
					
						
							| 
									
										
										
										
											2008-07-29 08:09:44 +09:00
										 |  |  | #include <cpu/mmu_context.h> | 
					
						
							| 
									
										
										
										
											2006-09-27 16:20:22 +09:00
										 |  |  | 
 | 
					
						
							|  |  |  | /* | 
					
						
							|  |  |  |  * Kernel mode register usage: | 
					
						
							|  |  |  |  *	k0	scratch | 
					
						
							|  |  |  |  *	k1	scratch | 
					
						
							| 
									
										
										
										
											2009-02-23 07:14:02 +00:00
										 |  |  |  * For more details, please have a look at entry.S | 
					
						
							| 
									
										
										
										
											2006-09-27 16:20:22 +09:00
										 |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-02-23 07:14:02 +00:00
										 |  |  | #define k0	r0 | 
					
						
							|  |  |  | #define k1	r1 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2006-09-27 16:20:22 +09:00
										 |  |  | ENTRY(wakeup_start) | 
					
						
							|  |  |  | ! clear STBY bit | 
					
						
							| 
									
										
										
										
											2009-02-23 07:14:02 +00:00
										 |  |  | 	mov	#-126, k1 | 
					
						
							| 
									
										
										
										
											2006-09-27 16:20:22 +09:00
										 |  |  |    	and	#127, k0 | 
					
						
							| 
									
										
										
										
											2009-02-23 07:14:02 +00:00
										 |  |  | 	mov.b	k0, @k1
 | 
					
						
							| 
									
										
										
										
											2006-09-27 16:20:22 +09:00
										 |  |  | ! enable refresh | 
					
						
							|  |  |  | 	mov.l	5f, k1 | 
					
						
							|  |  |  | 	mov.w	6f, k0 | 
					
						
							|  |  |  |   	mov.w	k0, @k1
 | 
					
						
							|  |  |  | ! jump to handler | 
					
						
							|  |  |  | 	mov.l	4f, k1 | 
					
						
							|  |  |  | 	jmp	@k1
 | 
					
						
							| 
									
										
										
										
											2009-02-23 07:14:02 +00:00
										 |  |  | 	 nop | 
					
						
							| 
									
										
										
										
											2006-09-27 16:20:22 +09:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	.align	2
 | 
					
						
							| 
									
										
										
										
											2009-02-23 07:14:02 +00:00
										 |  |  | 4:	.long	handle_interrupt | 
					
						
							| 
									
										
										
										
											2006-09-27 16:20:22 +09:00
										 |  |  | 5:	.long	0xffffff68 | 
					
						
							|  |  |  | 6:	.word	0x0524 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ENTRY(wakeup_end) | 
					
						
							|  |  |  | 	nop |