UBOOT 源码

源代码在线查看: ptrace.h

软件大小: 11593 K
上传用户: sail2ford
关键词: UBOOT 源码
下载地址: 免注册下载 普通下载 VIP

相关代码

				/*				 *  linux/include/asm-arm/proc-armv/ptrace.h				 *				 *  Copyright (C) 1996-1999 Russell King				 *				 * 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_PROC_PTRACE_H				#define __ASM_PROC_PTRACE_H								#include 								#define USR26_MODE	0x00				#define FIQ26_MODE	0x01				#define IRQ26_MODE	0x02				#define SVC26_MODE	0x03				#define USR_MODE	0x10				#define FIQ_MODE	0x11				#define IRQ_MODE	0x12				#define SVC_MODE	0x13				#define ABT_MODE	0x17				#define UND_MODE	0x1b				#define SYSTEM_MODE	0x1f				#define MODE_MASK	0x1f				#define T_BIT		0x20				#define F_BIT		0x40				#define I_BIT		0x80				#define CC_V_BIT	(1 				#define CC_C_BIT	(1 				#define CC_Z_BIT	(1 				#define CC_N_BIT	(1 				#define PCMASK		0								#ifndef __ASSEMBLY__								/* this struct defines the way the registers are stored on the				   stack during a system call. */								struct pt_regs {					long uregs[18];				};								#define ARM_cpsr	uregs[16]				#define ARM_pc		uregs[15]				#define ARM_lr		uregs[14]				#define ARM_sp		uregs[13]				#define ARM_ip		uregs[12]				#define ARM_fp		uregs[11]				#define ARM_r10		uregs[10]				#define ARM_r9		uregs[9]				#define ARM_r8		uregs[8]				#define ARM_r7		uregs[7]				#define ARM_r6		uregs[6]				#define ARM_r5		uregs[5]				#define ARM_r4		uregs[4]				#define ARM_r3		uregs[3]				#define ARM_r2		uregs[2]				#define ARM_r1		uregs[1]				#define ARM_r0		uregs[0]				#define ARM_ORIG_r0	uregs[17]								#ifdef __KERNEL__								#define user_mode(regs)	\					(((regs)->ARM_cpsr & 0xf) == 0)								#ifdef CONFIG_ARM_THUMB				#define thumb_mode(regs) \					(((regs)->ARM_cpsr & T_BIT))				#else				#define thumb_mode(regs) (0)				#endif								#define processor_mode(regs) \					((regs)->ARM_cpsr & MODE_MASK)								#define interrupts_enabled(regs) \					(!((regs)->ARM_cpsr & I_BIT))								#define fast_interrupts_enabled(regs) \					(!((regs)->ARM_cpsr & F_BIT))								#define condition_codes(regs) \					((regs)->ARM_cpsr & (CC_V_BIT|CC_C_BIT|CC_Z_BIT|CC_N_BIT))								/* Are the current registers suitable for user mode?				 * (used to maintain security in signal handlers)				 */				static inline int valid_user_regs(struct pt_regs *regs)				{					if ((regs->ARM_cpsr & 0xf) == 0 &&					    (regs->ARM_cpsr & (F_BIT|I_BIT)) == 0)						return 1;									/*					 * Force CPSR to something logical...					 */					regs->ARM_cpsr &= (CC_V_BIT|CC_C_BIT|CC_Z_BIT|CC_N_BIT|0x10);									return 0;				}								#endif	/* __KERNEL__ */								#endif	/* __ASSEMBLY__ */								#endif							

相关资源