78 lines
		
	
	
	
		
			1.5 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			78 lines
		
	
	
	
		
			1.5 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
|   | #ifndef _UAPI__ASM_SH_PTRACE_32_H
 | ||
|  | #define _UAPI__ASM_SH_PTRACE_32_H
 | ||
|  | 
 | ||
|  | /*
 | ||
|  |  * GCC defines register number like this: | ||
|  |  * ----------------------------- | ||
|  |  *	 0 - 15 are integer registers | ||
|  |  *	17 - 22 are control/special registers | ||
|  |  *	24 - 39 fp registers | ||
|  |  *	40 - 47 xd registers | ||
|  |  *	48 -    fpscr register | ||
|  |  * ----------------------------- | ||
|  |  * | ||
|  |  * We follows above, except: | ||
|  |  *	16 --- program counter (PC) | ||
|  |  *	22 --- syscall # | ||
|  |  *	23 --- floating point communication register | ||
|  |  */ | ||
|  | #define REG_REG0	 0
 | ||
|  | #define REG_REG15	15
 | ||
|  | 
 | ||
|  | #define REG_PC		16
 | ||
|  | 
 | ||
|  | #define REG_PR		17
 | ||
|  | #define REG_SR		18
 | ||
|  | #define REG_GBR		19
 | ||
|  | #define REG_MACH	20
 | ||
|  | #define REG_MACL	21
 | ||
|  | 
 | ||
|  | #define REG_SYSCALL	22
 | ||
|  | 
 | ||
|  | #define REG_FPREG0	23
 | ||
|  | #define REG_FPREG15	38
 | ||
|  | #define REG_XFREG0	39
 | ||
|  | #define REG_XFREG15	54
 | ||
|  | 
 | ||
|  | #define REG_FPSCR	55
 | ||
|  | #define REG_FPUL	56
 | ||
|  | 
 | ||
|  | /*
 | ||
|  |  * This struct defines the way the registers are stored on the | ||
|  |  * kernel stack during a system call or other kernel entry. | ||
|  |  */ | ||
|  | struct pt_regs { | ||
|  | 	unsigned long regs[16]; | ||
|  | 	unsigned long pc; | ||
|  | 	unsigned long pr; | ||
|  | 	unsigned long sr; | ||
|  | 	unsigned long gbr; | ||
|  | 	unsigned long mach; | ||
|  | 	unsigned long macl; | ||
|  | 	long tra; | ||
|  | }; | ||
|  | 
 | ||
|  | /*
 | ||
|  |  * This struct defines the way the DSP registers are stored on the | ||
|  |  * kernel stack during a system call or other kernel entry. | ||
|  |  */ | ||
|  | struct pt_dspregs { | ||
|  | 	unsigned long	a1; | ||
|  | 	unsigned long	a0g; | ||
|  | 	unsigned long	a1g; | ||
|  | 	unsigned long	m0; | ||
|  | 	unsigned long	m1; | ||
|  | 	unsigned long	a0; | ||
|  | 	unsigned long	x0; | ||
|  | 	unsigned long	x1; | ||
|  | 	unsigned long	y0; | ||
|  | 	unsigned long	y1; | ||
|  | 	unsigned long	dsr; | ||
|  | 	unsigned long	rs; | ||
|  | 	unsigned long	re; | ||
|  | 	unsigned long	mod; | ||
|  | }; | ||
|  | 
 | ||
|  | 
 | ||
|  | #endif /* _UAPI__ASM_SH_PTRACE_32_H */
 |