⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 a.i

📁 基于LINUX嵌入式系统
💻 I
📖 第 1 页 / 共 5 页
字号:
# 1 "ad_driver.c"# 1 "/home/llhg/linux-2.4/linux/include/linux/module.h" 1 # 1 "/home/llhg/linux-2.4/linux/include/linux/config.h" 1# 1 "/home/llhg/linux-2.4/linux/include/linux/autoconf.h" 1                                                       # 4 "/home/llhg/linux-2.4/linux/include/linux/config.h" 2# 10 "/home/llhg/linux-2.4/linux/include/linux/module.h" 2# 1 "/home/llhg/linux-2.4/linux/include/linux/spinlock.h" 1    typedef struct { int gcc_is_buggy; } spinlock_t;  # 105 "/home/llhg/linux-2.4/linux/include/linux/spinlock.h"   typedef struct { int gcc_is_buggy; } rwlock_t;   # 11 "/home/llhg/linux-2.4/linux/include/linux/module.h" 2# 1 "/home/llhg/linux-2.4/linux/include/linux/list.h" 1# 1 "/home/llhg/linux-2.4/linux/include/linux/prefetch.h" 1 # 1 "/home/llhg/linux-2.4/linux/include/asm/processor.h" 1  struct fp_hard_struct {	unsigned int save[35 ];		 };struct fp_soft_struct {	unsigned int save[35 ];		 };union fp_state {	struct fp_hard_struct	hard;	struct fp_soft_struct	soft;};typedef unsigned long mm_segment_t;		 # 1 "/home/llhg/linux-2.4/linux/include/asm/atomic.h" 1 typedef struct { volatile int counter; } atomic_t;# 1 "/home/llhg/linux-2.4/linux/include/asm/proc/system.h" 1 extern unsigned long cr_no_alignment;	 extern unsigned long cr_alignment;	   # 63 "/home/llhg/linux-2.4/linux/include/asm/proc/system.h"	 # 78 "/home/llhg/linux-2.4/linux/include/asm/proc/system.h" # 93 "/home/llhg/linux-2.4/linux/include/asm/proc/system.h" # 108 "/home/llhg/linux-2.4/linux/include/asm/proc/system.h" # 123 "/home/llhg/linux-2.4/linux/include/asm/proc/system.h"  # 158 "/home/llhg/linux-2.4/linux/include/asm/proc/system.h"static inline unsigned long __xchg(unsigned long x, volatile void *ptr, int size){	extern void __bad_xchg(volatile void *, int);	unsigned long ret;	switch (size) {# 183 "/home/llhg/linux-2.4/linux/include/asm/proc/system.h"		case 1:	__asm__ __volatile__ ("swpb %0, %1, [%2]"					: "=r" (ret)					: "r" (x), "r" (ptr)					: "memory");			break;		case 4:	__asm__ __volatile__ ("swp %0, %1, [%2]"					: "=r" (ret)					: "r" (x), "r" (ptr)					: "memory");			break;		default: __bad_xchg(ptr, size);	}	return ret;}# 30 "/home/llhg/linux-2.4/linux/include/asm/atomic.h" 2static __inline__ void atomic_add(int i, volatile atomic_t *v){	unsigned long flags;	({	unsigned long temp;	__asm__ __volatile__(	"mrs	%0, cpsr		@ save_flags_cli\n"	"	orr	%1, %0, #128\n"	"	msr	cpsr_c, %1"	: "=r" ( flags ), "=r" (temp)	:	: "memory");	}) ;	v->counter += i;	__asm__ __volatile__(	"msr	cpsr_c, %0		@ restore_flags\n"	:	: "r" ( flags )	: "memory") ;}static __inline__ void atomic_sub(int i, volatile atomic_t *v){	unsigned long flags;	({	unsigned long temp;	__asm__ __volatile__(	"mrs	%0, cpsr		@ save_flags_cli\n"	"	orr	%1, %0, #128\n"	"	msr	cpsr_c, %1"	: "=r" ( flags ), "=r" (temp)	:	: "memory");	}) ;	v->counter -= i;	__asm__ __volatile__(	"msr	cpsr_c, %0		@ restore_flags\n"	:	: "r" ( flags )	: "memory") ;}static __inline__ void atomic_inc(volatile atomic_t *v){	unsigned long flags;	({	unsigned long temp;	__asm__ __volatile__(	"mrs	%0, cpsr		@ save_flags_cli\n"	"	orr	%1, %0, #128\n"	"	msr	cpsr_c, %1"	: "=r" ( flags ), "=r" (temp)	:	: "memory");	}) ;	v->counter += 1;	__asm__ __volatile__(	"msr	cpsr_c, %0		@ restore_flags\n"	:	: "r" ( flags )	: "memory") ;}static __inline__ void atomic_dec(volatile atomic_t *v){	unsigned long flags;	({	unsigned long temp;	__asm__ __volatile__(	"mrs	%0, cpsr		@ save_flags_cli\n"	"	orr	%1, %0, #128\n"	"	msr	cpsr_c, %1"	: "=r" ( flags ), "=r" (temp)	:	: "memory");	}) ;	v->counter -= 1;	__asm__ __volatile__(	"msr	cpsr_c, %0		@ restore_flags\n"	:	: "r" ( flags )	: "memory") ;}static __inline__ int atomic_dec_and_test(volatile atomic_t *v){	unsigned long flags;	int result;	({	unsigned long temp;	__asm__ __volatile__(	"mrs	%0, cpsr		@ save_flags_cli\n"	"	orr	%1, %0, #128\n"	"	msr	cpsr_c, %1"	: "=r" ( flags ), "=r" (temp)	:	: "memory");	}) ;	v->counter -= 1;	result = (v->counter == 0);	__asm__ __volatile__(	"msr	cpsr_c, %0		@ restore_flags\n"	:	: "r" ( flags )	: "memory") ;	return result;}static inline int atomic_add_negative(int i, volatile atomic_t *v){	unsigned long flags;	int result;	({	unsigned long temp;	__asm__ __volatile__(	"mrs	%0, cpsr		@ save_flags_cli\n"	"	orr	%1, %0, #128\n"	"	msr	cpsr_c, %1"	: "=r" ( flags ), "=r" (temp)	:	: "memory");	}) ;	v->counter += i;	result = (v->counter < 0);	__asm__ __volatile__(	"msr	cpsr_c, %0		@ restore_flags\n"	:	: "r" ( flags )	: "memory") ;	return result;}static __inline__ void atomic_clear_mask(unsigned long mask, unsigned long *addr){	unsigned long flags;	({	unsigned long temp;	__asm__ __volatile__(	"mrs	%0, cpsr		@ save_flags_cli\n"	"	orr	%1, %0, #128\n"	"	msr	cpsr_c, %1"	: "=r" ( flags ), "=r" (temp)	:	: "memory");	}) ;	*addr &= ~mask;	__asm__ __volatile__(	"msr	cpsr_c, %0		@ restore_flags\n"	:	: "r" ( flags )	: "memory") ;} # 43 "/home/llhg/linux-2.4/linux/include/asm/processor.h" 2# 1 "/home/llhg/linux-2.4/linux/include/asm/ptrace.h" 1# 1 "/home/llhg/linux-2.4/linux/include/asm/proc/ptrace.h" 1  struct pt_regs {	long uregs[18];};	 static inline int valid_user_regs(struct pt_regs *regs){	if ((regs-> uregs[16]  & 0xf) == 0 &&	    (regs-> uregs[16]  & (0x40 | 0x80 )) == 0)		return 1;	 	regs-> uregs[16]  &= ((1 << 28) | (1 << 29) | (1 << 30) | (1 << 31) |0x10);	return 0;}# 4 "/home/llhg/linux-2.4/linux/include/asm/ptrace.h" 2extern void show_regs(struct pt_regs *);# 44 "/home/llhg/linux-2.4/linux/include/asm/processor.h" 2# 1 "/home/llhg/linux-2.4/linux/include/asm/arch/memory.h" 1      

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -