mirror of
				https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
				synced 2025-10-31 20:06:46 +00:00 
			
		
		
		
	 ab6e570ba3
			
		
	
	
		ab6e570ba3
		
	
	
	
	
		
			
			This migrates from the old bitrotted kgdb stub implementation and moves to the generic stub. In the process support for SH-2/SH-2A is also added, which the old stub never provided. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
		
			
				
	
	
		
			62 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
			
		
		
	
	
			62 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
| /*
 | |
|  *  arch/sh/kernel/cpu/sh3/ex.S
 | |
|  *
 | |
|  *  The SH-3 and SH-4 exception vector table.
 | |
| 
 | |
|  *  Copyright (C) 1999, 2000, 2002  Niibe Yutaka
 | |
|  *  Copyright (C) 2003 - 2008  Paul Mundt
 | |
|  *
 | |
|  * 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>
 | |
| 
 | |
| #if !defined(CONFIG_MMU)
 | |
| #define	tlb_miss_load			exception_error
 | |
| #define tlb_miss_store			exception_error
 | |
| #define initial_page_write		exception_error
 | |
| #define tlb_protection_violation_load	exception_error
 | |
| #define tlb_protection_violation_store	exception_error
 | |
| #define address_error_load		exception_error
 | |
| #define address_error_store		exception_error
 | |
| #endif
 | |
| 
 | |
| #if !defined(CONFIG_SH_FPU)
 | |
| #define	fpu_error_trap_handler		exception_error
 | |
| #endif
 | |
| 
 | |
| #if !defined(CONFIG_KGDB)
 | |
| #define kgdb_handle_exception		exception_error
 | |
| #endif
 | |
| 
 | |
| 	.align 2
 | |
| 	.data
 | |
| 
 | |
| ENTRY(exception_handling_table)
 | |
| 	.long	exception_error		/* 000 */
 | |
| 	.long	exception_error
 | |
| 	.long	tlb_miss_load		/* 040 */
 | |
| 	.long	tlb_miss_store
 | |
| 	.long	initial_page_write
 | |
| 	.long	tlb_protection_violation_load
 | |
| 	.long	tlb_protection_violation_store
 | |
| 	.long	address_error_load
 | |
| 	.long	address_error_store	/* 100 */
 | |
| 	.long	fpu_error_trap_handler	/* 120 */
 | |
| 	.long	exception_error		/* 140 */
 | |
| 	.long	system_call	! Unconditional Trap	 /* 160 */
 | |
| 	.long	exception_error	! reserved_instruction (filled by trap_init) /* 180 */
 | |
| 	.long	exception_error	! illegal_slot_instruction (filled by trap_init) /*1A0*/
 | |
| ENTRY(nmi_slot)
 | |
| 	.long	kgdb_handle_exception	/* 1C0 */	! Allow trap to debugger
 | |
| ENTRY(user_break_point_trap)
 | |
| 	.long	break_point_trap	/* 1E0 */
 | |
| 
 | |
| 	/*
 | |
| 	 * Pad the remainder of the table out, exceptions residing in far
 | |
| 	 * away offsets can be manually inserted in to their appropriate
 | |
| 	 * location via set_exception_table_{evt,vec}().
 | |
| 	 */
 | |
| 	.balign	4096,0,4096
 |