25 lines
		
	
	
	
		
			603 B
			
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			25 lines
		
	
	
	
		
			603 B
			
		
	
	
	
		
			C
		
	
	
	
	
	
|   | /*
 | ||
|  |  * linux/arch/unicore32/mm/extable.c | ||
|  |  * | ||
|  |  * Code specific to PKUnity SoC and UniCore ISA | ||
|  |  * | ||
|  |  * Copyright (C) 2001-2010 GUAN Xue-tao | ||
|  |  * | ||
|  |  * This program is free software; you can redistribute it and/or modify | ||
|  |  * it under the terms of the GNU General Public License version 2 as | ||
|  |  * published by the Free Software Foundation. | ||
|  |  */ | ||
|  | #include <linux/module.h>
 | ||
|  | #include <linux/uaccess.h>
 | ||
|  | 
 | ||
|  | int fixup_exception(struct pt_regs *regs) | ||
|  | { | ||
|  | 	const struct exception_table_entry *fixup; | ||
|  | 
 | ||
|  | 	fixup = search_exception_tables(instruction_pointer(regs)); | ||
|  | 	if (fixup) | ||
|  | 		regs->UCreg_pc = fixup->fixup; | ||
|  | 
 | ||
|  | 	return fixup != NULL; | ||
|  | } |