 65bd6a9bc7
			
		
	
	
	65bd6a9bc7
	
	
	
		
			
			These comments are useless now, remove them. Signed-off-by: WANG Cong <xiyou.wangcong@gmail.com> Cc: Jeff Dike <jdike@addtoit.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
		
			
				
	
	
		
			52 lines
		
	
	
	
		
			1.1 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
	
		
			1.1 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
| /* 
 | |
|  * Copyright (C) 2000 Jeff Dike (jdike@karaya.com)
 | |
|  * Licensed under the GPL
 | |
|  */
 | |
| 
 | |
| #ifndef __SYS_SIGCONTEXT_PPC_H
 | |
| #define __SYS_SIGCONTEXT_PPC_H
 | |
| 
 | |
| #define DSISR_WRITE 0x02000000
 | |
| 
 | |
| #define SC_FAULT_ADDR(sc) ({ \
 | |
| 		struct sigcontext *_sc = (sc); \
 | |
| 		long retval = -1; \
 | |
| 		switch (_sc->regs->trap) { \
 | |
| 		case 0x300: \
 | |
| 			/* data exception */ \
 | |
| 			retval = _sc->regs->dar; \
 | |
| 			break; \
 | |
| 		case 0x400: \
 | |
| 			/* instruction exception */ \
 | |
| 			retval = _sc->regs->nip; \
 | |
| 			break; \
 | |
| 		default: \
 | |
| 			panic("SC_FAULT_ADDR: unhandled trap type\n"); \
 | |
| 		} \
 | |
| 		retval; \
 | |
| 	})
 | |
| 
 | |
| #define SC_FAULT_WRITE(sc) ({ \
 | |
| 		struct sigcontext *_sc = (sc); \
 | |
| 		long retval = -1; \
 | |
| 		switch (_sc->regs->trap) { \
 | |
| 		case 0x300: \
 | |
| 			/* data exception */ \
 | |
| 			retval = !!(_sc->regs->dsisr & DSISR_WRITE); \
 | |
| 			break; \
 | |
| 		case 0x400: \
 | |
| 			/* instruction exception: not a write */ \
 | |
| 			retval = 0; \
 | |
| 			break; \
 | |
| 		default: \
 | |
| 			panic("SC_FAULT_ADDR: unhandled trap type\n"); \
 | |
| 		} \
 | |
| 		retval; \
 | |
| 	})
 | |
| 
 | |
| #define SC_IP(sc) ((sc)->regs->nip)
 | |
| #define SC_SP(sc) ((sc)->regs->gpr[1])
 | |
| #define SEGV_IS_FIXABLE(sc) (1)
 | |
| 
 | |
| #endif
 | |
| 
 |