mirror of
				https://source.denx.de/u-boot/u-boot.git
				synced 2025-10-26 14:01:50 +01:00 
			
		
		
		
	Fix ptrace and interrupt register overflow warning. Add missing P0 and P1 (r26 and r27) into register lists. These register are usually used in OS. Signed-off-by: Macpaul Lin <macpaul@gmail.com>
		
			
				
	
	
		
			91 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			91 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
|  * Copyright (C) 2011 Andes Technology Corporation
 | |
|  * Copyright (C) 2010 Shawn Lin (nobuhiro@andestech.com)
 | |
|  * Copyright (C) 2011 Macpaul Lin (macpaul@andestech.com)
 | |
|  *
 | |
|  * 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.
 | |
|  */
 | |
| #ifndef __ASM_NDS_PTRACE_H
 | |
| #define __ASM_NDS_PTRACE_H
 | |
| 
 | |
| #define USR_MODE	0x00
 | |
| #define SU_MODE		0x01
 | |
| #define HV_MODE		0x10
 | |
| #define MODE_MASK	(0x03<<3)
 | |
| #define GIE_BIT		0x01
 | |
| 
 | |
| #ifndef __ASSEMBLY__
 | |
| 
 | |
| /* this struct defines the way the registers are stored on the
 | |
|    stack during a system call. */
 | |
| 
 | |
| #define NDS32_REG long
 | |
| 
 | |
| struct pt_regs {
 | |
| 	NDS32_REG ir0;
 | |
| 	NDS32_REG ipsw;
 | |
| 	NDS32_REG ipc;
 | |
| 	NDS32_REG sp;
 | |
| 	NDS32_REG orig_r0;
 | |
| 	NDS32_REG pipsw;
 | |
| 	NDS32_REG pipc;
 | |
| 	NDS32_REG pp0;
 | |
| 	NDS32_REG pp1;
 | |
| 	NDS32_REG d0hi;
 | |
| 	NDS32_REG d0lo;
 | |
| 	NDS32_REG d1hi;
 | |
| 	NDS32_REG d1lo;
 | |
| 	NDS32_REG r[26];	/* r0 - r25 */
 | |
| 	NDS32_REG p0;		/* r26 - used by OS */
 | |
| 	NDS32_REG p1;		/* r27 - used by OS */
 | |
| 	NDS32_REG fp;		/* r28 */
 | |
| 	NDS32_REG gp;		/* r29 */
 | |
| 	NDS32_REG lp;		/* r30 */
 | |
| 	NDS32_REG fucop_ctl;
 | |
| 	NDS32_REG osp;
 | |
| };
 | |
| 
 | |
| #define processor_mode(regs) \
 | |
| 	(((regs)->ipsw & MODE_MASK) >> 3)
 | |
| 
 | |
| #define interrupts_enabled(regs) \
 | |
| 	((regs)->ipsw & GIE_BIT)
 | |
| 
 | |
| /*
 | |
|  * Offsets used by 'ptrace' system call interface.
 | |
|  * These can't be changed without breaking binary compatibility
 | |
|  * with MkLinux, etc.
 | |
|  */
 | |
| #define PT_R0	0
 | |
| #define PT_R1	1
 | |
| #define PT_R2	2
 | |
| #define PT_R3	3
 | |
| #define PT_R4	4
 | |
| #define PT_R5	5
 | |
| #define PT_R6	6
 | |
| #define PT_R7	7
 | |
| #define PT_R8	8
 | |
| #define PT_R9	9
 | |
| #define PT_R10	10
 | |
| #define PT_R11	11
 | |
| #define PT_R12	12
 | |
| #define PT_R13	13
 | |
| #define PT_R14	14
 | |
| #define PT_R15	15
 | |
| #define PT_R16	16
 | |
| #define PT_R17	17
 | |
| #define PT_R18	18
 | |
| #define PT_R19	19
 | |
| #define PT_R20	20
 | |
| #define PT_R21	21
 | |
| #define PT_R22	22
 | |
| #define PT_R23	23
 | |
| #define PT_R24	24
 | |
| #define PT_R25	25
 | |
| 
 | |
| #endif	/* __ASSEMBLY__ */
 | |
| 
 | |
| #endif /* __ASM_NDS_PTRACE_H */
 |