📄 a.i
字号:
# 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 + -