1
2
3
4#line 19 "include/asm-generic/int-ll64.h"
5typedef signed char __s8;
6#line 22 "include/asm-generic/int-ll64.h"
7typedef short __s16;
8#line 23 "include/asm-generic/int-ll64.h"
9typedef unsigned short __u16;
10#line 25 "include/asm-generic/int-ll64.h"
11typedef int __s32;
12#line 26 "include/asm-generic/int-ll64.h"
13typedef unsigned int __u32;
14#line 29 "include/asm-generic/int-ll64.h"
15typedef long long __s64;
16#line 30 "include/asm-generic/int-ll64.h"
17typedef unsigned long long __u64;
18#line 43 "include/asm-generic/int-ll64.h"
19typedef unsigned char u8;
20#line 45 "include/asm-generic/int-ll64.h"
21typedef short s16;
22#line 46 "include/asm-generic/int-ll64.h"
23typedef unsigned short u16;
24#line 48 "include/asm-generic/int-ll64.h"
25typedef int s32;
26#line 49 "include/asm-generic/int-ll64.h"
27typedef unsigned int u32;
28#line 51 "include/asm-generic/int-ll64.h"
29typedef long long s64;
30#line 52 "include/asm-generic/int-ll64.h"
31typedef unsigned long long u64;
32#line 14 "include/asm-generic/posix_types.h"
33typedef long __kernel_long_t;
34#line 15 "include/asm-generic/posix_types.h"
35typedef unsigned long __kernel_ulong_t;
36#line 31 "include/asm-generic/posix_types.h"
37typedef int __kernel_pid_t;
38#line 52 "include/asm-generic/posix_types.h"
39typedef unsigned int __kernel_uid32_t;
40#line 53 "include/asm-generic/posix_types.h"
41typedef unsigned int __kernel_gid32_t;
42#line 75 "include/asm-generic/posix_types.h"
43typedef __kernel_ulong_t __kernel_size_t;
44#line 76 "include/asm-generic/posix_types.h"
45typedef __kernel_long_t __kernel_ssize_t;
46#line 91 "include/asm-generic/posix_types.h"
47typedef long long __kernel_loff_t;
48#line 92 "include/asm-generic/posix_types.h"
49typedef __kernel_long_t __kernel_time_t;
50#line 93 "include/asm-generic/posix_types.h"
51typedef __kernel_long_t __kernel_clock_t;
52#line 94 "include/asm-generic/posix_types.h"
53typedef int __kernel_timer_t;
54#line 95 "include/asm-generic/posix_types.h"
55typedef int __kernel_clockid_t;
56#line 21 "include/linux/types.h"
57typedef __u32 __kernel_dev_t;
58#line 24 "include/linux/types.h"
59typedef __kernel_dev_t dev_t;
60#line 27 "include/linux/types.h"
61typedef unsigned short umode_t;
62#line 30 "include/linux/types.h"
63typedef __kernel_pid_t pid_t;
64#line 35 "include/linux/types.h"
65typedef __kernel_clockid_t clockid_t;
66#line 38 "include/linux/types.h"
67typedef _Bool bool;
68#line 40 "include/linux/types.h"
69typedef __kernel_uid32_t uid_t;
70#line 41 "include/linux/types.h"
71typedef __kernel_gid32_t gid_t;
72#line 54 "include/linux/types.h"
73typedef __kernel_loff_t loff_t;
74#line 63 "include/linux/types.h"
75typedef __kernel_size_t size_t;
76#line 68 "include/linux/types.h"
77typedef __kernel_ssize_t ssize_t;
78#line 78 "include/linux/types.h"
79typedef __kernel_time_t time_t;
80#line 111 "include/linux/types.h"
81typedef __s32 int32_t;
82#line 117 "include/linux/types.h"
83typedef __u32 uint32_t;
84#line 142 "include/linux/types.h"
85typedef unsigned long sector_t;
86#line 143 "include/linux/types.h"
87typedef unsigned long blkcnt_t;
88#line 202 "include/linux/types.h"
89typedef unsigned int gfp_t;
90#line 203 "include/linux/types.h"
91typedef unsigned int fmode_t;
92#line 206 "include/linux/types.h"
93typedef u64 phys_addr_t;
94#line 211 "include/linux/types.h"
95typedef phys_addr_t resource_size_t;
96#line 219 "include/linux/types.h"
97struct __anonstruct_atomic_t_7 {
98 int counter ;
99};
100#line 219 "include/linux/types.h"
101typedef struct __anonstruct_atomic_t_7 atomic_t;
102#line 224 "include/linux/types.h"
103struct __anonstruct_atomic64_t_8 {
104 long counter ;
105};
106#line 224 "include/linux/types.h"
107typedef struct __anonstruct_atomic64_t_8 atomic64_t;
108#line 229 "include/linux/types.h"
109struct list_head {
110 struct list_head *next ;
111 struct list_head *prev ;
112};
113#line 233
114struct hlist_node;
115#line 233 "include/linux/types.h"
116struct hlist_head {
117 struct hlist_node *first ;
118};
119#line 237 "include/linux/types.h"
120struct hlist_node {
121 struct hlist_node *next ;
122 struct hlist_node **pprev ;
123};
124#line 253 "include/linux/types.h"
125struct rcu_head {
126 struct rcu_head *next ;
127 void (*func)(struct rcu_head *head ) ;
128};
129#line 56 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/alternative.h"
130struct module;
131#line 56
132struct module;
133#line 146 "include/linux/init.h"
134typedef void (*ctor_fn_t)(void);
135#line 135 "include/linux/kernel.h"
136struct completion;
137#line 135
138struct completion;
139#line 136
140struct pt_regs;
141#line 136
142struct pt_regs;
143#line 349
144struct pid;
145#line 349
146struct pid;
147#line 12 "include/linux/thread_info.h"
148struct timespec;
149#line 12
150struct timespec;
151#line 18 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/page.h"
152struct page;
153#line 18
154struct page;
155#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/thread_info.h"
156struct task_struct;
157#line 20
158struct task_struct;
159#line 7 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
160struct task_struct;
161#line 8
162struct mm_struct;
163#line 8
164struct mm_struct;
165#line 99 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
166struct pt_regs {
167 unsigned long r15 ;
168 unsigned long r14 ;
169 unsigned long r13 ;
170 unsigned long r12 ;
171 unsigned long bp ;
172 unsigned long bx ;
173 unsigned long r11 ;
174 unsigned long r10 ;
175 unsigned long r9 ;
176 unsigned long r8 ;
177 unsigned long ax ;
178 unsigned long cx ;
179 unsigned long dx ;
180 unsigned long si ;
181 unsigned long di ;
182 unsigned long orig_ax ;
183 unsigned long ip ;
184 unsigned long cs ;
185 unsigned long flags ;
186 unsigned long sp ;
187 unsigned long ss ;
188};
189#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/desc_defs.h"
190struct __anonstruct____missing_field_name_15 {
191 unsigned int a ;
192 unsigned int b ;
193};
194#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/desc_defs.h"
195struct __anonstruct____missing_field_name_16 {
196 u16 limit0 ;
197 u16 base0 ;
198 unsigned int base1 : 8 ;
199 unsigned int type : 4 ;
200 unsigned int s : 1 ;
201 unsigned int dpl : 2 ;
202 unsigned int p : 1 ;
203 unsigned int limit : 4 ;
204 unsigned int avl : 1 ;
205 unsigned int l : 1 ;
206 unsigned int d : 1 ;
207 unsigned int g : 1 ;
208 unsigned int base2 : 8 ;
209};
210#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/desc_defs.h"
211union __anonunion____missing_field_name_14 {
212 struct __anonstruct____missing_field_name_15 __annonCompField5 ;
213 struct __anonstruct____missing_field_name_16 __annonCompField6 ;
214};
215#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/desc_defs.h"
216struct desc_struct {
217 union __anonunion____missing_field_name_14 __annonCompField7 ;
218} __attribute__((__packed__)) ;
219#line 13 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
220typedef unsigned long pgdval_t;
221#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
222typedef unsigned long pgprotval_t;
223#line 192 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
224struct pgprot {
225 pgprotval_t pgprot ;
226};
227#line 192 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
228typedef struct pgprot pgprot_t;
229#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
230struct __anonstruct_pgd_t_20 {
231 pgdval_t pgd ;
232};
233#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
234typedef struct __anonstruct_pgd_t_20 pgd_t;
235#line 282 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
236typedef struct page *pgtable_t;
237#line 295
238struct file;
239#line 295
240struct file;
241#line 313
242struct seq_file;
243#line 313
244struct seq_file;
245#line 46 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt_types.h"
246struct page;
247#line 47
248struct thread_struct;
249#line 47
250struct thread_struct;
251#line 50
252struct mm_struct;
253#line 51
254struct desc_struct;
255#line 52
256struct task_struct;
257#line 53
258struct cpumask;
259#line 53
260struct cpumask;
261#line 329
262struct arch_spinlock;
263#line 329
264struct arch_spinlock;
265#line 139 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
266struct task_struct;
267#line 141 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/vm86.h"
268struct kernel_vm86_regs {
269 struct pt_regs pt ;
270 unsigned short es ;
271 unsigned short __esh ;
272 unsigned short ds ;
273 unsigned short __dsh ;
274 unsigned short fs ;
275 unsigned short __fsh ;
276 unsigned short gs ;
277 unsigned short __gsh ;
278};
279#line 11 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/math_emu.h"
280union __anonunion____missing_field_name_24 {
281 struct pt_regs *regs ;
282 struct kernel_vm86_regs *vm86 ;
283};
284#line 11 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/math_emu.h"
285struct math_emu_info {
286 long ___orig_eip ;
287 union __anonunion____missing_field_name_24 __annonCompField8 ;
288};
289#line 8 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/current.h"
290struct task_struct;
291#line 10 "include/asm-generic/bug.h"
292struct bug_entry {
293 int bug_addr_disp ;
294 int file_disp ;
295 unsigned short line ;
296 unsigned short flags ;
297};
298#line 12 "include/linux/bug.h"
299struct pt_regs;
300#line 14 "include/linux/cpumask.h"
301struct cpumask {
302 unsigned long bits[((4096UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
303};
304#line 14 "include/linux/cpumask.h"
305typedef struct cpumask cpumask_t;
306#line 637 "include/linux/cpumask.h"
307typedef struct cpumask *cpumask_var_t;
308#line 234 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt.h"
309struct static_key;
310#line 234
311struct static_key;
312#line 11 "include/linux/personality.h"
313struct pt_regs;
314#line 153 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
315struct seq_operations;
316#line 290 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
317struct i387_fsave_struct {
318 u32 cwd ;
319 u32 swd ;
320 u32 twd ;
321 u32 fip ;
322 u32 fcs ;
323 u32 foo ;
324 u32 fos ;
325 u32 st_space[20] ;
326 u32 status ;
327};
328#line 306 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
329struct __anonstruct____missing_field_name_31 {
330 u64 rip ;
331 u64 rdp ;
332};
333#line 306 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
334struct __anonstruct____missing_field_name_32 {
335 u32 fip ;
336 u32 fcs ;
337 u32 foo ;
338 u32 fos ;
339};
340#line 306 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
341union __anonunion____missing_field_name_30 {
342 struct __anonstruct____missing_field_name_31 __annonCompField12 ;
343 struct __anonstruct____missing_field_name_32 __annonCompField13 ;
344};
345#line 306 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
346union __anonunion____missing_field_name_33 {
347 u32 padding1[12] ;
348 u32 sw_reserved[12] ;
349};
350#line 306 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
351struct i387_fxsave_struct {
352 u16 cwd ;
353 u16 swd ;
354 u16 twd ;
355 u16 fop ;
356 union __anonunion____missing_field_name_30 __annonCompField14 ;
357 u32 mxcsr ;
358 u32 mxcsr_mask ;
359 u32 st_space[32] ;
360 u32 xmm_space[64] ;
361 u32 padding[12] ;
362 union __anonunion____missing_field_name_33 __annonCompField15 ;
363} __attribute__((__aligned__(16))) ;
364#line 341 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
365struct i387_soft_struct {
366 u32 cwd ;
367 u32 swd ;
368 u32 twd ;
369 u32 fip ;
370 u32 fcs ;
371 u32 foo ;
372 u32 fos ;
373 u32 st_space[20] ;
374 u8 ftop ;
375 u8 changed ;
376 u8 lookahead ;
377 u8 no_update ;
378 u8 rm ;
379 u8 alimit ;
380 struct math_emu_info *info ;
381 u32 entry_eip ;
382};
383#line 361 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
384struct ymmh_struct {
385 u32 ymmh_space[64] ;
386};
387#line 366 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
388struct xsave_hdr_struct {
389 u64 xstate_bv ;
390 u64 reserved1[2] ;
391 u64 reserved2[5] ;
392} __attribute__((__packed__)) ;
393#line 372 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
394struct xsave_struct {
395 struct i387_fxsave_struct i387 ;
396 struct xsave_hdr_struct xsave_hdr ;
397 struct ymmh_struct ymmh ;
398} __attribute__((__packed__, __aligned__(64))) ;
399#line 379 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
400union thread_xstate {
401 struct i387_fsave_struct fsave ;
402 struct i387_fxsave_struct fxsave ;
403 struct i387_soft_struct soft ;
404 struct xsave_struct xsave ;
405};
406#line 386 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
407struct fpu {
408 unsigned int last_cpu ;
409 unsigned int has_fpu ;
410 union thread_xstate *state ;
411};
412#line 433
413struct kmem_cache;
414#line 435
415struct perf_event;
416#line 435
417struct perf_event;
418#line 437 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
419struct thread_struct {
420 struct desc_struct tls_array[3] ;
421 unsigned long sp0 ;
422 unsigned long sp ;
423 unsigned long usersp ;
424 unsigned short es ;
425 unsigned short ds ;
426 unsigned short fsindex ;
427 unsigned short gsindex ;
428 unsigned long fs ;
429 unsigned long gs ;
430 struct perf_event *ptrace_bps[4] ;
431 unsigned long debugreg6 ;
432 unsigned long ptrace_dr7 ;
433 unsigned long cr2 ;
434 unsigned long trap_nr ;
435 unsigned long error_code ;
436 struct fpu fpu ;
437 unsigned long *io_bitmap_ptr ;
438 unsigned long iopl ;
439 unsigned int io_bitmap_max ;
440};
441#line 23 "include/asm-generic/atomic-long.h"
442typedef atomic64_t atomic_long_t;
443#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
444typedef u16 __ticket_t;
445#line 15 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
446typedef u32 __ticketpair_t;
447#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
448struct __raw_tickets {
449 __ticket_t head ;
450 __ticket_t tail ;
451};
452#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
453union __anonunion____missing_field_name_36 {
454 __ticketpair_t head_tail ;
455 struct __raw_tickets tickets ;
456};
457#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
458struct arch_spinlock {
459 union __anonunion____missing_field_name_36 __annonCompField17 ;
460};
461#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
462typedef struct arch_spinlock arch_spinlock_t;
463#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
464struct __anonstruct____missing_field_name_38 {
465 u32 read ;
466 s32 write ;
467};
468#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
469union __anonunion_arch_rwlock_t_37 {
470 s64 lock ;
471 struct __anonstruct____missing_field_name_38 __annonCompField18 ;
472};
473#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
474typedef union __anonunion_arch_rwlock_t_37 arch_rwlock_t;
475#line 12 "include/linux/lockdep.h"
476struct task_struct;
477#line 391 "include/linux/lockdep.h"
478struct lock_class_key {
479
480};
481#line 20 "include/linux/spinlock_types.h"
482struct raw_spinlock {
483 arch_spinlock_t raw_lock ;
484 unsigned int magic ;
485 unsigned int owner_cpu ;
486 void *owner ;
487};
488#line 20 "include/linux/spinlock_types.h"
489typedef struct raw_spinlock raw_spinlock_t;
490#line 64 "include/linux/spinlock_types.h"
491union __anonunion____missing_field_name_39 {
492 struct raw_spinlock rlock ;
493};
494#line 64 "include/linux/spinlock_types.h"
495struct spinlock {
496 union __anonunion____missing_field_name_39 __annonCompField19 ;
497};
498#line 64 "include/linux/spinlock_types.h"
499typedef struct spinlock spinlock_t;
500#line 11 "include/linux/rwlock_types.h"
501struct __anonstruct_rwlock_t_40 {
502 arch_rwlock_t raw_lock ;
503 unsigned int magic ;
504 unsigned int owner_cpu ;
505 void *owner ;
506};
507#line 11 "include/linux/rwlock_types.h"
508typedef struct __anonstruct_rwlock_t_40 rwlock_t;
509#line 119 "include/linux/seqlock.h"
510struct seqcount {
511 unsigned int sequence ;
512};
513#line 119 "include/linux/seqlock.h"
514typedef struct seqcount seqcount_t;
515#line 14 "include/linux/time.h"
516struct timespec {
517 __kernel_time_t tv_sec ;
518 long tv_nsec ;
519};
520#line 62 "include/linux/stat.h"
521struct kstat {
522 u64 ino ;
523 dev_t dev ;
524 umode_t mode ;
525 unsigned int nlink ;
526 uid_t uid ;
527 gid_t gid ;
528 dev_t rdev ;
529 loff_t size ;
530 struct timespec atime ;
531 struct timespec mtime ;
532 struct timespec ctime ;
533 unsigned long blksize ;
534 unsigned long long blocks ;
535};
536#line 49 "include/linux/wait.h"
537struct __wait_queue_head {
538 spinlock_t lock ;
539 struct list_head task_list ;
540};
541#line 53 "include/linux/wait.h"
542typedef struct __wait_queue_head wait_queue_head_t;
543#line 55
544struct task_struct;
545#line 98 "include/linux/nodemask.h"
546struct __anonstruct_nodemask_t_42 {
547 unsigned long bits[(((unsigned long )(1 << 10) + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
548};
549#line 98 "include/linux/nodemask.h"
550typedef struct __anonstruct_nodemask_t_42 nodemask_t;
551#line 60 "include/linux/pageblock-flags.h"
552struct page;
553#line 48 "include/linux/mutex.h"
554struct mutex {
555 atomic_t count ;
556 spinlock_t wait_lock ;
557 struct list_head wait_list ;
558 struct task_struct *owner ;
559 char const *name ;
560 void *magic ;
561};
562#line 69 "include/linux/mutex.h"
563struct mutex_waiter {
564 struct list_head list ;
565 struct task_struct *task ;
566 void *magic ;
567};
568#line 19 "include/linux/rwsem.h"
569struct rw_semaphore;
570#line 19
571struct rw_semaphore;
572#line 25 "include/linux/rwsem.h"
573struct rw_semaphore {
574 long count ;
575 raw_spinlock_t wait_lock ;
576 struct list_head wait_list ;
577};
578#line 25 "include/linux/completion.h"
579struct completion {
580 unsigned int done ;
581 wait_queue_head_t wait ;
582};
583#line 9 "include/linux/memory_hotplug.h"
584struct page;
585#line 18 "include/linux/ioport.h"
586struct resource {
587 resource_size_t start ;
588 resource_size_t end ;
589 char const *name ;
590 unsigned long flags ;
591 struct resource *parent ;
592 struct resource *sibling ;
593 struct resource *child ;
594};
595#line 46 "include/linux/ktime.h"
596union ktime {
597 s64 tv64 ;
598};
599#line 59 "include/linux/ktime.h"
600typedef union ktime ktime_t;
601#line 10 "include/linux/timer.h"
602struct tvec_base;
603#line 10
604struct tvec_base;
605#line 12 "include/linux/timer.h"
606struct timer_list {
607 struct list_head entry ;
608 unsigned long expires ;
609 struct tvec_base *base ;
610 void (*function)(unsigned long ) ;
611 unsigned long data ;
612 int slack ;
613 int start_pid ;
614 void *start_site ;
615 char start_comm[16] ;
616};
617#line 289
618struct hrtimer;
619#line 289
620struct hrtimer;
621#line 290
622enum hrtimer_restart;
623#line 17 "include/linux/workqueue.h"
624struct work_struct;
625#line 17
626struct work_struct;
627#line 79 "include/linux/workqueue.h"
628struct work_struct {
629 atomic_long_t data ;
630 struct list_head entry ;
631 void (*func)(struct work_struct *work ) ;
632};
633#line 92 "include/linux/workqueue.h"
634struct delayed_work {
635 struct work_struct work ;
636 struct timer_list timer ;
637};
638#line 11 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
639struct __anonstruct_mm_context_t_112 {
640 void *ldt ;
641 int size ;
642 unsigned short ia32_compat ;
643 struct mutex lock ;
644 void *vdso ;
645};
646#line 11 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
647typedef struct __anonstruct_mm_context_t_112 mm_context_t;
648#line 8 "include/linux/vmalloc.h"
649struct vm_area_struct;
650#line 8
651struct vm_area_struct;
652#line 994 "include/linux/mmzone.h"
653struct page;
654#line 10 "include/linux/gfp.h"
655struct vm_area_struct;
656#line 29 "include/linux/sysctl.h"
657struct completion;
658#line 100 "include/linux/rbtree.h"
659struct rb_node {
660 unsigned long rb_parent_color ;
661 struct rb_node *rb_right ;
662 struct rb_node *rb_left ;
663} __attribute__((__aligned__(sizeof(long )))) ;
664#line 110 "include/linux/rbtree.h"
665struct rb_root {
666 struct rb_node *rb_node ;
667};
668#line 939 "include/linux/sysctl.h"
669struct nsproxy;
670#line 939
671struct nsproxy;
672#line 48 "include/linux/kmod.h"
673struct cred;
674#line 48
675struct cred;
676#line 49
677struct file;
678#line 270 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/elf.h"
679struct task_struct;
680#line 18 "include/linux/elf.h"
681typedef __u64 Elf64_Addr;
682#line 19 "include/linux/elf.h"
683typedef __u16 Elf64_Half;
684#line 23 "include/linux/elf.h"
685typedef __u32 Elf64_Word;
686#line 24 "include/linux/elf.h"
687typedef __u64 Elf64_Xword;
688#line 194 "include/linux/elf.h"
689struct elf64_sym {
690 Elf64_Word st_name ;
691 unsigned char st_info ;
692 unsigned char st_other ;
693 Elf64_Half st_shndx ;
694 Elf64_Addr st_value ;
695 Elf64_Xword st_size ;
696};
697#line 194 "include/linux/elf.h"
698typedef struct elf64_sym Elf64_Sym;
699#line 438
700struct file;
701#line 20 "include/linux/kobject_ns.h"
702struct sock;
703#line 20
704struct sock;
705#line 21
706struct kobject;
707#line 21
708struct kobject;
709#line 27
710enum kobj_ns_type {
711 KOBJ_NS_TYPE_NONE = 0,
712 KOBJ_NS_TYPE_NET = 1,
713 KOBJ_NS_TYPES = 2
714} ;
715#line 40 "include/linux/kobject_ns.h"
716struct kobj_ns_type_operations {
717 enum kobj_ns_type type ;
718 void *(*grab_current_ns)(void) ;
719 void const *(*netlink_ns)(struct sock *sk ) ;
720 void const *(*initial_ns)(void) ;
721 void (*drop_ns)(void * ) ;
722};
723#line 22 "include/linux/sysfs.h"
724struct kobject;
725#line 23
726struct module;
727#line 24
728enum kobj_ns_type;
729#line 26 "include/linux/sysfs.h"
730struct attribute {
731 char const *name ;
732 umode_t mode ;
733};
734#line 85
735struct file;
736#line 86
737struct vm_area_struct;
738#line 112 "include/linux/sysfs.h"
739struct sysfs_ops {
740 ssize_t (*show)(struct kobject * , struct attribute * , char * ) ;
741 ssize_t (*store)(struct kobject * , struct attribute * , char const * , size_t ) ;
742 void const *(*namespace)(struct kobject * , struct attribute const * ) ;
743};
744#line 118
745struct sysfs_dirent;
746#line 118
747struct sysfs_dirent;
748#line 22 "include/linux/kref.h"
749struct kref {
750 atomic_t refcount ;
751};
752#line 60 "include/linux/kobject.h"
753struct kset;
754#line 60
755struct kobj_type;
756#line 60 "include/linux/kobject.h"
757struct kobject {
758 char const *name ;
759 struct list_head entry ;
760 struct kobject *parent ;
761 struct kset *kset ;
762 struct kobj_type *ktype ;
763 struct sysfs_dirent *sd ;
764 struct kref kref ;
765 unsigned int state_initialized : 1 ;
766 unsigned int state_in_sysfs : 1 ;
767 unsigned int state_add_uevent_sent : 1 ;
768 unsigned int state_remove_uevent_sent : 1 ;
769 unsigned int uevent_suppress : 1 ;
770};
771#line 108 "include/linux/kobject.h"
772struct kobj_type {
773 void (*release)(struct kobject *kobj ) ;
774 struct sysfs_ops const *sysfs_ops ;
775 struct attribute **default_attrs ;
776 struct kobj_ns_type_operations const *(*child_ns_type)(struct kobject *kobj ) ;
777 void const *(*namespace)(struct kobject *kobj ) ;
778};
779#line 116 "include/linux/kobject.h"
780struct kobj_uevent_env {
781 char *envp[32] ;
782 int envp_idx ;
783 char buf[2048] ;
784 int buflen ;
785};
786#line 123 "include/linux/kobject.h"
787struct kset_uevent_ops {
788 int (* const filter)(struct kset *kset , struct kobject *kobj ) ;
789 char const *(* const name)(struct kset *kset , struct kobject *kobj ) ;
790 int (* const uevent)(struct kset *kset , struct kobject *kobj , struct kobj_uevent_env *env ) ;
791};
792#line 140
793struct sock;
794#line 159 "include/linux/kobject.h"
795struct kset {
796 struct list_head list ;
797 spinlock_t list_lock ;
798 struct kobject kobj ;
799 struct kset_uevent_ops const *uevent_ops ;
800};
801#line 39 "include/linux/moduleparam.h"
802struct kernel_param;
803#line 39
804struct kernel_param;
805#line 41 "include/linux/moduleparam.h"
806struct kernel_param_ops {
807 int (*set)(char const *val , struct kernel_param const *kp ) ;
808 int (*get)(char *buffer , struct kernel_param const *kp ) ;
809 void (*free)(void *arg ) ;
810};
811#line 50
812struct kparam_string;
813#line 50
814struct kparam_array;
815#line 50 "include/linux/moduleparam.h"
816union __anonunion____missing_field_name_199 {
817 void *arg ;
818 struct kparam_string const *str ;
819 struct kparam_array const *arr ;
820};
821#line 50 "include/linux/moduleparam.h"
822struct kernel_param {
823 char const *name ;
824 struct kernel_param_ops const *ops ;
825 u16 perm ;
826 s16 level ;
827 union __anonunion____missing_field_name_199 __annonCompField32 ;
828};
829#line 63 "include/linux/moduleparam.h"
830struct kparam_string {
831 unsigned int maxlen ;
832 char *string ;
833};
834#line 69 "include/linux/moduleparam.h"
835struct kparam_array {
836 unsigned int max ;
837 unsigned int elemsize ;
838 unsigned int *num ;
839 struct kernel_param_ops const *ops ;
840 void *elem ;
841};
842#line 445
843struct module;
844#line 80 "include/linux/jump_label.h"
845struct module;
846#line 143 "include/linux/jump_label.h"
847struct static_key {
848 atomic_t enabled ;
849};
850#line 22 "include/linux/tracepoint.h"
851struct module;
852#line 23
853struct tracepoint;
854#line 23
855struct tracepoint;
856#line 25 "include/linux/tracepoint.h"
857struct tracepoint_func {
858 void *func ;
859 void *data ;
860};
861#line 30 "include/linux/tracepoint.h"
862struct tracepoint {
863 char const *name ;
864 struct static_key key ;
865 void (*regfunc)(void) ;
866 void (*unregfunc)(void) ;
867 struct tracepoint_func *funcs ;
868};
869#line 19 "include/linux/export.h"
870struct kernel_symbol {
871 unsigned long value ;
872 char const *name ;
873};
874#line 8 "include/asm-generic/module.h"
875struct mod_arch_specific {
876
877};
878#line 35 "include/linux/module.h"
879struct module;
880#line 37
881struct module_param_attrs;
882#line 37 "include/linux/module.h"
883struct module_kobject {
884 struct kobject kobj ;
885 struct module *mod ;
886 struct kobject *drivers_dir ;
887 struct module_param_attrs *mp ;
888};
889#line 44 "include/linux/module.h"
890struct module_attribute {
891 struct attribute attr ;
892 ssize_t (*show)(struct module_attribute * , struct module_kobject * , char * ) ;
893 ssize_t (*store)(struct module_attribute * , struct module_kobject * , char const * ,
894 size_t count ) ;
895 void (*setup)(struct module * , char const * ) ;
896 int (*test)(struct module * ) ;
897 void (*free)(struct module * ) ;
898};
899#line 71
900struct exception_table_entry;
901#line 71
902struct exception_table_entry;
903#line 199
904enum module_state {
905 MODULE_STATE_LIVE = 0,
906 MODULE_STATE_COMING = 1,
907 MODULE_STATE_GOING = 2
908} ;
909#line 215 "include/linux/module.h"
910struct module_ref {
911 unsigned long incs ;
912 unsigned long decs ;
913} __attribute__((__aligned__((2) * (sizeof(unsigned long )) ))) ;
914#line 220
915struct module_sect_attrs;
916#line 220
917struct module_notes_attrs;
918#line 220
919struct ftrace_event_call;
920#line 220 "include/linux/module.h"
921struct module {
922 enum module_state state ;
923 struct list_head list ;
924 char name[64UL - sizeof(unsigned long )] ;
925 struct module_kobject mkobj ;
926 struct module_attribute *modinfo_attrs ;
927 char const *version ;
928 char const *srcversion ;
929 struct kobject *holders_dir ;
930 struct kernel_symbol const *syms ;
931 unsigned long const *crcs ;
932 unsigned int num_syms ;
933 struct kernel_param *kp ;
934 unsigned int num_kp ;
935 unsigned int num_gpl_syms ;
936 struct kernel_symbol const *gpl_syms ;
937 unsigned long const *gpl_crcs ;
938 struct kernel_symbol const *unused_syms ;
939 unsigned long const *unused_crcs ;
940 unsigned int num_unused_syms ;
941 unsigned int num_unused_gpl_syms ;
942 struct kernel_symbol const *unused_gpl_syms ;
943 unsigned long const *unused_gpl_crcs ;
944 struct kernel_symbol const *gpl_future_syms ;
945 unsigned long const *gpl_future_crcs ;
946 unsigned int num_gpl_future_syms ;
947 unsigned int num_exentries ;
948 struct exception_table_entry *extable ;
949 int (*init)(void) ;
950 void *module_init ;
951 void *module_core ;
952 unsigned int init_size ;
953 unsigned int core_size ;
954 unsigned int init_text_size ;
955 unsigned int core_text_size ;
956 unsigned int init_ro_size ;
957 unsigned int core_ro_size ;
958 struct mod_arch_specific arch ;
959 unsigned int taints ;
960 unsigned int num_bugs ;
961 struct list_head bug_list ;
962 struct bug_entry *bug_table ;
963 Elf64_Sym *symtab ;
964 Elf64_Sym *core_symtab ;
965 unsigned int num_symtab ;
966 unsigned int core_num_syms ;
967 char *strtab ;
968 char *core_strtab ;
969 struct module_sect_attrs *sect_attrs ;
970 struct module_notes_attrs *notes_attrs ;
971 char *args ;
972 void *percpu ;
973 unsigned int percpu_size ;
974 unsigned int num_tracepoints ;
975 struct tracepoint * const *tracepoints_ptrs ;
976 unsigned int num_trace_bprintk_fmt ;
977 char const **trace_bprintk_fmt_start ;
978 struct ftrace_event_call **trace_events ;
979 unsigned int num_trace_events ;
980 struct list_head source_list ;
981 struct list_head target_list ;
982 struct task_struct *waiter ;
983 void (*exit)(void) ;
984 struct module_ref *refptr ;
985 ctor_fn_t *ctors ;
986 unsigned int num_ctors ;
987};
988#line 15 "include/linux/blk_types.h"
989struct page;
990#line 16
991struct block_device;
992#line 16
993struct block_device;
994#line 33 "include/linux/list_bl.h"
995struct hlist_bl_node;
996#line 33 "include/linux/list_bl.h"
997struct hlist_bl_head {
998 struct hlist_bl_node *first ;
999};
1000#line 37 "include/linux/list_bl.h"
1001struct hlist_bl_node {
1002 struct hlist_bl_node *next ;
1003 struct hlist_bl_node **pprev ;
1004};
1005#line 13 "include/linux/dcache.h"
1006struct nameidata;
1007#line 13
1008struct nameidata;
1009#line 14
1010struct path;
1011#line 14
1012struct path;
1013#line 15
1014struct vfsmount;
1015#line 15
1016struct vfsmount;
1017#line 35 "include/linux/dcache.h"
1018struct qstr {
1019 unsigned int hash ;
1020 unsigned int len ;
1021 unsigned char const *name ;
1022};
1023#line 88
1024struct inode;
1025#line 88
1026struct dentry_operations;
1027#line 88
1028struct super_block;
1029#line 88 "include/linux/dcache.h"
1030union __anonunion_d_u_201 {
1031 struct list_head d_child ;
1032 struct rcu_head d_rcu ;
1033};
1034#line 88 "include/linux/dcache.h"
1035struct dentry {
1036 unsigned int d_flags ;
1037 seqcount_t d_seq ;
1038 struct hlist_bl_node d_hash ;
1039 struct dentry *d_parent ;
1040 struct qstr d_name ;
1041 struct inode *d_inode ;
1042 unsigned char d_iname[32] ;
1043 unsigned int d_count ;
1044 spinlock_t d_lock ;
1045 struct dentry_operations const *d_op ;
1046 struct super_block *d_sb ;
1047 unsigned long d_time ;
1048 void *d_fsdata ;
1049 struct list_head d_lru ;
1050 union __anonunion_d_u_201 d_u ;
1051 struct list_head d_subdirs ;
1052 struct list_head d_alias ;
1053};
1054#line 131 "include/linux/dcache.h"
1055struct dentry_operations {
1056 int (*d_revalidate)(struct dentry * , struct nameidata * ) ;
1057 int (*d_hash)(struct dentry const * , struct inode const * , struct qstr * ) ;
1058 int (*d_compare)(struct dentry const * , struct inode const * , struct dentry const * ,
1059 struct inode const * , unsigned int , char const * , struct qstr const * ) ;
1060 int (*d_delete)(struct dentry const * ) ;
1061 void (*d_release)(struct dentry * ) ;
1062 void (*d_prune)(struct dentry * ) ;
1063 void (*d_iput)(struct dentry * , struct inode * ) ;
1064 char *(*d_dname)(struct dentry * , char * , int ) ;
1065 struct vfsmount *(*d_automount)(struct path * ) ;
1066 int (*d_manage)(struct dentry * , bool ) ;
1067} __attribute__((__aligned__((1) << (6) ))) ;
1068#line 4 "include/linux/path.h"
1069struct dentry;
1070#line 5
1071struct vfsmount;
1072#line 7 "include/linux/path.h"
1073struct path {
1074 struct vfsmount *mnt ;
1075 struct dentry *dentry ;
1076};
1077#line 64 "include/linux/radix-tree.h"
1078struct radix_tree_node;
1079#line 64 "include/linux/radix-tree.h"
1080struct radix_tree_root {
1081 unsigned int height ;
1082 gfp_t gfp_mask ;
1083 struct radix_tree_node *rnode ;
1084};
1085#line 14 "include/linux/prio_tree.h"
1086struct prio_tree_node;
1087#line 14 "include/linux/prio_tree.h"
1088struct raw_prio_tree_node {
1089 struct prio_tree_node *left ;
1090 struct prio_tree_node *right ;
1091 struct prio_tree_node *parent ;
1092};
1093#line 20 "include/linux/prio_tree.h"
1094struct prio_tree_node {
1095 struct prio_tree_node *left ;
1096 struct prio_tree_node *right ;
1097 struct prio_tree_node *parent ;
1098 unsigned long start ;
1099 unsigned long last ;
1100};
1101#line 28 "include/linux/prio_tree.h"
1102struct prio_tree_root {
1103 struct prio_tree_node *prio_tree_node ;
1104 unsigned short index_bits ;
1105 unsigned short raw ;
1106};
1107#line 6 "include/linux/pid.h"
1108enum pid_type {
1109 PIDTYPE_PID = 0,
1110 PIDTYPE_PGID = 1,
1111 PIDTYPE_SID = 2,
1112 PIDTYPE_MAX = 3
1113} ;
1114#line 50
1115struct pid_namespace;
1116#line 50 "include/linux/pid.h"
1117struct upid {
1118 int nr ;
1119 struct pid_namespace *ns ;
1120 struct hlist_node pid_chain ;
1121};
1122#line 57 "include/linux/pid.h"
1123struct pid {
1124 atomic_t count ;
1125 unsigned int level ;
1126 struct hlist_head tasks[3] ;
1127 struct rcu_head rcu ;
1128 struct upid numbers[1] ;
1129};
1130#line 69 "include/linux/pid.h"
1131struct pid_link {
1132 struct hlist_node node ;
1133 struct pid *pid ;
1134};
1135#line 100
1136struct pid_namespace;
1137#line 18 "include/linux/capability.h"
1138struct task_struct;
1139#line 94 "include/linux/capability.h"
1140struct kernel_cap_struct {
1141 __u32 cap[2] ;
1142};
1143#line 94 "include/linux/capability.h"
1144typedef struct kernel_cap_struct kernel_cap_t;
1145#line 377
1146struct dentry;
1147#line 378
1148struct user_namespace;
1149#line 378
1150struct user_namespace;
1151#line 16 "include/linux/fiemap.h"
1152struct fiemap_extent {
1153 __u64 fe_logical ;
1154 __u64 fe_physical ;
1155 __u64 fe_length ;
1156 __u64 fe_reserved64[2] ;
1157 __u32 fe_flags ;
1158 __u32 fe_reserved[3] ;
1159};
1160#line 8 "include/linux/shrinker.h"
1161struct shrink_control {
1162 gfp_t gfp_mask ;
1163 unsigned long nr_to_scan ;
1164};
1165#line 31 "include/linux/shrinker.h"
1166struct shrinker {
1167 int (*shrink)(struct shrinker * , struct shrink_control *sc ) ;
1168 int seeks ;
1169 long batch ;
1170 struct list_head list ;
1171 atomic_long_t nr_in_batch ;
1172};
1173#line 10 "include/linux/migrate_mode.h"
1174enum migrate_mode {
1175 MIGRATE_ASYNC = 0,
1176 MIGRATE_SYNC_LIGHT = 1,
1177 MIGRATE_SYNC = 2
1178} ;
1179#line 408 "include/linux/fs.h"
1180struct export_operations;
1181#line 408
1182struct export_operations;
1183#line 410
1184struct iovec;
1185#line 410
1186struct iovec;
1187#line 411
1188struct nameidata;
1189#line 412
1190struct kiocb;
1191#line 412
1192struct kiocb;
1193#line 413
1194struct kobject;
1195#line 414
1196struct pipe_inode_info;
1197#line 414
1198struct pipe_inode_info;
1199#line 415
1200struct poll_table_struct;
1201#line 415
1202struct poll_table_struct;
1203#line 416
1204struct kstatfs;
1205#line 416
1206struct kstatfs;
1207#line 417
1208struct vm_area_struct;
1209#line 418
1210struct vfsmount;
1211#line 419
1212struct cred;
1213#line 469 "include/linux/fs.h"
1214struct iattr {
1215 unsigned int ia_valid ;
1216 umode_t ia_mode ;
1217 uid_t ia_uid ;
1218 gid_t ia_gid ;
1219 loff_t ia_size ;
1220 struct timespec ia_atime ;
1221 struct timespec ia_mtime ;
1222 struct timespec ia_ctime ;
1223 struct file *ia_file ;
1224};
1225#line 129 "include/linux/quota.h"
1226struct if_dqinfo {
1227 __u64 dqi_bgrace ;
1228 __u64 dqi_igrace ;
1229 __u32 dqi_flags ;
1230 __u32 dqi_valid ;
1231};
1232#line 50 "include/linux/dqblk_xfs.h"
1233struct fs_disk_quota {
1234 __s8 d_version ;
1235 __s8 d_flags ;
1236 __u16 d_fieldmask ;
1237 __u32 d_id ;
1238 __u64 d_blk_hardlimit ;
1239 __u64 d_blk_softlimit ;
1240 __u64 d_ino_hardlimit ;
1241 __u64 d_ino_softlimit ;
1242 __u64 d_bcount ;
1243 __u64 d_icount ;
1244 __s32 d_itimer ;
1245 __s32 d_btimer ;
1246 __u16 d_iwarns ;
1247 __u16 d_bwarns ;
1248 __s32 d_padding2 ;
1249 __u64 d_rtb_hardlimit ;
1250 __u64 d_rtb_softlimit ;
1251 __u64 d_rtbcount ;
1252 __s32 d_rtbtimer ;
1253 __u16 d_rtbwarns ;
1254 __s16 d_padding3 ;
1255 char d_padding4[8] ;
1256};
1257#line 146 "include/linux/dqblk_xfs.h"
1258struct fs_qfilestat {
1259 __u64 qfs_ino ;
1260 __u64 qfs_nblks ;
1261 __u32 qfs_nextents ;
1262};
1263#line 146 "include/linux/dqblk_xfs.h"
1264typedef struct fs_qfilestat fs_qfilestat_t;
1265#line 152 "include/linux/dqblk_xfs.h"
1266struct fs_quota_stat {
1267 __s8 qs_version ;
1268 __u16 qs_flags ;
1269 __s8 qs_pad ;
1270 fs_qfilestat_t qs_uquota ;
1271 fs_qfilestat_t qs_gquota ;
1272 __u32 qs_incoredqs ;
1273 __s32 qs_btimelimit ;
1274 __s32 qs_itimelimit ;
1275 __s32 qs_rtbtimelimit ;
1276 __u16 qs_bwarnlimit ;
1277 __u16 qs_iwarnlimit ;
1278};
1279#line 17 "include/linux/dqblk_qtree.h"
1280struct dquot;
1281#line 17
1282struct dquot;
1283#line 185 "include/linux/quota.h"
1284typedef __kernel_uid32_t qid_t;
1285#line 186 "include/linux/quota.h"
1286typedef long long qsize_t;
1287#line 200 "include/linux/quota.h"
1288struct mem_dqblk {
1289 qsize_t dqb_bhardlimit ;
1290 qsize_t dqb_bsoftlimit ;
1291 qsize_t dqb_curspace ;
1292 qsize_t dqb_rsvspace ;
1293 qsize_t dqb_ihardlimit ;
1294 qsize_t dqb_isoftlimit ;
1295 qsize_t dqb_curinodes ;
1296 time_t dqb_btime ;
1297 time_t dqb_itime ;
1298};
1299#line 215
1300struct quota_format_type;
1301#line 215
1302struct quota_format_type;
1303#line 217 "include/linux/quota.h"
1304struct mem_dqinfo {
1305 struct quota_format_type *dqi_format ;
1306 int dqi_fmt_id ;
1307 struct list_head dqi_dirty_list ;
1308 unsigned long dqi_flags ;
1309 unsigned int dqi_bgrace ;
1310 unsigned int dqi_igrace ;
1311 qsize_t dqi_maxblimit ;
1312 qsize_t dqi_maxilimit ;
1313 void *dqi_priv ;
1314};
1315#line 230
1316struct super_block;
1317#line 288 "include/linux/quota.h"
1318struct dquot {
1319 struct hlist_node dq_hash ;
1320 struct list_head dq_inuse ;
1321 struct list_head dq_free ;
1322 struct list_head dq_dirty ;
1323 struct mutex dq_lock ;
1324 atomic_t dq_count ;
1325 wait_queue_head_t dq_wait_unused ;
1326 struct super_block *dq_sb ;
1327 unsigned int dq_id ;
1328 loff_t dq_off ;
1329 unsigned long dq_flags ;
1330 short dq_type ;
1331 struct mem_dqblk dq_dqb ;
1332};
1333#line 305 "include/linux/quota.h"
1334struct quota_format_ops {
1335 int (*check_quota_file)(struct super_block *sb , int type ) ;
1336 int (*read_file_info)(struct super_block *sb , int type ) ;
1337 int (*write_file_info)(struct super_block *sb , int type ) ;
1338 int (*free_file_info)(struct super_block *sb , int type ) ;
1339 int (*read_dqblk)(struct dquot *dquot ) ;
1340 int (*commit_dqblk)(struct dquot *dquot ) ;
1341 int (*release_dqblk)(struct dquot *dquot ) ;
1342};
1343#line 316 "include/linux/quota.h"
1344struct dquot_operations {
1345 int (*write_dquot)(struct dquot * ) ;
1346 struct dquot *(*alloc_dquot)(struct super_block * , int ) ;
1347 void (*destroy_dquot)(struct dquot * ) ;
1348 int (*acquire_dquot)(struct dquot * ) ;
1349 int (*release_dquot)(struct dquot * ) ;
1350 int (*mark_dirty)(struct dquot * ) ;
1351 int (*write_info)(struct super_block * , int ) ;
1352 qsize_t *(*get_reserved_space)(struct inode * ) ;
1353};
1354#line 329
1355struct path;
1356#line 332 "include/linux/quota.h"
1357struct quotactl_ops {
1358 int (*quota_on)(struct super_block * , int , int , struct path * ) ;
1359 int (*quota_on_meta)(struct super_block * , int , int ) ;
1360 int (*quota_off)(struct super_block * , int ) ;
1361 int (*quota_sync)(struct super_block * , int , int ) ;
1362 int (*get_info)(struct super_block * , int , struct if_dqinfo * ) ;
1363 int (*set_info)(struct super_block * , int , struct if_dqinfo * ) ;
1364 int (*get_dqblk)(struct super_block * , int , qid_t , struct fs_disk_quota * ) ;
1365 int (*set_dqblk)(struct super_block * , int , qid_t , struct fs_disk_quota * ) ;
1366 int (*get_xstate)(struct super_block * , struct fs_quota_stat * ) ;
1367 int (*set_xstate)(struct super_block * , unsigned int , int ) ;
1368};
1369#line 345 "include/linux/quota.h"
1370struct quota_format_type {
1371 int qf_fmt_id ;
1372 struct quota_format_ops const *qf_ops ;
1373 struct module *qf_owner ;
1374 struct quota_format_type *qf_next ;
1375};
1376#line 399 "include/linux/quota.h"
1377struct quota_info {
1378 unsigned int flags ;
1379 struct mutex dqio_mutex ;
1380 struct mutex dqonoff_mutex ;
1381 struct rw_semaphore dqptr_sem ;
1382 struct inode *files[2] ;
1383 struct mem_dqinfo info[2] ;
1384 struct quota_format_ops const *ops[2] ;
1385};
1386#line 532 "include/linux/fs.h"
1387struct page;
1388#line 533
1389struct address_space;
1390#line 533
1391struct address_space;
1392#line 534
1393struct writeback_control;
1394#line 534
1395struct writeback_control;
1396#line 577 "include/linux/fs.h"
1397union __anonunion_arg_209 {
1398 char *buf ;
1399 void *data ;
1400};
1401#line 577 "include/linux/fs.h"
1402struct __anonstruct_read_descriptor_t_208 {
1403 size_t written ;
1404 size_t count ;
1405 union __anonunion_arg_209 arg ;
1406 int error ;
1407};
1408#line 577 "include/linux/fs.h"
1409typedef struct __anonstruct_read_descriptor_t_208 read_descriptor_t;
1410#line 590 "include/linux/fs.h"
1411struct address_space_operations {
1412 int (*writepage)(struct page *page , struct writeback_control *wbc ) ;
1413 int (*readpage)(struct file * , struct page * ) ;
1414 int (*writepages)(struct address_space * , struct writeback_control * ) ;
1415 int (*set_page_dirty)(struct page *page ) ;
1416 int (*readpages)(struct file *filp , struct address_space *mapping , struct list_head *pages ,
1417 unsigned int nr_pages ) ;
1418 int (*write_begin)(struct file * , struct address_space *mapping , loff_t pos ,
1419 unsigned int len , unsigned int flags , struct page **pagep ,
1420 void **fsdata ) ;
1421 int (*write_end)(struct file * , struct address_space *mapping , loff_t pos , unsigned int len ,
1422 unsigned int copied , struct page *page , void *fsdata ) ;
1423 sector_t (*bmap)(struct address_space * , sector_t ) ;
1424 void (*invalidatepage)(struct page * , unsigned long ) ;
1425 int (*releasepage)(struct page * , gfp_t ) ;
1426 void (*freepage)(struct page * ) ;
1427 ssize_t (*direct_IO)(int , struct kiocb * , struct iovec const *iov , loff_t offset ,
1428 unsigned long nr_segs ) ;
1429 int (*get_xip_mem)(struct address_space * , unsigned long , int , void ** , unsigned long * ) ;
1430 int (*migratepage)(struct address_space * , struct page * , struct page * , enum migrate_mode ) ;
1431 int (*launder_page)(struct page * ) ;
1432 int (*is_partially_uptodate)(struct page * , read_descriptor_t * , unsigned long ) ;
1433 int (*error_remove_page)(struct address_space * , struct page * ) ;
1434};
1435#line 645
1436struct backing_dev_info;
1437#line 645
1438struct backing_dev_info;
1439#line 646 "include/linux/fs.h"
1440struct address_space {
1441 struct inode *host ;
1442 struct radix_tree_root page_tree ;
1443 spinlock_t tree_lock ;
1444 unsigned int i_mmap_writable ;
1445 struct prio_tree_root i_mmap ;
1446 struct list_head i_mmap_nonlinear ;
1447 struct mutex i_mmap_mutex ;
1448 unsigned long nrpages ;
1449 unsigned long writeback_index ;
1450 struct address_space_operations const *a_ops ;
1451 unsigned long flags ;
1452 struct backing_dev_info *backing_dev_info ;
1453 spinlock_t private_lock ;
1454 struct list_head private_list ;
1455 struct address_space *assoc_mapping ;
1456} __attribute__((__aligned__(sizeof(long )))) ;
1457#line 669
1458struct request_queue;
1459#line 669
1460struct request_queue;
1461#line 671
1462struct hd_struct;
1463#line 671
1464struct gendisk;
1465#line 671 "include/linux/fs.h"
1466struct block_device {
1467 dev_t bd_dev ;
1468 int bd_openers ;
1469 struct inode *bd_inode ;
1470 struct super_block *bd_super ;
1471 struct mutex bd_mutex ;
1472 struct list_head bd_inodes ;
1473 void *bd_claiming ;
1474 void *bd_holder ;
1475 int bd_holders ;
1476 bool bd_write_holder ;
1477 struct list_head bd_holder_disks ;
1478 struct block_device *bd_contains ;
1479 unsigned int bd_block_size ;
1480 struct hd_struct *bd_part ;
1481 unsigned int bd_part_count ;
1482 int bd_invalidated ;
1483 struct gendisk *bd_disk ;
1484 struct request_queue *bd_queue ;
1485 struct list_head bd_list ;
1486 unsigned long bd_private ;
1487 int bd_fsfreeze_count ;
1488 struct mutex bd_fsfreeze_mutex ;
1489};
1490#line 749
1491struct posix_acl;
1492#line 749
1493struct posix_acl;
1494#line 761
1495struct inode_operations;
1496#line 761 "include/linux/fs.h"
1497union __anonunion____missing_field_name_210 {
1498 unsigned int const i_nlink ;
1499 unsigned int __i_nlink ;
1500};
1501#line 761 "include/linux/fs.h"
1502union __anonunion____missing_field_name_211 {
1503 struct list_head i_dentry ;
1504 struct rcu_head i_rcu ;
1505};
1506#line 761
1507struct file_operations;
1508#line 761
1509struct file_lock;
1510#line 761
1511struct cdev;
1512#line 761 "include/linux/fs.h"
1513union __anonunion____missing_field_name_212 {
1514 struct pipe_inode_info *i_pipe ;
1515 struct block_device *i_bdev ;
1516 struct cdev *i_cdev ;
1517};
1518#line 761 "include/linux/fs.h"
1519struct inode {
1520 umode_t i_mode ;
1521 unsigned short i_opflags ;
1522 uid_t i_uid ;
1523 gid_t i_gid ;
1524 unsigned int i_flags ;
1525 struct posix_acl *i_acl ;
1526 struct posix_acl *i_default_acl ;
1527 struct inode_operations const *i_op ;
1528 struct super_block *i_sb ;
1529 struct address_space *i_mapping ;
1530 void *i_security ;
1531 unsigned long i_ino ;
1532 union __anonunion____missing_field_name_210 __annonCompField33 ;
1533 dev_t i_rdev ;
1534 struct timespec i_atime ;
1535 struct timespec i_mtime ;
1536 struct timespec i_ctime ;
1537 spinlock_t i_lock ;
1538 unsigned short i_bytes ;
1539 blkcnt_t i_blocks ;
1540 loff_t i_size ;
1541 unsigned long i_state ;
1542 struct mutex i_mutex ;
1543 unsigned long dirtied_when ;
1544 struct hlist_node i_hash ;
1545 struct list_head i_wb_list ;
1546 struct list_head i_lru ;
1547 struct list_head i_sb_list ;
1548 union __anonunion____missing_field_name_211 __annonCompField34 ;
1549 atomic_t i_count ;
1550 unsigned int i_blkbits ;
1551 u64 i_version ;
1552 atomic_t i_dio_count ;
1553 atomic_t i_writecount ;
1554 struct file_operations const *i_fop ;
1555 struct file_lock *i_flock ;
1556 struct address_space i_data ;
1557 struct dquot *i_dquot[2] ;
1558 struct list_head i_devices ;
1559 union __anonunion____missing_field_name_212 __annonCompField35 ;
1560 __u32 i_generation ;
1561 __u32 i_fsnotify_mask ;
1562 struct hlist_head i_fsnotify_marks ;
1563 atomic_t i_readcount ;
1564 void *i_private ;
1565};
1566#line 942 "include/linux/fs.h"
1567struct fown_struct {
1568 rwlock_t lock ;
1569 struct pid *pid ;
1570 enum pid_type pid_type ;
1571 uid_t uid ;
1572 uid_t euid ;
1573 int signum ;
1574};
1575#line 953 "include/linux/fs.h"
1576struct file_ra_state {
1577 unsigned long start ;
1578 unsigned int size ;
1579 unsigned int async_size ;
1580 unsigned int ra_pages ;
1581 unsigned int mmap_miss ;
1582 loff_t prev_pos ;
1583};
1584#line 976 "include/linux/fs.h"
1585union __anonunion_f_u_213 {
1586 struct list_head fu_list ;
1587 struct rcu_head fu_rcuhead ;
1588};
1589#line 976 "include/linux/fs.h"
1590struct file {
1591 union __anonunion_f_u_213 f_u ;
1592 struct path f_path ;
1593 struct file_operations const *f_op ;
1594 spinlock_t f_lock ;
1595 int f_sb_list_cpu ;
1596 atomic_long_t f_count ;
1597 unsigned int f_flags ;
1598 fmode_t f_mode ;
1599 loff_t f_pos ;
1600 struct fown_struct f_owner ;
1601 struct cred const *f_cred ;
1602 struct file_ra_state f_ra ;
1603 u64 f_version ;
1604 void *f_security ;
1605 void *private_data ;
1606 struct list_head f_ep_links ;
1607 struct list_head f_tfile_llink ;
1608 struct address_space *f_mapping ;
1609 unsigned long f_mnt_write_state ;
1610};
1611#line 1111
1612struct files_struct;
1613#line 1111 "include/linux/fs.h"
1614typedef struct files_struct *fl_owner_t;
1615#line 1113 "include/linux/fs.h"
1616struct file_lock_operations {
1617 void (*fl_copy_lock)(struct file_lock * , struct file_lock * ) ;
1618 void (*fl_release_private)(struct file_lock * ) ;
1619};
1620#line 1118 "include/linux/fs.h"
1621struct lock_manager_operations {
1622 int (*lm_compare_owner)(struct file_lock * , struct file_lock * ) ;
1623 void (*lm_notify)(struct file_lock * ) ;
1624 int (*lm_grant)(struct file_lock * , struct file_lock * , int ) ;
1625 void (*lm_release_private)(struct file_lock * ) ;
1626 void (*lm_break)(struct file_lock * ) ;
1627 int (*lm_change)(struct file_lock ** , int ) ;
1628};
1629#line 4 "include/linux/nfs_fs_i.h"
1630struct nlm_lockowner;
1631#line 4
1632struct nlm_lockowner;
1633#line 9 "include/linux/nfs_fs_i.h"
1634struct nfs_lock_info {
1635 u32 state ;
1636 struct nlm_lockowner *owner ;
1637 struct list_head list ;
1638};
1639#line 15
1640struct nfs4_lock_state;
1641#line 15
1642struct nfs4_lock_state;
1643#line 16 "include/linux/nfs_fs_i.h"
1644struct nfs4_lock_info {
1645 struct nfs4_lock_state *owner ;
1646};
1647#line 1138 "include/linux/fs.h"
1648struct fasync_struct;
1649#line 1138 "include/linux/fs.h"
1650struct __anonstruct_afs_215 {
1651 struct list_head link ;
1652 int state ;
1653};
1654#line 1138 "include/linux/fs.h"
1655union __anonunion_fl_u_214 {
1656 struct nfs_lock_info nfs_fl ;
1657 struct nfs4_lock_info nfs4_fl ;
1658 struct __anonstruct_afs_215 afs ;
1659};
1660#line 1138 "include/linux/fs.h"
1661struct file_lock {
1662 struct file_lock *fl_next ;
1663 struct list_head fl_link ;
1664 struct list_head fl_block ;
1665 fl_owner_t fl_owner ;
1666 unsigned int fl_flags ;
1667 unsigned char fl_type ;
1668 unsigned int fl_pid ;
1669 struct pid *fl_nspid ;
1670 wait_queue_head_t fl_wait ;
1671 struct file *fl_file ;
1672 loff_t fl_start ;
1673 loff_t fl_end ;
1674 struct fasync_struct *fl_fasync ;
1675 unsigned long fl_break_time ;
1676 unsigned long fl_downgrade_time ;
1677 struct file_lock_operations const *fl_ops ;
1678 struct lock_manager_operations const *fl_lmops ;
1679 union __anonunion_fl_u_214 fl_u ;
1680};
1681#line 1378 "include/linux/fs.h"
1682struct fasync_struct {
1683 spinlock_t fa_lock ;
1684 int magic ;
1685 int fa_fd ;
1686 struct fasync_struct *fa_next ;
1687 struct file *fa_file ;
1688 struct rcu_head fa_rcu ;
1689};
1690#line 1418
1691struct file_system_type;
1692#line 1418
1693struct super_operations;
1694#line 1418
1695struct xattr_handler;
1696#line 1418
1697struct mtd_info;
1698#line 1418 "include/linux/fs.h"
1699struct super_block {
1700 struct list_head s_list ;
1701 dev_t s_dev ;
1702 unsigned char s_dirt ;
1703 unsigned char s_blocksize_bits ;
1704 unsigned long s_blocksize ;
1705 loff_t s_maxbytes ;
1706 struct file_system_type *s_type ;
1707 struct super_operations const *s_op ;
1708 struct dquot_operations const *dq_op ;
1709 struct quotactl_ops const *s_qcop ;
1710 struct export_operations const *s_export_op ;
1711 unsigned long s_flags ;
1712 unsigned long s_magic ;
1713 struct dentry *s_root ;
1714 struct rw_semaphore s_umount ;
1715 struct mutex s_lock ;
1716 int s_count ;
1717 atomic_t s_active ;
1718 void *s_security ;
1719 struct xattr_handler const **s_xattr ;
1720 struct list_head s_inodes ;
1721 struct hlist_bl_head s_anon ;
1722 struct list_head *s_files ;
1723 struct list_head s_mounts ;
1724 struct list_head s_dentry_lru ;
1725 int s_nr_dentry_unused ;
1726 spinlock_t s_inode_lru_lock __attribute__((__aligned__((1) << (6) ))) ;
1727 struct list_head s_inode_lru ;
1728 int s_nr_inodes_unused ;
1729 struct block_device *s_bdev ;
1730 struct backing_dev_info *s_bdi ;
1731 struct mtd_info *s_mtd ;
1732 struct hlist_node s_instances ;
1733 struct quota_info s_dquot ;
1734 int s_frozen ;
1735 wait_queue_head_t s_wait_unfrozen ;
1736 char s_id[32] ;
1737 u8 s_uuid[16] ;
1738 void *s_fs_info ;
1739 unsigned int s_max_links ;
1740 fmode_t s_mode ;
1741 u32 s_time_gran ;
1742 struct mutex s_vfs_rename_mutex ;
1743 char *s_subtype ;
1744 char *s_options ;
1745 struct dentry_operations const *s_d_op ;
1746 int cleancache_poolid ;
1747 struct shrinker s_shrink ;
1748 atomic_long_t s_remove_count ;
1749 int s_readonly_remount ;
1750};
1751#line 1567 "include/linux/fs.h"
1752struct fiemap_extent_info {
1753 unsigned int fi_flags ;
1754 unsigned int fi_extents_mapped ;
1755 unsigned int fi_extents_max ;
1756 struct fiemap_extent *fi_extents_start ;
1757};
1758#line 1609 "include/linux/fs.h"
1759struct file_operations {
1760 struct module *owner ;
1761 loff_t (*llseek)(struct file * , loff_t , int ) ;
1762 ssize_t (*read)(struct file * , char * , size_t , loff_t * ) ;
1763 ssize_t (*write)(struct file * , char const * , size_t , loff_t * ) ;
1764 ssize_t (*aio_read)(struct kiocb * , struct iovec const * , unsigned long ,
1765 loff_t ) ;
1766 ssize_t (*aio_write)(struct kiocb * , struct iovec const * , unsigned long ,
1767 loff_t ) ;
1768 int (*readdir)(struct file * , void * , int (*)(void * , char const * , int ,
1769 loff_t , u64 , unsigned int ) ) ;
1770 unsigned int (*poll)(struct file * , struct poll_table_struct * ) ;
1771 long (*unlocked_ioctl)(struct file * , unsigned int , unsigned long ) ;
1772 long (*compat_ioctl)(struct file * , unsigned int , unsigned long ) ;
1773 int (*mmap)(struct file * , struct vm_area_struct * ) ;
1774 int (*open)(struct inode * , struct file * ) ;
1775 int (*flush)(struct file * , fl_owner_t id ) ;
1776 int (*release)(struct inode * , struct file * ) ;
1777 int (*fsync)(struct file * , loff_t , loff_t , int datasync ) ;
1778 int (*aio_fsync)(struct kiocb * , int datasync ) ;
1779 int (*fasync)(int , struct file * , int ) ;
1780 int (*lock)(struct file * , int , struct file_lock * ) ;
1781 ssize_t (*sendpage)(struct file * , struct page * , int , size_t , loff_t * ,
1782 int ) ;
1783 unsigned long (*get_unmapped_area)(struct file * , unsigned long , unsigned long ,
1784 unsigned long , unsigned long ) ;
1785 int (*check_flags)(int ) ;
1786 int (*flock)(struct file * , int , struct file_lock * ) ;
1787 ssize_t (*splice_write)(struct pipe_inode_info * , struct file * , loff_t * , size_t ,
1788 unsigned int ) ;
1789 ssize_t (*splice_read)(struct file * , loff_t * , struct pipe_inode_info * , size_t ,
1790 unsigned int ) ;
1791 int (*setlease)(struct file * , long , struct file_lock ** ) ;
1792 long (*fallocate)(struct file *file , int mode , loff_t offset , loff_t len ) ;
1793};
1794#line 1639 "include/linux/fs.h"
1795struct inode_operations {
1796 struct dentry *(*lookup)(struct inode * , struct dentry * , struct nameidata * ) ;
1797 void *(*follow_link)(struct dentry * , struct nameidata * ) ;
1798 int (*permission)(struct inode * , int ) ;
1799 struct posix_acl *(*get_acl)(struct inode * , int ) ;
1800 int (*readlink)(struct dentry * , char * , int ) ;
1801 void (*put_link)(struct dentry * , struct nameidata * , void * ) ;
1802 int (*create)(struct inode * , struct dentry * , umode_t , struct nameidata * ) ;
1803 int (*link)(struct dentry * , struct inode * , struct dentry * ) ;
1804 int (*unlink)(struct inode * , struct dentry * ) ;
1805 int (*symlink)(struct inode * , struct dentry * , char const * ) ;
1806 int (*mkdir)(struct inode * , struct dentry * , umode_t ) ;
1807 int (*rmdir)(struct inode * , struct dentry * ) ;
1808 int (*mknod)(struct inode * , struct dentry * , umode_t , dev_t ) ;
1809 int (*rename)(struct inode * , struct dentry * , struct inode * , struct dentry * ) ;
1810 void (*truncate)(struct inode * ) ;
1811 int (*setattr)(struct dentry * , struct iattr * ) ;
1812 int (*getattr)(struct vfsmount *mnt , struct dentry * , struct kstat * ) ;
1813 int (*setxattr)(struct dentry * , char const * , void const * , size_t , int ) ;
1814 ssize_t (*getxattr)(struct dentry * , char const * , void * , size_t ) ;
1815 ssize_t (*listxattr)(struct dentry * , char * , size_t ) ;
1816 int (*removexattr)(struct dentry * , char const * ) ;
1817 void (*truncate_range)(struct inode * , loff_t , loff_t ) ;
1818 int (*fiemap)(struct inode * , struct fiemap_extent_info * , u64 start , u64 len ) ;
1819} __attribute__((__aligned__((1) << (6) ))) ;
1820#line 1669
1821struct seq_file;
1822#line 1684 "include/linux/fs.h"
1823struct super_operations {
1824 struct inode *(*alloc_inode)(struct super_block *sb ) ;
1825 void (*destroy_inode)(struct inode * ) ;
1826 void (*dirty_inode)(struct inode * , int flags ) ;
1827 int (*write_inode)(struct inode * , struct writeback_control *wbc ) ;
1828 int (*drop_inode)(struct inode * ) ;
1829 void (*evict_inode)(struct inode * ) ;
1830 void (*put_super)(struct super_block * ) ;
1831 void (*write_super)(struct super_block * ) ;
1832 int (*sync_fs)(struct super_block *sb , int wait ) ;
1833 int (*freeze_fs)(struct super_block * ) ;
1834 int (*unfreeze_fs)(struct super_block * ) ;
1835 int (*statfs)(struct dentry * , struct kstatfs * ) ;
1836 int (*remount_fs)(struct super_block * , int * , char * ) ;
1837 void (*umount_begin)(struct super_block * ) ;
1838 int (*show_options)(struct seq_file * , struct dentry * ) ;
1839 int (*show_devname)(struct seq_file * , struct dentry * ) ;
1840 int (*show_path)(struct seq_file * , struct dentry * ) ;
1841 int (*show_stats)(struct seq_file * , struct dentry * ) ;
1842 ssize_t (*quota_read)(struct super_block * , int , char * , size_t , loff_t ) ;
1843 ssize_t (*quota_write)(struct super_block * , int , char const * , size_t ,
1844 loff_t ) ;
1845 int (*bdev_try_to_free_page)(struct super_block * , struct page * , gfp_t ) ;
1846 int (*nr_cached_objects)(struct super_block * ) ;
1847 void (*free_cached_objects)(struct super_block * , int ) ;
1848};
1849#line 1835 "include/linux/fs.h"
1850struct file_system_type {
1851 char const *name ;
1852 int fs_flags ;
1853 struct dentry *(*mount)(struct file_system_type * , int , char const * , void * ) ;
1854 void (*kill_sb)(struct super_block * ) ;
1855 struct module *owner ;
1856 struct file_system_type *next ;
1857 struct hlist_head fs_supers ;
1858 struct lock_class_key s_lock_key ;
1859 struct lock_class_key s_umount_key ;
1860 struct lock_class_key s_vfs_rename_key ;
1861 struct lock_class_key i_lock_key ;
1862 struct lock_class_key i_mutex_key ;
1863 struct lock_class_key i_mutex_dir_key ;
1864};
1865#line 11 "include/linux/seq_file.h"
1866struct seq_operations;
1867#line 12
1868struct file;
1869#line 13
1870struct path;
1871#line 14
1872struct inode;
1873#line 15
1874struct dentry;
1875#line 17 "include/linux/seq_file.h"
1876struct seq_file {
1877 char *buf ;
1878 size_t size ;
1879 size_t from ;
1880 size_t count ;
1881 loff_t index ;
1882 loff_t read_pos ;
1883 u64 version ;
1884 struct mutex lock ;
1885 struct seq_operations const *op ;
1886 int poll_event ;
1887 void *private ;
1888};
1889#line 31 "include/linux/seq_file.h"
1890struct seq_operations {
1891 void *(*start)(struct seq_file *m , loff_t *pos ) ;
1892 void (*stop)(struct seq_file *m , void *v ) ;
1893 void *(*next)(struct seq_file *m , void *v , loff_t *pos ) ;
1894 int (*show)(struct seq_file *m , void *v ) ;
1895};
1896#line 23 "include/linux/debugfs.h"
1897struct file_operations;
1898#line 25 "include/linux/debugfs.h"
1899struct debugfs_blob_wrapper {
1900 void *data ;
1901 unsigned long size ;
1902};
1903#line 23 "include/linux/mm_types.h"
1904struct address_space;
1905#line 40 "include/linux/mm_types.h"
1906union __anonunion____missing_field_name_219 {
1907 unsigned long index ;
1908 void *freelist ;
1909};
1910#line 40 "include/linux/mm_types.h"
1911struct __anonstruct____missing_field_name_223 {
1912 unsigned int inuse : 16 ;
1913 unsigned int objects : 15 ;
1914 unsigned int frozen : 1 ;
1915};
1916#line 40 "include/linux/mm_types.h"
1917union __anonunion____missing_field_name_222 {
1918 atomic_t _mapcount ;
1919 struct __anonstruct____missing_field_name_223 __annonCompField37 ;
1920};
1921#line 40 "include/linux/mm_types.h"
1922struct __anonstruct____missing_field_name_221 {
1923 union __anonunion____missing_field_name_222 __annonCompField38 ;
1924 atomic_t _count ;
1925};
1926#line 40 "include/linux/mm_types.h"
1927union __anonunion____missing_field_name_220 {
1928 unsigned long counters ;
1929 struct __anonstruct____missing_field_name_221 __annonCompField39 ;
1930};
1931#line 40 "include/linux/mm_types.h"
1932struct __anonstruct____missing_field_name_218 {
1933 union __anonunion____missing_field_name_219 __annonCompField36 ;
1934 union __anonunion____missing_field_name_220 __annonCompField40 ;
1935};
1936#line 40 "include/linux/mm_types.h"
1937struct __anonstruct____missing_field_name_225 {
1938 struct page *next ;
1939 int pages ;
1940 int pobjects ;
1941};
1942#line 40 "include/linux/mm_types.h"
1943union __anonunion____missing_field_name_224 {
1944 struct list_head lru ;
1945 struct __anonstruct____missing_field_name_225 __annonCompField42 ;
1946};
1947#line 40 "include/linux/mm_types.h"
1948union __anonunion____missing_field_name_226 {
1949 unsigned long private ;
1950 struct kmem_cache *slab ;
1951 struct page *first_page ;
1952};
1953#line 40 "include/linux/mm_types.h"
1954struct page {
1955 unsigned long flags ;
1956 struct address_space *mapping ;
1957 struct __anonstruct____missing_field_name_218 __annonCompField41 ;
1958 union __anonunion____missing_field_name_224 __annonCompField43 ;
1959 union __anonunion____missing_field_name_226 __annonCompField44 ;
1960 unsigned long debug_flags ;
1961} __attribute__((__aligned__((2) * (sizeof(unsigned long )) ))) ;
1962#line 200 "include/linux/mm_types.h"
1963struct __anonstruct_vm_set_228 {
1964 struct list_head list ;
1965 void *parent ;
1966 struct vm_area_struct *head ;
1967};
1968#line 200 "include/linux/mm_types.h"
1969union __anonunion_shared_227 {
1970 struct __anonstruct_vm_set_228 vm_set ;
1971 struct raw_prio_tree_node prio_tree_node ;
1972};
1973#line 200
1974struct anon_vma;
1975#line 200
1976struct vm_operations_struct;
1977#line 200
1978struct mempolicy;
1979#line 200 "include/linux/mm_types.h"
1980struct vm_area_struct {
1981 struct mm_struct *vm_mm ;
1982 unsigned long vm_start ;
1983 unsigned long vm_end ;
1984 struct vm_area_struct *vm_next ;
1985 struct vm_area_struct *vm_prev ;
1986 pgprot_t vm_page_prot ;
1987 unsigned long vm_flags ;
1988 struct rb_node vm_rb ;
1989 union __anonunion_shared_227 shared ;
1990 struct list_head anon_vma_chain ;
1991 struct anon_vma *anon_vma ;
1992 struct vm_operations_struct const *vm_ops ;
1993 unsigned long vm_pgoff ;
1994 struct file *vm_file ;
1995 void *vm_private_data ;
1996 struct mempolicy *vm_policy ;
1997};
1998#line 257 "include/linux/mm_types.h"
1999struct core_thread {
2000 struct task_struct *task ;
2001 struct core_thread *next ;
2002};
2003#line 262 "include/linux/mm_types.h"
2004struct core_state {
2005 atomic_t nr_threads ;
2006 struct core_thread dumper ;
2007 struct completion startup ;
2008};
2009#line 284 "include/linux/mm_types.h"
2010struct mm_rss_stat {
2011 atomic_long_t count[3] ;
2012};
2013#line 288
2014struct linux_binfmt;
2015#line 288
2016struct mmu_notifier_mm;
2017#line 288 "include/linux/mm_types.h"
2018struct mm_struct {
2019 struct vm_area_struct *mmap ;
2020 struct rb_root mm_rb ;
2021 struct vm_area_struct *mmap_cache ;
2022 unsigned long (*get_unmapped_area)(struct file *filp , unsigned long addr , unsigned long len ,
2023 unsigned long pgoff , unsigned long flags ) ;
2024 void (*unmap_area)(struct mm_struct *mm , unsigned long addr ) ;
2025 unsigned long mmap_base ;
2026 unsigned long task_size ;
2027 unsigned long cached_hole_size ;
2028 unsigned long free_area_cache ;
2029 pgd_t *pgd ;
2030 atomic_t mm_users ;
2031 atomic_t mm_count ;
2032 int map_count ;
2033 spinlock_t page_table_lock ;
2034 struct rw_semaphore mmap_sem ;
2035 struct list_head mmlist ;
2036 unsigned long hiwater_rss ;
2037 unsigned long hiwater_vm ;
2038 unsigned long total_vm ;
2039 unsigned long locked_vm ;
2040 unsigned long pinned_vm ;
2041 unsigned long shared_vm ;
2042 unsigned long exec_vm ;
2043 unsigned long stack_vm ;
2044 unsigned long reserved_vm ;
2045 unsigned long def_flags ;
2046 unsigned long nr_ptes ;
2047 unsigned long start_code ;
2048 unsigned long end_code ;
2049 unsigned long start_data ;
2050 unsigned long end_data ;
2051 unsigned long start_brk ;
2052 unsigned long brk ;
2053 unsigned long start_stack ;
2054 unsigned long arg_start ;
2055 unsigned long arg_end ;
2056 unsigned long env_start ;
2057 unsigned long env_end ;
2058 unsigned long saved_auxv[44] ;
2059 struct mm_rss_stat rss_stat ;
2060 struct linux_binfmt *binfmt ;
2061 cpumask_var_t cpu_vm_mask_var ;
2062 mm_context_t context ;
2063 unsigned int faultstamp ;
2064 unsigned int token_priority ;
2065 unsigned int last_interval ;
2066 unsigned long flags ;
2067 struct core_state *core_state ;
2068 spinlock_t ioctx_lock ;
2069 struct hlist_head ioctx_list ;
2070 struct task_struct *owner ;
2071 struct file *exe_file ;
2072 unsigned long num_exe_file_vmas ;
2073 struct mmu_notifier_mm *mmu_notifier_mm ;
2074 pgtable_t pmd_huge_pte ;
2075 struct cpumask cpumask_allocation ;
2076};
2077#line 7 "include/asm-generic/cputime.h"
2078typedef unsigned long cputime_t;
2079#line 84 "include/linux/sem.h"
2080struct task_struct;
2081#line 101
2082struct sem_undo_list;
2083#line 101 "include/linux/sem.h"
2084struct sysv_sem {
2085 struct sem_undo_list *undo_list ;
2086};
2087#line 10 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
2088struct siginfo;
2089#line 10
2090struct siginfo;
2091#line 30 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
2092struct __anonstruct_sigset_t_230 {
2093 unsigned long sig[1] ;
2094};
2095#line 30 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
2096typedef struct __anonstruct_sigset_t_230 sigset_t;
2097#line 17 "include/asm-generic/signal-defs.h"
2098typedef void __signalfn_t(int );
2099#line 18 "include/asm-generic/signal-defs.h"
2100typedef __signalfn_t *__sighandler_t;
2101#line 20 "include/asm-generic/signal-defs.h"
2102typedef void __restorefn_t(void);
2103#line 21 "include/asm-generic/signal-defs.h"
2104typedef __restorefn_t *__sigrestore_t;
2105#line 167 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
2106struct sigaction {
2107 __sighandler_t sa_handler ;
2108 unsigned long sa_flags ;
2109 __sigrestore_t sa_restorer ;
2110 sigset_t sa_mask ;
2111};
2112#line 174 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
2113struct k_sigaction {
2114 struct sigaction sa ;
2115};
2116#line 7 "include/asm-generic/siginfo.h"
2117union sigval {
2118 int sival_int ;
2119 void *sival_ptr ;
2120};
2121#line 7 "include/asm-generic/siginfo.h"
2122typedef union sigval sigval_t;
2123#line 48 "include/asm-generic/siginfo.h"
2124struct __anonstruct__kill_232 {
2125 __kernel_pid_t _pid ;
2126 __kernel_uid32_t _uid ;
2127};
2128#line 48 "include/asm-generic/siginfo.h"
2129struct __anonstruct__timer_233 {
2130 __kernel_timer_t _tid ;
2131 int _overrun ;
2132 char _pad[sizeof(__kernel_uid32_t ) - sizeof(int )] ;
2133 sigval_t _sigval ;
2134 int _sys_private ;
2135};
2136#line 48 "include/asm-generic/siginfo.h"
2137struct __anonstruct__rt_234 {
2138 __kernel_pid_t _pid ;
2139 __kernel_uid32_t _uid ;
2140 sigval_t _sigval ;
2141};
2142#line 48 "include/asm-generic/siginfo.h"
2143struct __anonstruct__sigchld_235 {
2144 __kernel_pid_t _pid ;
2145 __kernel_uid32_t _uid ;
2146 int _status ;
2147 __kernel_clock_t _utime ;
2148 __kernel_clock_t _stime ;
2149};
2150#line 48 "include/asm-generic/siginfo.h"
2151struct __anonstruct__sigfault_236 {
2152 void *_addr ;
2153 short _addr_lsb ;
2154};
2155#line 48 "include/asm-generic/siginfo.h"
2156struct __anonstruct__sigpoll_237 {
2157 long _band ;
2158 int _fd ;
2159};
2160#line 48 "include/asm-generic/siginfo.h"
2161union __anonunion__sifields_231 {
2162 int _pad[(128UL - 4UL * sizeof(int )) / sizeof(int )] ;
2163 struct __anonstruct__kill_232 _kill ;
2164 struct __anonstruct__timer_233 _timer ;
2165 struct __anonstruct__rt_234 _rt ;
2166 struct __anonstruct__sigchld_235 _sigchld ;
2167 struct __anonstruct__sigfault_236 _sigfault ;
2168 struct __anonstruct__sigpoll_237 _sigpoll ;
2169};
2170#line 48 "include/asm-generic/siginfo.h"
2171struct siginfo {
2172 int si_signo ;
2173 int si_errno ;
2174 int si_code ;
2175 union __anonunion__sifields_231 _sifields ;
2176};
2177#line 48 "include/asm-generic/siginfo.h"
2178typedef struct siginfo siginfo_t;
2179#line 288
2180struct siginfo;
2181#line 10 "include/linux/signal.h"
2182struct task_struct;
2183#line 18
2184struct user_struct;
2185#line 28 "include/linux/signal.h"
2186struct sigpending {
2187 struct list_head list ;
2188 sigset_t signal ;
2189};
2190#line 239
2191struct timespec;
2192#line 240
2193struct pt_regs;
2194#line 10 "include/linux/seccomp.h"
2195struct __anonstruct_seccomp_t_240 {
2196 int mode ;
2197};
2198#line 10 "include/linux/seccomp.h"
2199typedef struct __anonstruct_seccomp_t_240 seccomp_t;
2200#line 81 "include/linux/plist.h"
2201struct plist_head {
2202 struct list_head node_list ;
2203};
2204#line 85 "include/linux/plist.h"
2205struct plist_node {
2206 int prio ;
2207 struct list_head prio_list ;
2208 struct list_head node_list ;
2209};
2210#line 40 "include/linux/rtmutex.h"
2211struct rt_mutex_waiter;
2212#line 40
2213struct rt_mutex_waiter;
2214#line 42 "include/linux/resource.h"
2215struct rlimit {
2216 unsigned long rlim_cur ;
2217 unsigned long rlim_max ;
2218};
2219#line 81
2220struct task_struct;
2221#line 8 "include/linux/timerqueue.h"
2222struct timerqueue_node {
2223 struct rb_node node ;
2224 ktime_t expires ;
2225};
2226#line 13 "include/linux/timerqueue.h"
2227struct timerqueue_head {
2228 struct rb_root head ;
2229 struct timerqueue_node *next ;
2230};
2231#line 27 "include/linux/hrtimer.h"
2232struct hrtimer_clock_base;
2233#line 27
2234struct hrtimer_clock_base;
2235#line 28
2236struct hrtimer_cpu_base;
2237#line 28
2238struct hrtimer_cpu_base;
2239#line 44
2240enum hrtimer_restart {
2241 HRTIMER_NORESTART = 0,
2242 HRTIMER_RESTART = 1
2243} ;
2244#line 108 "include/linux/hrtimer.h"
2245struct hrtimer {
2246 struct timerqueue_node node ;
2247 ktime_t _softexpires ;
2248 enum hrtimer_restart (*function)(struct hrtimer * ) ;
2249 struct hrtimer_clock_base *base ;
2250 unsigned long state ;
2251 int start_pid ;
2252 void *start_site ;
2253 char start_comm[16] ;
2254};
2255#line 145 "include/linux/hrtimer.h"
2256struct hrtimer_clock_base {
2257 struct hrtimer_cpu_base *cpu_base ;
2258 int index ;
2259 clockid_t clockid ;
2260 struct timerqueue_head active ;
2261 ktime_t resolution ;
2262 ktime_t (*get_time)(void) ;
2263 ktime_t softirq_time ;
2264 ktime_t offset ;
2265};
2266#line 178 "include/linux/hrtimer.h"
2267struct hrtimer_cpu_base {
2268 raw_spinlock_t lock ;
2269 unsigned long active_bases ;
2270 ktime_t expires_next ;
2271 int hres_active ;
2272 int hang_detected ;
2273 unsigned long nr_events ;
2274 unsigned long nr_retries ;
2275 unsigned long nr_hangs ;
2276 ktime_t max_hang_time ;
2277 struct hrtimer_clock_base clock_base[3] ;
2278};
2279#line 11 "include/linux/task_io_accounting.h"
2280struct task_io_accounting {
2281 u64 rchar ;
2282 u64 wchar ;
2283 u64 syscr ;
2284 u64 syscw ;
2285 u64 read_bytes ;
2286 u64 write_bytes ;
2287 u64 cancelled_write_bytes ;
2288};
2289#line 13 "include/linux/latencytop.h"
2290struct task_struct;
2291#line 20 "include/linux/latencytop.h"
2292struct latency_record {
2293 unsigned long backtrace[12] ;
2294 unsigned int count ;
2295 unsigned long time ;
2296 unsigned long max ;
2297};
2298#line 29 "include/linux/key.h"
2299typedef int32_t key_serial_t;
2300#line 32 "include/linux/key.h"
2301typedef uint32_t key_perm_t;
2302#line 34
2303struct key;
2304#line 34
2305struct key;
2306#line 74
2307struct seq_file;
2308#line 75
2309struct user_struct;
2310#line 76
2311struct signal_struct;
2312#line 76
2313struct signal_struct;
2314#line 77
2315struct cred;
2316#line 79
2317struct key_type;
2318#line 79
2319struct key_type;
2320#line 81
2321struct keyring_list;
2322#line 81
2323struct keyring_list;
2324#line 124
2325struct key_user;
2326#line 124 "include/linux/key.h"
2327union __anonunion____missing_field_name_241 {
2328 time_t expiry ;
2329 time_t revoked_at ;
2330};
2331#line 124 "include/linux/key.h"
2332union __anonunion_type_data_242 {
2333 struct list_head link ;
2334 unsigned long x[2] ;
2335 void *p[2] ;
2336 int reject_error ;
2337};
2338#line 124 "include/linux/key.h"
2339union __anonunion_payload_243 {
2340 unsigned long value ;
2341 void *rcudata ;
2342 void *data ;
2343 struct keyring_list *subscriptions ;
2344};
2345#line 124 "include/linux/key.h"
2346struct key {
2347 atomic_t usage ;
2348 key_serial_t serial ;
2349 struct rb_node serial_node ;
2350 struct key_type *type ;
2351 struct rw_semaphore sem ;
2352 struct key_user *user ;
2353 void *security ;
2354 union __anonunion____missing_field_name_241 __annonCompField45 ;
2355 uid_t uid ;
2356 gid_t gid ;
2357 key_perm_t perm ;
2358 unsigned short quotalen ;
2359 unsigned short datalen ;
2360 unsigned long flags ;
2361 char *description ;
2362 union __anonunion_type_data_242 type_data ;
2363 union __anonunion_payload_243 payload ;
2364};
2365#line 18 "include/linux/selinux.h"
2366struct audit_context;
2367#line 18
2368struct audit_context;
2369#line 21 "include/linux/cred.h"
2370struct user_struct;
2371#line 22
2372struct cred;
2373#line 23
2374struct inode;
2375#line 31 "include/linux/cred.h"
2376struct group_info {
2377 atomic_t usage ;
2378 int ngroups ;
2379 int nblocks ;
2380 gid_t small_block[32] ;
2381 gid_t *blocks[0] ;
2382};
2383#line 83 "include/linux/cred.h"
2384struct thread_group_cred {
2385 atomic_t usage ;
2386 pid_t tgid ;
2387 spinlock_t lock ;
2388 struct key *session_keyring ;
2389 struct key *process_keyring ;
2390 struct rcu_head rcu ;
2391};
2392#line 116 "include/linux/cred.h"
2393struct cred {
2394 atomic_t usage ;
2395 atomic_t subscribers ;
2396 void *put_addr ;
2397 unsigned int magic ;
2398 uid_t uid ;
2399 gid_t gid ;
2400 uid_t suid ;
2401 gid_t sgid ;
2402 uid_t euid ;
2403 gid_t egid ;
2404 uid_t fsuid ;
2405 gid_t fsgid ;
2406 unsigned int securebits ;
2407 kernel_cap_t cap_inheritable ;
2408 kernel_cap_t cap_permitted ;
2409 kernel_cap_t cap_effective ;
2410 kernel_cap_t cap_bset ;
2411 unsigned char jit_keyring ;
2412 struct key *thread_keyring ;
2413 struct key *request_key_auth ;
2414 struct thread_group_cred *tgcred ;
2415 void *security ;
2416 struct user_struct *user ;
2417 struct user_namespace *user_ns ;
2418 struct group_info *group_info ;
2419 struct rcu_head rcu ;
2420};
2421#line 61 "include/linux/llist.h"
2422struct llist_node;
2423#line 65 "include/linux/llist.h"
2424struct llist_node {
2425 struct llist_node *next ;
2426};
2427#line 97 "include/linux/sched.h"
2428struct futex_pi_state;
2429#line 97
2430struct futex_pi_state;
2431#line 98
2432struct robust_list_head;
2433#line 98
2434struct robust_list_head;
2435#line 99
2436struct bio_list;
2437#line 99
2438struct bio_list;
2439#line 100
2440struct fs_struct;
2441#line 100
2442struct fs_struct;
2443#line 101
2444struct perf_event_context;
2445#line 101
2446struct perf_event_context;
2447#line 102
2448struct blk_plug;
2449#line 102
2450struct blk_plug;
2451#line 150
2452struct seq_file;
2453#line 151
2454struct cfs_rq;
2455#line 151
2456struct cfs_rq;
2457#line 259
2458struct task_struct;
2459#line 366
2460struct nsproxy;
2461#line 367
2462struct user_namespace;
2463#line 58 "include/linux/aio_abi.h"
2464struct io_event {
2465 __u64 data ;
2466 __u64 obj ;
2467 __s64 res ;
2468 __s64 res2 ;
2469};
2470#line 16 "include/linux/uio.h"
2471struct iovec {
2472 void *iov_base ;
2473 __kernel_size_t iov_len ;
2474};
2475#line 15 "include/linux/aio.h"
2476struct kioctx;
2477#line 15
2478struct kioctx;
2479#line 87 "include/linux/aio.h"
2480union __anonunion_ki_obj_245 {
2481 void *user ;
2482 struct task_struct *tsk ;
2483};
2484#line 87
2485struct eventfd_ctx;
2486#line 87 "include/linux/aio.h"
2487struct kiocb {
2488 struct list_head ki_run_list ;
2489 unsigned long ki_flags ;
2490 int ki_users ;
2491 unsigned int ki_key ;
2492 struct file *ki_filp ;
2493 struct kioctx *ki_ctx ;
2494 int (*ki_cancel)(struct kiocb * , struct io_event * ) ;
2495 ssize_t (*ki_retry)(struct kiocb * ) ;
2496 void (*ki_dtor)(struct kiocb * ) ;
2497 union __anonunion_ki_obj_245 ki_obj ;
2498 __u64 ki_user_data ;
2499 loff_t ki_pos ;
2500 void *private ;
2501 unsigned short ki_opcode ;
2502 size_t ki_nbytes ;
2503 char *ki_buf ;
2504 size_t ki_left ;
2505 struct iovec ki_inline_vec ;
2506 struct iovec *ki_iovec ;
2507 unsigned long ki_nr_segs ;
2508 unsigned long ki_cur_seg ;
2509 struct list_head ki_list ;
2510 struct list_head ki_batch ;
2511 struct eventfd_ctx *ki_eventfd ;
2512};
2513#line 166 "include/linux/aio.h"
2514struct aio_ring_info {
2515 unsigned long mmap_base ;
2516 unsigned long mmap_size ;
2517 struct page **ring_pages ;
2518 spinlock_t ring_lock ;
2519 long nr_pages ;
2520 unsigned int nr ;
2521 unsigned int tail ;
2522 struct page *internal_pages[8] ;
2523};
2524#line 179 "include/linux/aio.h"
2525struct kioctx {
2526 atomic_t users ;
2527 int dead ;
2528 struct mm_struct *mm ;
2529 unsigned long user_id ;
2530 struct hlist_node list ;
2531 wait_queue_head_t wait ;
2532 spinlock_t ctx_lock ;
2533 int reqs_active ;
2534 struct list_head active_reqs ;
2535 struct list_head run_list ;
2536 unsigned int max_reqs ;
2537 struct aio_ring_info ring_info ;
2538 struct delayed_work wq ;
2539 struct rcu_head rcu_head ;
2540};
2541#line 214
2542struct mm_struct;
2543#line 443 "include/linux/sched.h"
2544struct sighand_struct {
2545 atomic_t count ;
2546 struct k_sigaction action[64] ;
2547 spinlock_t siglock ;
2548 wait_queue_head_t signalfd_wqh ;
2549};
2550#line 450 "include/linux/sched.h"
2551struct pacct_struct {
2552 int ac_flag ;
2553 long ac_exitcode ;
2554 unsigned long ac_mem ;
2555 cputime_t ac_utime ;
2556 cputime_t ac_stime ;
2557 unsigned long ac_minflt ;
2558 unsigned long ac_majflt ;
2559};
2560#line 458 "include/linux/sched.h"
2561struct cpu_itimer {
2562 cputime_t expires ;
2563 cputime_t incr ;
2564 u32 error ;
2565 u32 incr_error ;
2566};
2567#line 476 "include/linux/sched.h"
2568struct task_cputime {
2569 cputime_t utime ;
2570 cputime_t stime ;
2571 unsigned long long sum_exec_runtime ;
2572};
2573#line 512 "include/linux/sched.h"
2574struct thread_group_cputimer {
2575 struct task_cputime cputime ;
2576 int running ;
2577 raw_spinlock_t lock ;
2578};
2579#line 519
2580struct autogroup;
2581#line 519
2582struct autogroup;
2583#line 528
2584struct tty_struct;
2585#line 528
2586struct taskstats;
2587#line 528
2588struct tty_audit_buf;
2589#line 528 "include/linux/sched.h"
2590struct signal_struct {
2591 atomic_t sigcnt ;
2592 atomic_t live ;
2593 int nr_threads ;
2594 wait_queue_head_t wait_chldexit ;
2595 struct task_struct *curr_target ;
2596 struct sigpending shared_pending ;
2597 int group_exit_code ;
2598 int notify_count ;
2599 struct task_struct *group_exit_task ;
2600 int group_stop_count ;
2601 unsigned int flags ;
2602 unsigned int is_child_subreaper : 1 ;
2603 unsigned int has_child_subreaper : 1 ;
2604 struct list_head posix_timers ;
2605 struct hrtimer real_timer ;
2606 struct pid *leader_pid ;
2607 ktime_t it_real_incr ;
2608 struct cpu_itimer it[2] ;
2609 struct thread_group_cputimer cputimer ;
2610 struct task_cputime cputime_expires ;
2611 struct list_head cpu_timers[3] ;
2612 struct pid *tty_old_pgrp ;
2613 int leader ;
2614 struct tty_struct *tty ;
2615 struct autogroup *autogroup ;
2616 cputime_t utime ;
2617 cputime_t stime ;
2618 cputime_t cutime ;
2619 cputime_t cstime ;
2620 cputime_t gtime ;
2621 cputime_t cgtime ;
2622 cputime_t prev_utime ;
2623 cputime_t prev_stime ;
2624 unsigned long nvcsw ;
2625 unsigned long nivcsw ;
2626 unsigned long cnvcsw ;
2627 unsigned long cnivcsw ;
2628 unsigned long min_flt ;
2629 unsigned long maj_flt ;
2630 unsigned long cmin_flt ;
2631 unsigned long cmaj_flt ;
2632 unsigned long inblock ;
2633 unsigned long oublock ;
2634 unsigned long cinblock ;
2635 unsigned long coublock ;
2636 unsigned long maxrss ;
2637 unsigned long cmaxrss ;
2638 struct task_io_accounting ioac ;
2639 unsigned long long sum_sched_runtime ;
2640 struct rlimit rlim[16] ;
2641 struct pacct_struct pacct ;
2642 struct taskstats *stats ;
2643 unsigned int audit_tty ;
2644 struct tty_audit_buf *tty_audit_buf ;
2645 struct rw_semaphore group_rwsem ;
2646 int oom_adj ;
2647 int oom_score_adj ;
2648 int oom_score_adj_min ;
2649 struct mutex cred_guard_mutex ;
2650};
2651#line 703 "include/linux/sched.h"
2652struct user_struct {
2653 atomic_t __count ;
2654 atomic_t processes ;
2655 atomic_t files ;
2656 atomic_t sigpending ;
2657 atomic_t inotify_watches ;
2658 atomic_t inotify_devs ;
2659 atomic_t fanotify_listeners ;
2660 atomic_long_t epoll_watches ;
2661 unsigned long mq_bytes ;
2662 unsigned long locked_shm ;
2663 struct key *uid_keyring ;
2664 struct key *session_keyring ;
2665 struct hlist_node uidhash_node ;
2666 uid_t uid ;
2667 struct user_namespace *user_ns ;
2668 atomic_long_t locked_vm ;
2669};
2670#line 747
2671struct backing_dev_info;
2672#line 748
2673struct reclaim_state;
2674#line 748
2675struct reclaim_state;
2676#line 751 "include/linux/sched.h"
2677struct sched_info {
2678 unsigned long pcount ;
2679 unsigned long long run_delay ;
2680 unsigned long long last_arrival ;
2681 unsigned long long last_queued ;
2682};
2683#line 763 "include/linux/sched.h"
2684struct task_delay_info {
2685 spinlock_t lock ;
2686 unsigned int flags ;
2687 struct timespec blkio_start ;
2688 struct timespec blkio_end ;
2689 u64 blkio_delay ;
2690 u64 swapin_delay ;
2691 u32 blkio_count ;
2692 u32 swapin_count ;
2693 struct timespec freepages_start ;
2694 struct timespec freepages_end ;
2695 u64 freepages_delay ;
2696 u32 freepages_count ;
2697};
2698#line 1088
2699struct io_context;
2700#line 1088
2701struct io_context;
2702#line 1097
2703struct audit_context;
2704#line 1098
2705struct mempolicy;
2706#line 1099
2707struct pipe_inode_info;
2708#line 1102
2709struct rq;
2710#line 1102
2711struct rq;
2712#line 1122 "include/linux/sched.h"
2713struct sched_class {
2714 struct sched_class const *next ;
2715 void (*enqueue_task)(struct rq *rq , struct task_struct *p , int flags ) ;
2716 void (*dequeue_task)(struct rq *rq , struct task_struct *p , int flags ) ;
2717 void (*yield_task)(struct rq *rq ) ;
2718 bool (*yield_to_task)(struct rq *rq , struct task_struct *p , bool preempt ) ;
2719 void (*check_preempt_curr)(struct rq *rq , struct task_struct *p , int flags ) ;
2720 struct task_struct *(*pick_next_task)(struct rq *rq ) ;
2721 void (*put_prev_task)(struct rq *rq , struct task_struct *p ) ;
2722 int (*select_task_rq)(struct task_struct *p , int sd_flag , int flags ) ;
2723 void (*pre_schedule)(struct rq *this_rq , struct task_struct *task ) ;
2724 void (*post_schedule)(struct rq *this_rq ) ;
2725 void (*task_waking)(struct task_struct *task ) ;
2726 void (*task_woken)(struct rq *this_rq , struct task_struct *task ) ;
2727 void (*set_cpus_allowed)(struct task_struct *p , struct cpumask const *newmask ) ;
2728 void (*rq_online)(struct rq *rq ) ;
2729 void (*rq_offline)(struct rq *rq ) ;
2730 void (*set_curr_task)(struct rq *rq ) ;
2731 void (*task_tick)(struct rq *rq , struct task_struct *p , int queued ) ;
2732 void (*task_fork)(struct task_struct *p ) ;
2733 void (*switched_from)(struct rq *this_rq , struct task_struct *task ) ;
2734 void (*switched_to)(struct rq *this_rq , struct task_struct *task ) ;
2735 void (*prio_changed)(struct rq *this_rq , struct task_struct *task , int oldprio ) ;
2736 unsigned int (*get_rr_interval)(struct rq *rq , struct task_struct *task ) ;
2737 void (*task_move_group)(struct task_struct *p , int on_rq ) ;
2738};
2739#line 1167 "include/linux/sched.h"
2740struct load_weight {
2741 unsigned long weight ;
2742 unsigned long inv_weight ;
2743};
2744#line 1172 "include/linux/sched.h"
2745struct sched_statistics {
2746 u64 wait_start ;
2747 u64 wait_max ;
2748 u64 wait_count ;
2749 u64 wait_sum ;
2750 u64 iowait_count ;
2751 u64 iowait_sum ;
2752 u64 sleep_start ;
2753 u64 sleep_max ;
2754 s64 sum_sleep_runtime ;
2755 u64 block_start ;
2756 u64 block_max ;
2757 u64 exec_max ;
2758 u64 slice_max ;
2759 u64 nr_migrations_cold ;
2760 u64 nr_failed_migrations_affine ;
2761 u64 nr_failed_migrations_running ;
2762 u64 nr_failed_migrations_hot ;
2763 u64 nr_forced_migrations ;
2764 u64 nr_wakeups ;
2765 u64 nr_wakeups_sync ;
2766 u64 nr_wakeups_migrate ;
2767 u64 nr_wakeups_local ;
2768 u64 nr_wakeups_remote ;
2769 u64 nr_wakeups_affine ;
2770 u64 nr_wakeups_affine_attempts ;
2771 u64 nr_wakeups_passive ;
2772 u64 nr_wakeups_idle ;
2773};
2774#line 1207 "include/linux/sched.h"
2775struct sched_entity {
2776 struct load_weight load ;
2777 struct rb_node run_node ;
2778 struct list_head group_node ;
2779 unsigned int on_rq ;
2780 u64 exec_start ;
2781 u64 sum_exec_runtime ;
2782 u64 vruntime ;
2783 u64 prev_sum_exec_runtime ;
2784 u64 nr_migrations ;
2785 struct sched_statistics statistics ;
2786 struct sched_entity *parent ;
2787 struct cfs_rq *cfs_rq ;
2788 struct cfs_rq *my_q ;
2789};
2790#line 1233
2791struct rt_rq;
2792#line 1233 "include/linux/sched.h"
2793struct sched_rt_entity {
2794 struct list_head run_list ;
2795 unsigned long timeout ;
2796 unsigned int time_slice ;
2797 int nr_cpus_allowed ;
2798 struct sched_rt_entity *back ;
2799 struct sched_rt_entity *parent ;
2800 struct rt_rq *rt_rq ;
2801 struct rt_rq *my_q ;
2802};
2803#line 1264
2804struct css_set;
2805#line 1264
2806struct compat_robust_list_head;
2807#line 1264
2808struct mem_cgroup;
2809#line 1264 "include/linux/sched.h"
2810struct memcg_batch_info {
2811 int do_batch ;
2812 struct mem_cgroup *memcg ;
2813 unsigned long nr_pages ;
2814 unsigned long memsw_nr_pages ;
2815};
2816#line 1264 "include/linux/sched.h"
2817struct task_struct {
2818 long volatile state ;
2819 void *stack ;
2820 atomic_t usage ;
2821 unsigned int flags ;
2822 unsigned int ptrace ;
2823 struct llist_node wake_entry ;
2824 int on_cpu ;
2825 int on_rq ;
2826 int prio ;
2827 int static_prio ;
2828 int normal_prio ;
2829 unsigned int rt_priority ;
2830 struct sched_class const *sched_class ;
2831 struct sched_entity se ;
2832 struct sched_rt_entity rt ;
2833 struct hlist_head preempt_notifiers ;
2834 unsigned char fpu_counter ;
2835 unsigned int policy ;
2836 cpumask_t cpus_allowed ;
2837 struct sched_info sched_info ;
2838 struct list_head tasks ;
2839 struct plist_node pushable_tasks ;
2840 struct mm_struct *mm ;
2841 struct mm_struct *active_mm ;
2842 unsigned int brk_randomized : 1 ;
2843 int exit_state ;
2844 int exit_code ;
2845 int exit_signal ;
2846 int pdeath_signal ;
2847 unsigned int jobctl ;
2848 unsigned int personality ;
2849 unsigned int did_exec : 1 ;
2850 unsigned int in_execve : 1 ;
2851 unsigned int in_iowait : 1 ;
2852 unsigned int sched_reset_on_fork : 1 ;
2853 unsigned int sched_contributes_to_load : 1 ;
2854 unsigned int irq_thread : 1 ;
2855 pid_t pid ;
2856 pid_t tgid ;
2857 unsigned long stack_canary ;
2858 struct task_struct *real_parent ;
2859 struct task_struct *parent ;
2860 struct list_head children ;
2861 struct list_head sibling ;
2862 struct task_struct *group_leader ;
2863 struct list_head ptraced ;
2864 struct list_head ptrace_entry ;
2865 struct pid_link pids[3] ;
2866 struct list_head thread_group ;
2867 struct completion *vfork_done ;
2868 int *set_child_tid ;
2869 int *clear_child_tid ;
2870 cputime_t utime ;
2871 cputime_t stime ;
2872 cputime_t utimescaled ;
2873 cputime_t stimescaled ;
2874 cputime_t gtime ;
2875 cputime_t prev_utime ;
2876 cputime_t prev_stime ;
2877 unsigned long nvcsw ;
2878 unsigned long nivcsw ;
2879 struct timespec start_time ;
2880 struct timespec real_start_time ;
2881 unsigned long min_flt ;
2882 unsigned long maj_flt ;
2883 struct task_cputime cputime_expires ;
2884 struct list_head cpu_timers[3] ;
2885 struct cred const *real_cred ;
2886 struct cred const *cred ;
2887 struct cred *replacement_session_keyring ;
2888 char comm[16] ;
2889 int link_count ;
2890 int total_link_count ;
2891 struct sysv_sem sysvsem ;
2892 unsigned long last_switch_count ;
2893 struct thread_struct thread ;
2894 struct fs_struct *fs ;
2895 struct files_struct *files ;
2896 struct nsproxy *nsproxy ;
2897 struct signal_struct *signal ;
2898 struct sighand_struct *sighand ;
2899 sigset_t blocked ;
2900 sigset_t real_blocked ;
2901 sigset_t saved_sigmask ;
2902 struct sigpending pending ;
2903 unsigned long sas_ss_sp ;
2904 size_t sas_ss_size ;
2905 int (*notifier)(void *priv ) ;
2906 void *notifier_data ;
2907 sigset_t *notifier_mask ;
2908 struct audit_context *audit_context ;
2909 uid_t loginuid ;
2910 unsigned int sessionid ;
2911 seccomp_t seccomp ;
2912 u32 parent_exec_id ;
2913 u32 self_exec_id ;
2914 spinlock_t alloc_lock ;
2915 raw_spinlock_t pi_lock ;
2916 struct plist_head pi_waiters ;
2917 struct rt_mutex_waiter *pi_blocked_on ;
2918 struct mutex_waiter *blocked_on ;
2919 unsigned int irq_events ;
2920 unsigned long hardirq_enable_ip ;
2921 unsigned long hardirq_disable_ip ;
2922 unsigned int hardirq_enable_event ;
2923 unsigned int hardirq_disable_event ;
2924 int hardirqs_enabled ;
2925 int hardirq_context ;
2926 unsigned long softirq_disable_ip ;
2927 unsigned long softirq_enable_ip ;
2928 unsigned int softirq_disable_event ;
2929 unsigned int softirq_enable_event ;
2930 int softirqs_enabled ;
2931 int softirq_context ;
2932 void *journal_info ;
2933 struct bio_list *bio_list ;
2934 struct blk_plug *plug ;
2935 struct reclaim_state *reclaim_state ;
2936 struct backing_dev_info *backing_dev_info ;
2937 struct io_context *io_context ;
2938 unsigned long ptrace_message ;
2939 siginfo_t *last_siginfo ;
2940 struct task_io_accounting ioac ;
2941 u64 acct_rss_mem1 ;
2942 u64 acct_vm_mem1 ;
2943 cputime_t acct_timexpd ;
2944 nodemask_t mems_allowed ;
2945 seqcount_t mems_allowed_seq ;
2946 int cpuset_mem_spread_rotor ;
2947 int cpuset_slab_spread_rotor ;
2948 struct css_set *cgroups ;
2949 struct list_head cg_list ;
2950 struct robust_list_head *robust_list ;
2951 struct compat_robust_list_head *compat_robust_list ;
2952 struct list_head pi_state_list ;
2953 struct futex_pi_state *pi_state_cache ;
2954 struct perf_event_context *perf_event_ctxp[2] ;
2955 struct mutex perf_event_mutex ;
2956 struct list_head perf_event_list ;
2957 struct mempolicy *mempolicy ;
2958 short il_next ;
2959 short pref_node_fork ;
2960 struct rcu_head rcu ;
2961 struct pipe_inode_info *splice_pipe ;
2962 struct task_delay_info *delays ;
2963 int make_it_fail ;
2964 int nr_dirtied ;
2965 int nr_dirtied_pause ;
2966 unsigned long dirty_paused_when ;
2967 int latency_record_count ;
2968 struct latency_record latency_record[32] ;
2969 unsigned long timer_slack_ns ;
2970 unsigned long default_timer_slack_ns ;
2971 struct list_head *scm_work_list ;
2972 unsigned long trace ;
2973 unsigned long trace_recursion ;
2974 struct memcg_batch_info memcg_batch ;
2975 atomic_t ptrace_bp_refcnt ;
2976};
2977#line 1681
2978struct pid_namespace;
2979#line 46 "include/linux/slub_def.h"
2980struct kmem_cache_cpu {
2981 void **freelist ;
2982 unsigned long tid ;
2983 struct page *page ;
2984 struct page *partial ;
2985 int node ;
2986 unsigned int stat[26] ;
2987};
2988#line 57 "include/linux/slub_def.h"
2989struct kmem_cache_node {
2990 spinlock_t list_lock ;
2991 unsigned long nr_partial ;
2992 struct list_head partial ;
2993 atomic_long_t nr_slabs ;
2994 atomic_long_t total_objects ;
2995 struct list_head full ;
2996};
2997#line 73 "include/linux/slub_def.h"
2998struct kmem_cache_order_objects {
2999 unsigned long x ;
3000};
3001#line 80 "include/linux/slub_def.h"
3002struct kmem_cache {
3003 struct kmem_cache_cpu *cpu_slab ;
3004 unsigned long flags ;
3005 unsigned long min_partial ;
3006 int size ;
3007 int objsize ;
3008 int offset ;
3009 int cpu_partial ;
3010 struct kmem_cache_order_objects oo ;
3011 struct kmem_cache_order_objects max ;
3012 struct kmem_cache_order_objects min ;
3013 gfp_t allocflags ;
3014 int refcount ;
3015 void (*ctor)(void * ) ;
3016 int inuse ;
3017 int align ;
3018 int reserved ;
3019 char const *name ;
3020 struct list_head list ;
3021 struct kobject kobj ;
3022 int remote_node_defrag_ratio ;
3023 struct kmem_cache_node *node[1 << 10] ;
3024};
3025#line 161 "include/acpi/actypes.h"
3026typedef u64 acpi_size;
3027#line 163 "include/acpi/actypes.h"
3028typedef u64 acpi_physical_address;
3029#line 371 "include/acpi/actypes.h"
3030typedef u32 acpi_status;
3031#line 373 "include/acpi/actypes.h"
3032typedef char *acpi_string;
3033#line 79 "include/acpi/actbl.h"
3034#pragma pack(1)
3035#line 94 "include/acpi/actbl.h"
3036struct acpi_table_header {
3037 char signature[4] ;
3038 u32 length ;
3039 u8 revision ;
3040 u8 checksum ;
3041 char oem_id[6] ;
3042 char oem_table_id[8] ;
3043 u32 oem_revision ;
3044 char asl_compiler_id[4] ;
3045 u32 asl_compiler_revision ;
3046};
3047#line 116 "include/acpi/actbl.h"
3048struct acpi_generic_address {
3049 u8 space_id ;
3050 u8 bit_width ;
3051 u8 bit_offset ;
3052 u8 access_width ;
3053 u64 address ;
3054};
3055#line 321
3056#pragma pack()
3057#line 79 "include/acpi/actbl1.h"
3058#pragma pack(1)
3059#line 102 "include/acpi/actbl1.h"
3060struct acpi_whea_header {
3061 u8 action ;
3062 u8 instruction ;
3063 u8 flags ;
3064 u8 reserved ;
3065 struct acpi_generic_address register_region ;
3066 u64 value ;
3067 u64 mask ;
3068};
3069#line 202 "include/acpi/actbl1.h"
3070struct acpi_table_einj {
3071 struct acpi_table_header header ;
3072 u32 header_length ;
3073 u8 flags ;
3074 u8 reserved[3] ;
3075 u32 entries ;
3076};
3077#line 212 "include/acpi/actbl1.h"
3078struct acpi_einj_entry {
3079 struct acpi_whea_header whea_header ;
3080};
3081#line 269 "include/acpi/actbl1.h"
3082struct acpi_einj_trigger {
3083 u32 header_size ;
3084 u32 revision ;
3085 u32 table_size ;
3086 u32 entry_count ;
3087};
3088#line 961
3089#pragma pack()
3090#line 96 "include/acpi/actbl2.h"
3091#pragma pack(1)
3092#line 1046
3093#pragma pack()
3094#line 87 "include/acpi/actbl3.h"
3095#pragma pack(1)
3096#line 550
3097#pragma pack()
3098#line 152 "include/acpi/acrestyp.h"
3099#pragma pack(1)
3100#line 588
3101#pragma pack()
3102#line 251 "include/linux/cper.h"
3103#pragma pack(1)
3104#line 388
3105#pragma pack()
3106#line 11 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/acpi/apei/apei-internal.h"
3107struct apei_exec_context;
3108#line 11
3109struct apei_exec_context;
3110#line 18 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/acpi/apei/apei-internal.h"
3111struct apei_exec_ins_type {
3112 u32 flags ;
3113 int (*run)(struct apei_exec_context *ctx , struct acpi_whea_header *entry ) ;
3114};
3115#line 23 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/acpi/apei/apei-internal.h"
3116struct apei_exec_context {
3117 u32 ip ;
3118 u64 value ;
3119 u64 var1 ;
3120 u64 var2 ;
3121 u64 src_base ;
3122 u64 dst_base ;
3123 struct apei_exec_ins_type *ins_table ;
3124 u32 instructions ;
3125 struct acpi_whea_header *action_table ;
3126 u32 entries ;
3127};
3128#line 89 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/acpi/apei/apei-internal.h"
3129struct apei_resources {
3130 struct list_head iomem ;
3131 struct list_head ioport ;
3132};
3133#line 112
3134struct dentry;
3135#line 51 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/56/dscv_tempdir/dscv/ri/32_1/drivers/acpi/apei/einj.c.common.c"
3136struct set_error_type_with_address {
3137 u32 type ;
3138 u32 vendor_extension ;
3139 u32 flags ;
3140 u32 apicid ;
3141 u64 memory_address ;
3142 u64 memory_address_range ;
3143 u32 pcie_sbdf ;
3144};
3145#line 69 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/56/dscv_tempdir/dscv/ri/32_1/drivers/acpi/apei/einj.c.common.c"
3146struct vendor_error_type_extension {
3147 u32 length ;
3148 u32 pcie_sbdf ;
3149 u16 vendor_id ;
3150 u16 device_id ;
3151 u8 rev_id ;
3152 u8 reserved[3] ;
3153};
3154#line 91 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/56/dscv_tempdir/dscv/ri/32_1/drivers/acpi/apei/einj.c.common.c"
3155struct einj_parameter {
3156 u64 type ;
3157 u64 reserved1 ;
3158 u64 reserved2 ;
3159 u64 param1 ;
3160 u64 param2 ;
3161};
3162#line 149 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/56/dscv_tempdir/dscv/ri/32_1/drivers/acpi/apei/einj.c.common.c"
3163struct __anonstruct_266 {
3164 int : 0 ;
3165};
3166#line 356 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/56/dscv_tempdir/dscv/ri/32_1/drivers/acpi/apei/einj.c.common.c"
3167struct __anonstruct_267 {
3168 int : 0 ;
3169};
3170#line 1 "<compiler builtins>"
3171
3172#line 1
3173long __builtin_expect(long val , long res ) ;
3174#line 100 "include/linux/printk.h"
3175extern int ( printk)(char const *fmt , ...) ;
3176#line 320 "include/linux/kernel.h"
3177extern int ( sprintf)(char *buf , char const *fmt , ...) ;
3178#line 24 "include/linux/list.h"
3179__inline static void INIT_LIST_HEAD(struct list_head *list ) __attribute__((__no_instrument_function__)) ;
3180#line 24 "include/linux/list.h"
3181__inline static void INIT_LIST_HEAD(struct list_head *list )
3182{ unsigned long __cil_tmp2 ;
3183 unsigned long __cil_tmp3 ;
3184
3185 {
3186#line 26
3187 *((struct list_head **)list) = list;
3188#line 27
3189 __cil_tmp2 = (unsigned long )list;
3190#line 27
3191 __cil_tmp3 = __cil_tmp2 + 8;
3192#line 27
3193 *((struct list_head **)__cil_tmp3) = list;
3194#line 28
3195 return;
3196}
3197}
3198#line 34 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/string_64.h"
3199extern void *__memcpy(void *to , void const *from , size_t len ) ;
3200#line 61
3201extern unsigned long strlen(char const *s ) ;
3202#line 152 "include/linux/mutex.h"
3203void mutex_lock(struct mutex *lock ) ;
3204#line 153
3205int __attribute__((__warn_unused_result__)) mutex_lock_interruptible(struct mutex *lock ) ;
3206#line 154
3207int __attribute__((__warn_unused_result__)) mutex_lock_killable(struct mutex *lock ) ;
3208#line 168
3209int mutex_trylock(struct mutex *lock ) ;
3210#line 169
3211void mutex_unlock(struct mutex *lock ) ;
3212#line 170
3213int atomic_dec_and_mutex_lock(atomic_t *cnt , struct mutex *lock ) ;
3214#line 138 "include/linux/ioport.h"
3215extern struct resource iomem_resource ;
3216#line 181
3217extern struct resource *__request_region(struct resource * , resource_size_t start ,
3218 resource_size_t n , char const *name ,
3219 int flags ) ;
3220#line 192
3221extern void __release_region(struct resource * , resource_size_t , resource_size_t ) ;
3222#line 175 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
3223extern void *ioremap_cache(resource_size_t offset , unsigned long size ) ;
3224#line 187
3225extern void iounmap(void volatile *addr ) ;
3226#line 88 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/acpi.h"
3227extern int acpi_disabled ;
3228#line 382 "include/linux/moduleparam.h"
3229extern struct kernel_param_ops param_ops_bool ;
3230#line 26 "include/linux/export.h"
3231extern struct module __this_module ;
3232#line 67 "include/linux/module.h"
3233int init_module(void) ;
3234#line 68
3235void cleanup_module(void) ;
3236#line 2403 "include/linux/fs.h"
3237extern loff_t generic_file_llseek(struct file *file , loff_t offset , int origin ) ;
3238#line 2633
3239__inline static void ( __simple_attr_check_format)(char const *fmt
3240 , ...) __attribute__((__no_instrument_function__)) ;
3241#line 2633 "include/linux/fs.h"
3242__inline static void ( __simple_attr_check_format)(char const *fmt
3243 , ...)
3244{
3245
3246 {
3247#line 2637
3248 return;
3249}
3250}
3251#line 2639
3252extern int simple_attr_open(struct inode *inode , struct file *file , int (*get)(void * ,
3253 u64 * ) ,
3254 int (*set)(void * , u64 ) , char const *fmt ) ;
3255#line 2642
3256extern int simple_attr_release(struct inode *inode , struct file *file ) ;
3257#line 2643
3258extern ssize_t simple_attr_read(struct file *file , char *buf , size_t len , loff_t *ppos ) ;
3259#line 2645
3260extern ssize_t simple_attr_write(struct file *file , char const *buf , size_t len ,
3261 loff_t *ppos ) ;
3262#line 80 "include/linux/seq_file.h"
3263extern ssize_t seq_read(struct file * , char * , size_t , loff_t * ) ;
3264#line 81
3265extern loff_t seq_lseek(struct file * , loff_t , int ) ;
3266#line 88
3267extern int ( seq_printf)(struct seq_file * , char const *
3268 , ...) ;
3269#line 120
3270extern int single_open(struct file * , int (*)(struct seq_file * , void * ) , void * ) ;
3271#line 121
3272extern int single_release(struct inode * , struct file * ) ;
3273#line 49 "include/linux/debugfs.h"
3274extern struct dentry *debugfs_create_file(char const *name , umode_t mode , struct dentry *parent ,
3275 void *data , struct file_operations const *fops ) ;
3276#line 53
3277extern struct dentry *debugfs_create_dir(char const *name , struct dentry *parent ) ;
3278#line 59
3279extern void debugfs_remove_recursive(struct dentry *dentry ) ;
3280#line 76
3281extern struct dentry *debugfs_create_x32(char const *name , umode_t mode , struct dentry *parent ,
3282 u32 *value ) ;
3283#line 78
3284extern struct dentry *debugfs_create_x64(char const *name , umode_t mode , struct dentry *parent ,
3285 u64 *value ) ;
3286#line 85
3287extern struct dentry *debugfs_create_blob(char const *name , umode_t mode , struct dentry *parent ,
3288 struct debugfs_blob_wrapper *blob ) ;
3289#line 19 "include/linux/nmi.h"
3290extern void touch_nmi_watchdog(void) ;
3291#line 10 "include/asm-generic/delay.h"
3292extern void __const_udelay(unsigned long xloops ) ;
3293#line 152 "include/acpi/acpiosxf.h"
3294extern void *acpi_os_map_memory(acpi_physical_address where , acpi_size length ) ;
3295#line 155
3296extern void acpi_os_unmap_memory(void *logical_address , acpi_size size ) ;
3297#line 134 "include/acpi/acpixf.h"
3298extern char const *acpi_format_exception(acpi_status exception ) ;
3299#line 178
3300extern acpi_status acpi_get_table(acpi_string signature , u32 instance , struct acpi_table_header **out_table ) ;
3301#line 36 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/acpi/apei/apei-internal.h"
3302extern void apei_exec_ctx_init(struct apei_exec_context *ctx , struct apei_exec_ins_type *ins_table ,
3303 u32 instructions , struct acpi_whea_header *action_table ,
3304 u32 entries ) ;
3305#line 42
3306__inline static void apei_exec_ctx_set_input(struct apei_exec_context *ctx , u64 input ) __attribute__((__no_instrument_function__)) ;
3307#line 42 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/acpi/apei/apei-internal.h"
3308__inline static void apei_exec_ctx_set_input(struct apei_exec_context *ctx , u64 input )
3309{ unsigned long __cil_tmp3 ;
3310 unsigned long __cil_tmp4 ;
3311
3312 {
3313#line 45
3314 __cil_tmp3 = (unsigned long )ctx;
3315#line 45
3316 __cil_tmp4 = __cil_tmp3 + 8;
3317#line 45
3318 *((u64 *)__cil_tmp4) = input;
3319#line 46
3320 return;
3321}
3322}
3323#line 48
3324__inline static u64 apei_exec_ctx_get_output(struct apei_exec_context *ctx ) __attribute__((__no_instrument_function__)) ;
3325#line 48 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/acpi/apei/apei-internal.h"
3326__inline static u64 apei_exec_ctx_get_output(struct apei_exec_context *ctx )
3327{ unsigned long __cil_tmp2 ;
3328 unsigned long __cil_tmp3 ;
3329
3330 {
3331 {
3332#line 50
3333 __cil_tmp2 = (unsigned long )ctx;
3334#line 50
3335 __cil_tmp3 = __cil_tmp2 + 8;
3336#line 50
3337 return (*((u64 *)__cil_tmp3));
3338 }
3339}
3340}
3341#line 53
3342extern int __apei_exec_run(struct apei_exec_context *ctx , u8 action , bool optional ) ;
3343#line 55
3344__inline static int apei_exec_run(struct apei_exec_context *ctx , u8 action ) __attribute__((__no_instrument_function__)) ;
3345#line 55 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/acpi/apei/apei-internal.h"
3346__inline static int apei_exec_run(struct apei_exec_context *ctx , u8 action )
3347{ int tmp___7 ;
3348 bool __cil_tmp4 ;
3349
3350 {
3351 {
3352#line 57
3353 __cil_tmp4 = (bool )0;
3354#line 57
3355 tmp___7 = __apei_exec_run(ctx, action, __cil_tmp4);
3356 }
3357#line 57
3358 return (tmp___7);
3359}
3360}
3361#line 61
3362__inline static int apei_exec_run_optional(struct apei_exec_context *ctx , u8 action ) __attribute__((__no_instrument_function__)) ;
3363#line 61 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/acpi/apei/apei-internal.h"
3364__inline static int apei_exec_run_optional(struct apei_exec_context *ctx , u8 action )
3365{ int tmp___7 ;
3366 bool __cil_tmp4 ;
3367
3368 {
3369 {
3370#line 63
3371 __cil_tmp4 = (bool )1;
3372#line 63
3373 tmp___7 = __apei_exec_run(ctx, action, __cil_tmp4);
3374 }
3375#line 63
3376 return (tmp___7);
3377}
3378}
3379#line 76
3380extern int apei_exec_read_register(struct apei_exec_context *ctx , struct acpi_whea_header *entry ) ;
3381#line 78
3382extern int apei_exec_read_register_value(struct apei_exec_context *ctx , struct acpi_whea_header *entry ) ;
3383#line 80
3384extern int apei_exec_write_register(struct apei_exec_context *ctx , struct acpi_whea_header *entry ) ;
3385#line 82
3386extern int apei_exec_write_register_value(struct apei_exec_context *ctx , struct acpi_whea_header *entry ) ;
3387#line 84
3388extern int apei_exec_noop(struct apei_exec_context *ctx , struct acpi_whea_header *entry ) ;
3389#line 86
3390extern int apei_exec_pre_map_gars(struct apei_exec_context *ctx ) ;
3391#line 87
3392extern int apei_exec_post_unmap_gars(struct apei_exec_context *ctx ) ;
3393#line 94
3394__inline static void apei_resources_init(struct apei_resources *resources ) __attribute__((__no_instrument_function__)) ;
3395#line 94 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/acpi/apei/apei-internal.h"
3396__inline static void apei_resources_init(struct apei_resources *resources )
3397{ struct list_head *__cil_tmp2 ;
3398 unsigned long __cil_tmp3 ;
3399 unsigned long __cil_tmp4 ;
3400 struct list_head *__cil_tmp5 ;
3401
3402 {
3403 {
3404#line 96
3405 __cil_tmp2 = (struct list_head *)resources;
3406#line 96
3407 INIT_LIST_HEAD(__cil_tmp2);
3408#line 97
3409 __cil_tmp3 = (unsigned long )resources;
3410#line 97
3411 __cil_tmp4 = __cil_tmp3 + 16;
3412#line 97
3413 __cil_tmp5 = (struct list_head *)__cil_tmp4;
3414#line 97
3415 INIT_LIST_HEAD(__cil_tmp5);
3416 }
3417#line 98
3418 return;
3419}
3420}
3421#line 100
3422extern void apei_resources_fini(struct apei_resources *resources ) ;
3423#line 101
3424extern int apei_resources_add(struct apei_resources *resources , unsigned long start ,
3425 unsigned long size , bool iomem ) ;
3426#line 104
3427extern int apei_resources_sub(struct apei_resources *resources1 , struct apei_resources *resources2 ) ;
3428#line 106
3429extern int apei_resources_request(struct apei_resources *resources , char const *desc ) ;
3430#line 108
3431extern void apei_resources_release(struct apei_resources *resources ) ;
3432#line 109
3433extern int apei_exec_collect_resources(struct apei_exec_context *ctx , struct apei_resources *resources ) ;
3434#line 113
3435extern struct dentry *apei_get_debugfs_dir(void) ;
3436#line 49 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/56/dscv_tempdir/dscv/ri/32_1/drivers/acpi/apei/einj.c.common.c"
3437static int acpi5 ;
3438#line 78 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/56/dscv_tempdir/dscv/ri/32_1/drivers/acpi/apei/einj.c.common.c"
3439static u32 notrigger ;
3440#line 80 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/56/dscv_tempdir/dscv/ri/32_1/drivers/acpi/apei/einj.c.common.c"
3441static u32 vendor_flags ;
3442#line 81 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/56/dscv_tempdir/dscv/ri/32_1/drivers/acpi/apei/einj.c.common.c"
3443static struct debugfs_blob_wrapper vendor_blob ;
3444#line 82 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/56/dscv_tempdir/dscv/ri/32_1/drivers/acpi/apei/einj.c.common.c"
3445static char vendor_dev[64] ;
3446#line 108 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/56/dscv_tempdir/dscv/ri/32_1/drivers/acpi/apei/einj.c.common.c"
3447static bool param_extension ;
3448#line 109 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/56/dscv_tempdir/dscv/ri/32_1/drivers/acpi/apei/einj.c.common.c"
3449static char const __param_str_param_extension[16] =
3450#line 109
3451 { (char const )'p', (char const )'a', (char const )'r', (char const )'a',
3452 (char const )'m', (char const )'_', (char const )'e', (char const )'x',
3453 (char const )'t', (char const )'e', (char const )'n', (char const )'s',
3454 (char const )'i', (char const )'o', (char const )'n', (char const )'\000'};
3455#line 109 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/56/dscv_tempdir/dscv/ri/32_1/drivers/acpi/apei/einj.c.common.c"
3456static struct kernel_param const __param_param_extension __attribute__((__used__,
3457__unused__, __section__("__param"), __aligned__(sizeof(void *)))) = {__param_str_param_extension, (struct kernel_param_ops const *)(& param_ops_bool),
3458 (u16 )0, (s16 )0, {(void *)(& param_extension)}};
3459#line 109 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/56/dscv_tempdir/dscv/ri/32_1/drivers/acpi/apei/einj.c.common.c"
3460static char const __mod_param_extensiontype109[30] __attribute__((__used__, __unused__,
3461__section__(".modinfo"), __aligned__(1))) =
3462#line 109
3463 { (char const )'p', (char const )'a', (char const )'r', (char const )'m',
3464 (char const )'t', (char const )'y', (char const )'p', (char const )'e',
3465 (char const )'=', (char const )'p', (char const )'a', (char const )'r',
3466 (char const )'a', (char const )'m', (char const )'_', (char const )'e',
3467 (char const )'x', (char const )'t', (char const )'e', (char const )'n',
3468 (char const )'s', (char const )'i', (char const )'o', (char const )'n',
3469 (char const )':', (char const )'b', (char const )'o', (char const )'o',
3470 (char const )'l', (char const )'\000'};
3471#line 111 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/56/dscv_tempdir/dscv/ri/32_1/drivers/acpi/apei/einj.c.common.c"
3472static struct acpi_table_einj *einj_tab ;
3473#line 113 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/56/dscv_tempdir/dscv/ri/32_1/drivers/acpi/apei/einj.c.common.c"
3474static struct apei_resources einj_resources ;
3475#line 115 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/56/dscv_tempdir/dscv/ri/32_1/drivers/acpi/apei/einj.c.common.c"
3476static struct apei_exec_ins_type einj_ins_type[5] = { {(u32 )1, & apei_exec_read_register},
3477 {(u32 )1, & apei_exec_read_register_value},
3478 {(u32 )1, & apei_exec_write_register},
3479 {(u32 )1, & apei_exec_write_register_value},
3480 {(u32 )0, & apei_exec_noop}};
3481#line 143 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/56/dscv_tempdir/dscv/ri/32_1/drivers/acpi/apei/einj.c.common.c"
3482static struct mutex einj_mutex = {{1}, {{{{{(__ticketpair_t )0}}, 3735899821U, 4294967295U, (void *)-1L}}}, {& einj_mutex.wait_list,
3483 & einj_mutex.wait_list},
3484 (struct task_struct *)0, (char const *)0, (void *)(& einj_mutex)};
3485#line 145 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/56/dscv_tempdir/dscv/ri/32_1/drivers/acpi/apei/einj.c.common.c"
3486static void *einj_param ;
3487#line 147 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/56/dscv_tempdir/dscv/ri/32_1/drivers/acpi/apei/einj.c.common.c"
3488static void einj_exec_ctx_init(struct apei_exec_context *ctx )
3489{ unsigned long __cil_tmp2 ;
3490 unsigned long __cil_tmp3 ;
3491 struct apei_exec_ins_type *__cil_tmp4 ;
3492 unsigned long __cil_tmp5 ;
3493 unsigned long __cil_tmp6 ;
3494 u32 __cil_tmp7 ;
3495 struct acpi_table_einj **__cil_tmp8 ;
3496 struct acpi_table_einj *__cil_tmp9 ;
3497 char *__cil_tmp10 ;
3498 char *__cil_tmp11 ;
3499 struct acpi_whea_header *__cil_tmp12 ;
3500 struct acpi_table_einj **__cil_tmp13 ;
3501 struct acpi_table_einj *__cil_tmp14 ;
3502 unsigned long __cil_tmp15 ;
3503 unsigned long __cil_tmp16 ;
3504 u32 __cil_tmp17 ;
3505
3506 {
3507 {
3508#line 149
3509 __cil_tmp2 = 0 * 16UL;
3510#line 149
3511 __cil_tmp3 = (unsigned long )(einj_ins_type) + __cil_tmp2;
3512#line 149
3513 __cil_tmp4 = (struct apei_exec_ins_type *)__cil_tmp3;
3514#line 149
3515 __cil_tmp5 = 80UL / 16UL;
3516#line 149
3517 __cil_tmp6 = __cil_tmp5 + 0UL;
3518#line 149
3519 __cil_tmp7 = (u32 )__cil_tmp6;
3520#line 149
3521 __cil_tmp8 = & einj_tab;
3522#line 149
3523 __cil_tmp9 = *__cil_tmp8;
3524#line 149
3525 __cil_tmp10 = (char *)__cil_tmp9;
3526#line 149
3527 __cil_tmp11 = __cil_tmp10 + 48UL;
3528#line 149
3529 __cil_tmp12 = (struct acpi_whea_header *)__cil_tmp11;
3530#line 149
3531 __cil_tmp13 = & einj_tab;
3532#line 149
3533 __cil_tmp14 = *__cil_tmp13;
3534#line 149
3535 __cil_tmp15 = (unsigned long )__cil_tmp14;
3536#line 149
3537 __cil_tmp16 = __cil_tmp15 + 44;
3538#line 149
3539 __cil_tmp17 = *((u32 *)__cil_tmp16);
3540#line 149
3541 apei_exec_ctx_init(ctx, __cil_tmp4, __cil_tmp7, __cil_tmp12, __cil_tmp17);
3542 }
3543#line 151
3544 return;
3545}
3546}
3547#line 153 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/56/dscv_tempdir/dscv/ri/32_1/drivers/acpi/apei/einj.c.common.c"
3548static int __einj_get_available_error_type(u32 *type )
3549{ struct apei_exec_context ctx ;
3550 int rc ;
3551 u64 tmp___7 ;
3552 u8 __cil_tmp5 ;
3553
3554 {
3555 {
3556#line 158
3557 einj_exec_ctx_init(& ctx);
3558#line 159
3559 __cil_tmp5 = (u8 )3;
3560#line 159
3561 rc = apei_exec_run(& ctx, __cil_tmp5);
3562 }
3563#line 160
3564 if (rc) {
3565#line 161
3566 return (rc);
3567 } else {
3568
3569 }
3570 {
3571#line 162
3572 tmp___7 = apei_exec_ctx_get_output(& ctx);
3573#line 162
3574 *type = (u32 )tmp___7;
3575 }
3576#line 164
3577 return (0);
3578}
3579}
3580#line 168 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/56/dscv_tempdir/dscv/ri/32_1/drivers/acpi/apei/einj.c.common.c"
3581static int einj_get_available_error_type(u32 *type )
3582{ int rc ;
3583
3584 {
3585 {
3586#line 172
3587 mutex_lock(& einj_mutex);
3588#line 173
3589 rc = __einj_get_available_error_type(type);
3590#line 174
3591 mutex_unlock(& einj_mutex);
3592 }
3593#line 176
3594 return (rc);
3595}
3596}
3597#line 179 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/56/dscv_tempdir/dscv/ri/32_1/drivers/acpi/apei/einj.c.common.c"
3598static int einj_timedout(u64 *t )
3599{ u64 __cil_tmp2 ;
3600 s64 __cil_tmp3 ;
3601 u64 __cil_tmp4 ;
3602
3603 {
3604 {
3605#line 181
3606 __cil_tmp2 = *t;
3607#line 181
3608 __cil_tmp3 = (s64 )__cil_tmp2;
3609#line 181
3610 if (__cil_tmp3 < 100LL) {
3611 {
3612#line 182
3613 printk("<4>[Firmware Warn]: EINJ: Firmware does not respond in time\n");
3614 }
3615#line 184
3616 return (1);
3617 } else {
3618
3619 }
3620 }
3621 {
3622#line 186
3623 __cil_tmp4 = *t;
3624#line 186
3625 *t = __cil_tmp4 - 100ULL;
3626#line 187
3627 __const_udelay(500UL);
3628#line 188
3629 touch_nmi_watchdog();
3630 }
3631#line 189
3632 return (0);
3633}
3634}
3635#line 192 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/56/dscv_tempdir/dscv/ri/32_1/drivers/acpi/apei/einj.c.common.c"
3636static void check_vendor_extension(u64 paddr , struct set_error_type_with_address *v5param )
3637{ int offset ;
3638 struct vendor_error_type_extension *v ;
3639 u32 sbdf ;
3640 void *tmp___7 ;
3641 unsigned long __cil_tmp7 ;
3642 unsigned long __cil_tmp8 ;
3643 u32 __cil_tmp9 ;
3644 u64 __cil_tmp10 ;
3645 u64 __cil_tmp11 ;
3646 acpi_size __cil_tmp12 ;
3647 unsigned long __cil_tmp13 ;
3648 unsigned long __cil_tmp14 ;
3649 unsigned long __cil_tmp15 ;
3650 unsigned long __cil_tmp16 ;
3651 char *__cil_tmp17 ;
3652 u32 __cil_tmp18 ;
3653 u32 __cil_tmp19 ;
3654 unsigned int __cil_tmp20 ;
3655 u32 __cil_tmp21 ;
3656 unsigned int __cil_tmp22 ;
3657 u32 __cil_tmp23 ;
3658 unsigned int __cil_tmp24 ;
3659 unsigned long __cil_tmp25 ;
3660 unsigned long __cil_tmp26 ;
3661 u16 __cil_tmp27 ;
3662 int __cil_tmp28 ;
3663 unsigned long __cil_tmp29 ;
3664 unsigned long __cil_tmp30 ;
3665 u16 __cil_tmp31 ;
3666 int __cil_tmp32 ;
3667 unsigned long __cil_tmp33 ;
3668 unsigned long __cil_tmp34 ;
3669 u8 __cil_tmp35 ;
3670 int __cil_tmp36 ;
3671 void *__cil_tmp37 ;
3672 acpi_size __cil_tmp38 ;
3673
3674 {
3675#line 195
3676 __cil_tmp7 = (unsigned long )v5param;
3677#line 195
3678 __cil_tmp8 = __cil_tmp7 + 4;
3679#line 195
3680 __cil_tmp9 = *((u32 *)__cil_tmp8);
3681#line 195
3682 offset = (int )__cil_tmp9;
3683#line 199
3684 if (! offset) {
3685#line 200
3686 return;
3687 } else {
3688
3689 }
3690 {
3691#line 201
3692 __cil_tmp10 = (u64 )offset;
3693#line 201
3694 __cil_tmp11 = paddr + __cil_tmp10;
3695#line 201
3696 __cil_tmp12 = (acpi_size )16UL;
3697#line 201
3698 tmp___7 = acpi_os_map_memory(__cil_tmp11, __cil_tmp12);
3699#line 201
3700 v = (struct vendor_error_type_extension *)tmp___7;
3701 }
3702#line 202
3703 if (! v) {
3704#line 203
3705 return;
3706 } else {
3707
3708 }
3709 {
3710#line 204
3711 __cil_tmp13 = (unsigned long )v;
3712#line 204
3713 __cil_tmp14 = __cil_tmp13 + 4;
3714#line 204
3715 sbdf = *((u32 *)__cil_tmp14);
3716#line 205
3717 __cil_tmp15 = 0 * 1UL;
3718#line 205
3719 __cil_tmp16 = (unsigned long )(vendor_dev) + __cil_tmp15;
3720#line 205
3721 __cil_tmp17 = (char *)__cil_tmp16;
3722#line 205
3723 __cil_tmp18 = sbdf >> 24;
3724#line 205
3725 __cil_tmp19 = sbdf >> 16;
3726#line 205
3727 __cil_tmp20 = __cil_tmp19 & 255U;
3728#line 205
3729 __cil_tmp21 = sbdf >> 11;
3730#line 205
3731 __cil_tmp22 = __cil_tmp21 & 31U;
3732#line 205
3733 __cil_tmp23 = sbdf >> 8;
3734#line 205
3735 __cil_tmp24 = __cil_tmp23 & 7U;
3736#line 205
3737 __cil_tmp25 = (unsigned long )v;
3738#line 205
3739 __cil_tmp26 = __cil_tmp25 + 8;
3740#line 205
3741 __cil_tmp27 = *((u16 *)__cil_tmp26);
3742#line 205
3743 __cil_tmp28 = (int )__cil_tmp27;
3744#line 205
3745 __cil_tmp29 = (unsigned long )v;
3746#line 205
3747 __cil_tmp30 = __cil_tmp29 + 10;
3748#line 205
3749 __cil_tmp31 = *((u16 *)__cil_tmp30);
3750#line 205
3751 __cil_tmp32 = (int )__cil_tmp31;
3752#line 205
3753 __cil_tmp33 = (unsigned long )v;
3754#line 205
3755 __cil_tmp34 = __cil_tmp33 + 12;
3756#line 205
3757 __cil_tmp35 = *((u8 *)__cil_tmp34);
3758#line 205
3759 __cil_tmp36 = (int )__cil_tmp35;
3760#line 205
3761 sprintf(__cil_tmp17, "%x:%x:%x.%x vendor_id=%x device_id=%x rev_id=%x\n", __cil_tmp18,
3762 __cil_tmp20, __cil_tmp22, __cil_tmp24, __cil_tmp28, __cil_tmp32, __cil_tmp36);
3763#line 209
3764 __cil_tmp37 = (void *)v;
3765#line 209
3766 __cil_tmp38 = (acpi_size )16UL;
3767#line 209
3768 acpi_os_unmap_memory(__cil_tmp37, __cil_tmp38);
3769 }
3770#line 210
3771 return;
3772}
3773}
3774#line 212 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/56/dscv_tempdir/dscv/ri/32_1/drivers/acpi/apei/einj.c.common.c"
3775static void *einj_get_parameter_address(void)
3776{ int i ;
3777 u64 paddrv4 ;
3778 u64 paddrv5 ;
3779 struct acpi_whea_header *entry ;
3780 size_t __len ;
3781 void *__ret ;
3782 size_t __len___0 ;
3783 void *__ret___0 ;
3784 struct set_error_type_with_address *v5param ;
3785 void *tmp___7 ;
3786 struct einj_parameter *v4param ;
3787 void *tmp___8 ;
3788 u64 *__cil_tmp13 ;
3789 u64 *__cil_tmp14 ;
3790 struct acpi_table_einj **__cil_tmp15 ;
3791 struct acpi_table_einj *__cil_tmp16 ;
3792 char *__cil_tmp17 ;
3793 char *__cil_tmp18 ;
3794 struct acpi_table_einj **__cil_tmp19 ;
3795 struct acpi_table_einj *__cil_tmp20 ;
3796 unsigned long __cil_tmp21 ;
3797 unsigned long __cil_tmp22 ;
3798 u32 __cil_tmp23 ;
3799 u32 __cil_tmp24 ;
3800 u8 __cil_tmp25 ;
3801 int __cil_tmp26 ;
3802 unsigned long __cil_tmp27 ;
3803 unsigned long __cil_tmp28 ;
3804 u8 __cil_tmp29 ;
3805 int __cil_tmp30 ;
3806 unsigned long __cil_tmp31 ;
3807 unsigned long __cil_tmp32 ;
3808 u8 __cil_tmp33 ;
3809 int __cil_tmp34 ;
3810 void *__cil_tmp35 ;
3811 unsigned long __cil_tmp36 ;
3812 unsigned long __cil_tmp37 ;
3813 unsigned long __cil_tmp38 ;
3814 u64 *__cil_tmp39 ;
3815 void const *__cil_tmp40 ;
3816 void *__cil_tmp41 ;
3817 unsigned long __cil_tmp42 ;
3818 unsigned long __cil_tmp43 ;
3819 unsigned long __cil_tmp44 ;
3820 u64 *__cil_tmp45 ;
3821 void const *__cil_tmp46 ;
3822 u8 __cil_tmp47 ;
3823 int __cil_tmp48 ;
3824 unsigned long __cil_tmp49 ;
3825 unsigned long __cil_tmp50 ;
3826 u8 __cil_tmp51 ;
3827 int __cil_tmp52 ;
3828 unsigned long __cil_tmp53 ;
3829 unsigned long __cil_tmp54 ;
3830 u8 __cil_tmp55 ;
3831 int __cil_tmp56 ;
3832 void *__cil_tmp57 ;
3833 unsigned long __cil_tmp58 ;
3834 unsigned long __cil_tmp59 ;
3835 unsigned long __cil_tmp60 ;
3836 u64 *__cil_tmp61 ;
3837 void const *__cil_tmp62 ;
3838 void *__cil_tmp63 ;
3839 unsigned long __cil_tmp64 ;
3840 unsigned long __cil_tmp65 ;
3841 unsigned long __cil_tmp66 ;
3842 u64 *__cil_tmp67 ;
3843 void const *__cil_tmp68 ;
3844 u64 *__cil_tmp69 ;
3845 u64 *__cil_tmp70 ;
3846 u64 __cil_tmp71 ;
3847 acpi_size __cil_tmp72 ;
3848 u64 *__cil_tmp73 ;
3849 u64 __cil_tmp74 ;
3850 bool *__cil_tmp75 ;
3851 u64 *__cil_tmp76 ;
3852 u64 *__cil_tmp77 ;
3853 u64 __cil_tmp78 ;
3854 acpi_size __cil_tmp79 ;
3855 unsigned long __cil_tmp80 ;
3856 unsigned long __cil_tmp81 ;
3857 void *__cil_tmp82 ;
3858 acpi_size __cil_tmp83 ;
3859 unsigned long __cil_tmp84 ;
3860 unsigned long __cil_tmp85 ;
3861 void *__cil_tmp86 ;
3862 acpi_size __cil_tmp87 ;
3863
3864 {
3865#line 215
3866 __cil_tmp13 = & paddrv4;
3867#line 215
3868 *__cil_tmp13 = (u64 )0;
3869#line 215
3870 __cil_tmp14 = & paddrv5;
3871#line 215
3872 *__cil_tmp14 = (u64 )0;
3873#line 218
3874 __cil_tmp15 = & einj_tab;
3875#line 218
3876 __cil_tmp16 = *__cil_tmp15;
3877#line 218
3878 __cil_tmp17 = (char *)__cil_tmp16;
3879#line 218
3880 __cil_tmp18 = __cil_tmp17 + 48UL;
3881#line 218
3882 entry = (struct acpi_whea_header *)__cil_tmp18;
3883#line 219
3884 i = 0;
3885 {
3886#line 219
3887 while (1) {
3888 while_continue: ;
3889 {
3890#line 219
3891 __cil_tmp19 = & einj_tab;
3892#line 219
3893 __cil_tmp20 = *__cil_tmp19;
3894#line 219
3895 __cil_tmp21 = (unsigned long )__cil_tmp20;
3896#line 219
3897 __cil_tmp22 = __cil_tmp21 + 44;
3898#line 219
3899 __cil_tmp23 = *((u32 *)__cil_tmp22);
3900#line 219
3901 __cil_tmp24 = (u32 )i;
3902#line 219
3903 if (__cil_tmp24 < __cil_tmp23) {
3904
3905 } else {
3906#line 219
3907 goto while_break;
3908 }
3909 }
3910 {
3911#line 220
3912 __cil_tmp25 = *((u8 *)entry);
3913#line 220
3914 __cil_tmp26 = (int )__cil_tmp25;
3915#line 220
3916 if (__cil_tmp26 == 2) {
3917 {
3918#line 220
3919 __cil_tmp27 = (unsigned long )entry;
3920#line 220
3921 __cil_tmp28 = __cil_tmp27 + 1;
3922#line 220
3923 __cil_tmp29 = *((u8 *)__cil_tmp28);
3924#line 220
3925 __cil_tmp30 = (int )__cil_tmp29;
3926#line 220
3927 if (__cil_tmp30 == 2) {
3928 {
3929#line 220
3930 __cil_tmp31 = (unsigned long )entry;
3931#line 220
3932 __cil_tmp32 = __cil_tmp31 + 8;
3933#line 220
3934 __cil_tmp33 = *((u8 *)__cil_tmp32);
3935#line 220
3936 __cil_tmp34 = (int )__cil_tmp33;
3937#line 220
3938 if (__cil_tmp34 == 0) {
3939#line 224
3940 __len = 8UL;
3941#line 224
3942 if (__len >= 64UL) {
3943 {
3944#line 224
3945 __cil_tmp35 = (void *)(& paddrv4);
3946#line 224
3947 __cil_tmp36 = 8 + 8;
3948#line 224
3949 __cil_tmp37 = (unsigned long )entry;
3950#line 224
3951 __cil_tmp38 = __cil_tmp37 + __cil_tmp36;
3952#line 224
3953 __cil_tmp39 = (u64 *)__cil_tmp38;
3954#line 224
3955 __cil_tmp40 = (void const *)__cil_tmp39;
3956#line 224
3957 __ret = __memcpy(__cil_tmp35, __cil_tmp40, __len);
3958 }
3959 } else {
3960 {
3961#line 224
3962 __cil_tmp41 = (void *)(& paddrv4);
3963#line 224
3964 __cil_tmp42 = 8 + 8;
3965#line 224
3966 __cil_tmp43 = (unsigned long )entry;
3967#line 224
3968 __cil_tmp44 = __cil_tmp43 + __cil_tmp42;
3969#line 224
3970 __cil_tmp45 = (u64 *)__cil_tmp44;
3971#line 224
3972 __cil_tmp46 = (void const *)__cil_tmp45;
3973#line 224
3974 __ret = __builtin_memcpy(__cil_tmp41, __cil_tmp46, __len);
3975 }
3976 }
3977 } else {
3978
3979 }
3980 }
3981 } else {
3982
3983 }
3984 }
3985 } else {
3986
3987 }
3988 }
3989 {
3990#line 226
3991 __cil_tmp47 = *((u8 *)entry);
3992#line 226
3993 __cil_tmp48 = (int )__cil_tmp47;
3994#line 226
3995 if (__cil_tmp48 == 8) {
3996 {
3997#line 226
3998 __cil_tmp49 = (unsigned long )entry;
3999#line 226
4000 __cil_tmp50 = __cil_tmp49 + 1;
4001#line 226
4002 __cil_tmp51 = *((u8 *)__cil_tmp50);
4003#line 226
4004 __cil_tmp52 = (int )__cil_tmp51;
4005#line 226
4006 if (__cil_tmp52 == 2) {
4007 {
4008#line 226
4009 __cil_tmp53 = (unsigned long )entry;
4010#line 226
4011 __cil_tmp54 = __cil_tmp53 + 8;
4012#line 226
4013 __cil_tmp55 = *((u8 *)__cil_tmp54);
4014#line 226
4015 __cil_tmp56 = (int )__cil_tmp55;
4016#line 226
4017 if (__cil_tmp56 == 0) {
4018#line 230
4019 __len___0 = 8UL;
4020#line 230
4021 if (__len___0 >= 64UL) {
4022 {
4023#line 230
4024 __cil_tmp57 = (void *)(& paddrv5);
4025#line 230
4026 __cil_tmp58 = 8 + 8;
4027#line 230
4028 __cil_tmp59 = (unsigned long )entry;
4029#line 230
4030 __cil_tmp60 = __cil_tmp59 + __cil_tmp58;
4031#line 230
4032 __cil_tmp61 = (u64 *)__cil_tmp60;
4033#line 230
4034 __cil_tmp62 = (void const *)__cil_tmp61;
4035#line 230
4036 __ret___0 = __memcpy(__cil_tmp57, __cil_tmp62, __len___0);
4037 }
4038 } else {
4039 {
4040#line 230
4041 __cil_tmp63 = (void *)(& paddrv5);
4042#line 230
4043 __cil_tmp64 = 8 + 8;
4044#line 230
4045 __cil_tmp65 = (unsigned long )entry;
4046#line 230
4047 __cil_tmp66 = __cil_tmp65 + __cil_tmp64;
4048#line 230
4049 __cil_tmp67 = (u64 *)__cil_tmp66;
4050#line 230
4051 __cil_tmp68 = (void const *)__cil_tmp67;
4052#line 230
4053 __ret___0 = __builtin_memcpy(__cil_tmp63, __cil_tmp68, __len___0);
4054 }
4055 }
4056 } else {
4057
4058 }
4059 }
4060 } else {
4061
4062 }
4063 }
4064 } else {
4065
4066 }
4067 }
4068#line 232
4069 entry = entry + 1;
4070#line 219
4071 i = i + 1;
4072 }
4073 while_break: ;
4074 }
4075 {
4076#line 234
4077 __cil_tmp69 = & paddrv5;
4078#line 234
4079 if (*__cil_tmp69) {
4080 {
4081#line 237
4082 __cil_tmp70 = & paddrv5;
4083#line 237
4084 __cil_tmp71 = *__cil_tmp70;
4085#line 237
4086 __cil_tmp72 = (acpi_size )40UL;
4087#line 237
4088 tmp___7 = acpi_os_map_memory(__cil_tmp71, __cil_tmp72);
4089#line 237
4090 v5param = (struct set_error_type_with_address *)tmp___7;
4091 }
4092#line 238
4093 if (v5param) {
4094 {
4095#line 239
4096 acpi5 = 1;
4097#line 240
4098 __cil_tmp73 = & paddrv5;
4099#line 240
4100 __cil_tmp74 = *__cil_tmp73;
4101#line 240
4102 check_vendor_extension(__cil_tmp74, v5param);
4103 }
4104#line 241
4105 return ((void *)v5param);
4106 } else {
4107
4108 }
4109 } else {
4110
4111 }
4112 }
4113 {
4114#line 244
4115 __cil_tmp75 = & param_extension;
4116#line 244
4117 if (*__cil_tmp75) {
4118 {
4119#line 244
4120 __cil_tmp76 = & paddrv4;
4121#line 244
4122 if (*__cil_tmp76) {
4123 {
4124#line 247
4125 __cil_tmp77 = & paddrv4;
4126#line 247
4127 __cil_tmp78 = *__cil_tmp77;
4128#line 247
4129 __cil_tmp79 = (acpi_size )40UL;
4130#line 247
4131 tmp___8 = acpi_os_map_memory(__cil_tmp78, __cil_tmp79);
4132#line 247
4133 v4param = (struct einj_parameter *)tmp___8;
4134 }
4135#line 248
4136 if (! v4param) {
4137#line 249
4138 return ((void *)0);
4139 } else {
4140
4141 }
4142 {
4143#line 250
4144 __cil_tmp80 = (unsigned long )v4param;
4145#line 250
4146 __cil_tmp81 = __cil_tmp80 + 8;
4147#line 250
4148 if (*((u64 *)__cil_tmp81)) {
4149 {
4150#line 251
4151 __cil_tmp82 = (void *)v4param;
4152#line 251
4153 __cil_tmp83 = (acpi_size )40UL;
4154#line 251
4155 acpi_os_unmap_memory(__cil_tmp82, __cil_tmp83);
4156 }
4157#line 252
4158 return ((void *)0);
4159 } else {
4160 {
4161#line 250
4162 __cil_tmp84 = (unsigned long )v4param;
4163#line 250
4164 __cil_tmp85 = __cil_tmp84 + 16;
4165#line 250
4166 if (*((u64 *)__cil_tmp85)) {
4167 {
4168#line 251
4169 __cil_tmp86 = (void *)v4param;
4170#line 251
4171 __cil_tmp87 = (acpi_size )40UL;
4172#line 251
4173 acpi_os_unmap_memory(__cil_tmp86, __cil_tmp87);
4174 }
4175#line 252
4176 return ((void *)0);
4177 } else {
4178
4179 }
4180 }
4181 }
4182 }
4183#line 254
4184 return ((void *)v4param);
4185 } else {
4186
4187 }
4188 }
4189 } else {
4190
4191 }
4192 }
4193#line 257
4194 return ((void *)0);
4195}
4196}
4197#line 261 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/56/dscv_tempdir/dscv/ri/32_1/drivers/acpi/apei/einj.c.common.c"
4198static int einj_check_trigger_header(struct acpi_einj_trigger *trigger_tab )
4199{ u32 __cil_tmp2 ;
4200 unsigned long __cil_tmp3 ;
4201 unsigned long __cil_tmp4 ;
4202 unsigned long __cil_tmp5 ;
4203 unsigned long __cil_tmp6 ;
4204 u32 __cil_tmp7 ;
4205 unsigned long __cil_tmp8 ;
4206 u32 __cil_tmp9 ;
4207 unsigned long __cil_tmp10 ;
4208 unsigned long __cil_tmp11 ;
4209 u32 __cil_tmp12 ;
4210 u32 __cil_tmp13 ;
4211 unsigned long __cil_tmp14 ;
4212 unsigned long __cil_tmp15 ;
4213 u32 __cil_tmp16 ;
4214 u32 __cil_tmp17 ;
4215 unsigned long __cil_tmp18 ;
4216 unsigned long __cil_tmp19 ;
4217 unsigned long __cil_tmp20 ;
4218 unsigned long __cil_tmp21 ;
4219 u32 __cil_tmp22 ;
4220 unsigned long __cil_tmp23 ;
4221
4222 {
4223 {
4224#line 263
4225 __cil_tmp2 = *((u32 *)trigger_tab);
4226#line 263
4227 __cil_tmp3 = (unsigned long )__cil_tmp2;
4228#line 263
4229 if (__cil_tmp3 != 16UL) {
4230#line 264
4231 return (-22);
4232 } else {
4233
4234 }
4235 }
4236 {
4237#line 265
4238 __cil_tmp4 = 1UL << 12;
4239#line 265
4240 __cil_tmp5 = (unsigned long )trigger_tab;
4241#line 265
4242 __cil_tmp6 = __cil_tmp5 + 8;
4243#line 265
4244 __cil_tmp7 = *((u32 *)__cil_tmp6);
4245#line 265
4246 __cil_tmp8 = (unsigned long )__cil_tmp7;
4247#line 265
4248 if (__cil_tmp8 > __cil_tmp4) {
4249#line 267
4250 return (-22);
4251 } else {
4252 {
4253#line 265
4254 __cil_tmp9 = *((u32 *)trigger_tab);
4255#line 265
4256 __cil_tmp10 = (unsigned long )trigger_tab;
4257#line 265
4258 __cil_tmp11 = __cil_tmp10 + 8;
4259#line 265
4260 __cil_tmp12 = *((u32 *)__cil_tmp11);
4261#line 265
4262 if (__cil_tmp12 < __cil_tmp9) {
4263#line 267
4264 return (-22);
4265 } else {
4266
4267 }
4268 }
4269 }
4270 }
4271 {
4272#line 268
4273 __cil_tmp13 = *((u32 *)trigger_tab);
4274#line 268
4275 __cil_tmp14 = (unsigned long )trigger_tab;
4276#line 268
4277 __cil_tmp15 = __cil_tmp14 + 8;
4278#line 268
4279 __cil_tmp16 = *((u32 *)__cil_tmp15);
4280#line 268
4281 __cil_tmp17 = __cil_tmp16 - __cil_tmp13;
4282#line 268
4283 __cil_tmp18 = (unsigned long )__cil_tmp17;
4284#line 268
4285 __cil_tmp19 = __cil_tmp18 / 40UL;
4286#line 268
4287 __cil_tmp20 = (unsigned long )trigger_tab;
4288#line 268
4289 __cil_tmp21 = __cil_tmp20 + 12;
4290#line 268
4291 __cil_tmp22 = *((u32 *)__cil_tmp21);
4292#line 268
4293 __cil_tmp23 = (unsigned long )__cil_tmp22;
4294#line 268
4295 if (__cil_tmp23 != __cil_tmp19) {
4296#line 271
4297 return (-22);
4298 } else {
4299
4300 }
4301 }
4302#line 273
4303 return (0);
4304}
4305}
4306#line 276 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/56/dscv_tempdir/dscv/ri/32_1/drivers/acpi/apei/einj.c.common.c"
4307static struct acpi_generic_address *einj_get_trigger_parameter_region(struct acpi_einj_trigger *trigger_tab ,
4308 u64 param1 ,
4309 u64 param2 )
4310{ int i ;
4311 struct acpi_whea_header *entry ;
4312 char *__cil_tmp6 ;
4313 char *__cil_tmp7 ;
4314 unsigned long __cil_tmp8 ;
4315 unsigned long __cil_tmp9 ;
4316 u32 __cil_tmp10 ;
4317 u32 __cil_tmp11 ;
4318 u8 __cil_tmp12 ;
4319 int __cil_tmp13 ;
4320 unsigned long __cil_tmp14 ;
4321 unsigned long __cil_tmp15 ;
4322 u8 __cil_tmp16 ;
4323 int __cil_tmp17 ;
4324 unsigned long __cil_tmp18 ;
4325 unsigned long __cil_tmp19 ;
4326 u8 __cil_tmp20 ;
4327 int __cil_tmp21 ;
4328 unsigned long long __cil_tmp22 ;
4329 unsigned long __cil_tmp23 ;
4330 unsigned long __cil_tmp24 ;
4331 unsigned long __cil_tmp25 ;
4332 u64 __cil_tmp26 ;
4333 unsigned long long __cil_tmp27 ;
4334 unsigned long __cil_tmp28 ;
4335 unsigned long __cil_tmp29 ;
4336 void *__cil_tmp30 ;
4337
4338 {
4339#line 282
4340 __cil_tmp6 = (char *)trigger_tab;
4341#line 282
4342 __cil_tmp7 = __cil_tmp6 + 16UL;
4343#line 282
4344 entry = (struct acpi_whea_header *)__cil_tmp7;
4345#line 284
4346 i = 0;
4347 {
4348#line 284
4349 while (1) {
4350 while_continue: ;
4351 {
4352#line 284
4353 __cil_tmp8 = (unsigned long )trigger_tab;
4354#line 284
4355 __cil_tmp9 = __cil_tmp8 + 12;
4356#line 284
4357 __cil_tmp10 = *((u32 *)__cil_tmp9);
4358#line 284
4359 __cil_tmp11 = (u32 )i;
4360#line 284
4361 if (__cil_tmp11 < __cil_tmp10) {
4362
4363 } else {
4364#line 284
4365 goto while_break;
4366 }
4367 }
4368 {
4369#line 285
4370 __cil_tmp12 = *((u8 *)entry);
4371#line 285
4372 __cil_tmp13 = (int )__cil_tmp12;
4373#line 285
4374 if (__cil_tmp13 == 255) {
4375 {
4376#line 285
4377 __cil_tmp14 = (unsigned long )entry;
4378#line 285
4379 __cil_tmp15 = __cil_tmp14 + 1;
4380#line 285
4381 __cil_tmp16 = *((u8 *)__cil_tmp15);
4382#line 285
4383 __cil_tmp17 = (int )__cil_tmp16;
4384#line 285
4385 if (__cil_tmp17 == 3) {
4386 {
4387#line 285
4388 __cil_tmp18 = (unsigned long )entry;
4389#line 285
4390 __cil_tmp19 = __cil_tmp18 + 8;
4391#line 285
4392 __cil_tmp20 = *((u8 *)__cil_tmp19);
4393#line 285
4394 __cil_tmp21 = (int )__cil_tmp20;
4395#line 285
4396 if (__cil_tmp21 == 0) {
4397 {
4398#line 285
4399 __cil_tmp22 = param1 & param2;
4400#line 285
4401 __cil_tmp23 = 8 + 8;
4402#line 285
4403 __cil_tmp24 = (unsigned long )entry;
4404#line 285
4405 __cil_tmp25 = __cil_tmp24 + __cil_tmp23;
4406#line 285
4407 __cil_tmp26 = *((u64 *)__cil_tmp25);
4408#line 285
4409 __cil_tmp27 = __cil_tmp26 & param2;
4410#line 285
4411 if (__cil_tmp27 == __cil_tmp22) {
4412 {
4413#line 290
4414 __cil_tmp28 = (unsigned long )entry;
4415#line 290
4416 __cil_tmp29 = __cil_tmp28 + 8;
4417#line 290
4418 return ((struct acpi_generic_address *)__cil_tmp29);
4419 }
4420 } else {
4421
4422 }
4423 }
4424 } else {
4425
4426 }
4427 }
4428 } else {
4429
4430 }
4431 }
4432 } else {
4433
4434 }
4435 }
4436#line 291
4437 entry = entry + 1;
4438#line 284
4439 i = i + 1;
4440 }
4441 while_break: ;
4442 }
4443 {
4444#line 294
4445 __cil_tmp30 = (void *)0;
4446#line 294
4447 return ((struct acpi_generic_address *)__cil_tmp30);
4448 }
4449}
4450}
4451#line 297 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/56/dscv_tempdir/dscv/ri/32_1/drivers/acpi/apei/einj.c.common.c"
4452static int __einj_error_trigger(u64 trigger_paddr , u32 type , u64 param1 , u64 param2 )
4453{ struct acpi_einj_trigger *trigger_tab ;
4454 struct apei_exec_context trigger_ctx ;
4455 struct apei_resources trigger_resources ;
4456 struct acpi_whea_header *trigger_entry ;
4457 struct resource *r ;
4458 u32 table_size ;
4459 int rc ;
4460 struct acpi_generic_address *trigger_param_region ;
4461 void *tmp___7 ;
4462 void *tmp___8 ;
4463 struct apei_resources addr_resources ;
4464 void *__cil_tmp16 ;
4465 void *__cil_tmp17 ;
4466 resource_size_t __cil_tmp18 ;
4467 unsigned long long __cil_tmp19 ;
4468 unsigned long long __cil_tmp20 ;
4469 unsigned long long __cil_tmp21 ;
4470 unsigned long __cil_tmp22 ;
4471 unsigned long __cil_tmp23 ;
4472 u32 __cil_tmp24 ;
4473 unsigned long __cil_tmp25 ;
4474 unsigned long __cil_tmp26 ;
4475 u64 __cil_tmp27 ;
4476 u64 __cil_tmp28 ;
4477 unsigned long __cil_tmp29 ;
4478 unsigned long __cil_tmp30 ;
4479 resource_size_t __cil_tmp31 ;
4480 unsigned long long __cil_tmp32 ;
4481 unsigned long long __cil_tmp33 ;
4482 unsigned long long __cil_tmp34 ;
4483 unsigned long long __cil_tmp35 ;
4484 unsigned long long __cil_tmp36 ;
4485 void volatile *__cil_tmp37 ;
4486 unsigned long __cil_tmp38 ;
4487 char *__cil_tmp39 ;
4488 char *__cil_tmp40 ;
4489 unsigned long __cil_tmp41 ;
4490 unsigned long __cil_tmp42 ;
4491 struct apei_exec_ins_type *__cil_tmp43 ;
4492 unsigned long __cil_tmp44 ;
4493 unsigned long __cil_tmp45 ;
4494 u32 __cil_tmp46 ;
4495 unsigned long __cil_tmp47 ;
4496 unsigned long __cil_tmp48 ;
4497 u32 __cil_tmp49 ;
4498 bool *__cil_tmp50 ;
4499 unsigned long __cil_tmp51 ;
4500 unsigned long __cil_tmp52 ;
4501 u64 __cil_tmp53 ;
4502 unsigned long __cil_tmp54 ;
4503 unsigned long __cil_tmp55 ;
4504 unsigned long __cil_tmp56 ;
4505 u8 __cil_tmp57 ;
4506 int __cil_tmp58 ;
4507 int __cil_tmp59 ;
4508 unsigned long __cil_tmp60 ;
4509 bool __cil_tmp61 ;
4510 u8 __cil_tmp62 ;
4511 u64 __cil_tmp63 ;
4512 u64 __cil_tmp64 ;
4513 unsigned long __cil_tmp65 ;
4514 unsigned long __cil_tmp66 ;
4515 resource_size_t __cil_tmp67 ;
4516 resource_size_t __cil_tmp68 ;
4517 void volatile *__cil_tmp69 ;
4518
4519 {
4520 {
4521#line 300
4522 __cil_tmp16 = (void *)0;
4523#line 300
4524 trigger_tab = (struct acpi_einj_trigger *)__cil_tmp16;
4525#line 306
4526 rc = -5;
4527#line 307
4528 __cil_tmp17 = (void *)0;
4529#line 307
4530 trigger_param_region = (struct acpi_generic_address *)__cil_tmp17;
4531#line 309
4532 __cil_tmp18 = (resource_size_t )16UL;
4533#line 309
4534 r = __request_region(& iomem_resource, trigger_paddr, __cil_tmp18, "APEI EINJ Trigger Table",
4535 0);
4536 }
4537#line 311
4538 if (! r) {
4539 {
4540#line 312
4541 __cil_tmp19 = (unsigned long long )16UL;
4542#line 312
4543 __cil_tmp20 = trigger_paddr + __cil_tmp19;
4544#line 312
4545 __cil_tmp21 = __cil_tmp20 - 1ULL;
4546#line 312
4547 printk("<3>EINJ: Can not request [mem %#010llx-%#010llx] for Trigger table\n",
4548 trigger_paddr, __cil_tmp21);
4549 }
4550#line 317
4551 goto out;
4552 } else {
4553
4554 }
4555 {
4556#line 319
4557 tmp___7 = ioremap_cache(trigger_paddr, 16UL);
4558#line 319
4559 trigger_tab = (struct acpi_einj_trigger *)tmp___7;
4560 }
4561#line 320
4562 if (! trigger_tab) {
4563 {
4564#line 321
4565 printk("<3>EINJ: Failed to map trigger table!\n");
4566 }
4567#line 322
4568 goto out_rel_header;
4569 } else {
4570
4571 }
4572 {
4573#line 324
4574 rc = einj_check_trigger_header(trigger_tab);
4575 }
4576#line 325
4577 if (rc) {
4578 {
4579#line 326
4580 printk("<4>[Firmware Bug]: EINJ: The trigger error action table is invalid\n");
4581 }
4582#line 328
4583 goto out_rel_header;
4584 } else {
4585
4586 }
4587 {
4588#line 332
4589 __cil_tmp22 = (unsigned long )trigger_tab;
4590#line 332
4591 __cil_tmp23 = __cil_tmp22 + 12;
4592#line 332
4593 __cil_tmp24 = *((u32 *)__cil_tmp23);
4594#line 332
4595 if (! __cil_tmp24) {
4596#line 333
4597 goto out_rel_header;
4598 } else {
4599
4600 }
4601 }
4602 {
4603#line 335
4604 rc = -5;
4605#line 336
4606 __cil_tmp25 = (unsigned long )trigger_tab;
4607#line 336
4608 __cil_tmp26 = __cil_tmp25 + 8;
4609#line 336
4610 table_size = *((u32 *)__cil_tmp26);
4611#line 337
4612 __cil_tmp27 = (u64 )16UL;
4613#line 337
4614 __cil_tmp28 = trigger_paddr + __cil_tmp27;
4615#line 337
4616 __cil_tmp29 = (unsigned long )table_size;
4617#line 337
4618 __cil_tmp30 = __cil_tmp29 - 16UL;
4619#line 337
4620 __cil_tmp31 = (resource_size_t )__cil_tmp30;
4621#line 337
4622 r = __request_region(& iomem_resource, __cil_tmp28, __cil_tmp31, "APEI EINJ Trigger Table",
4623 0);
4624 }
4625#line 340
4626 if (! r) {
4627 {
4628#line 341
4629 __cil_tmp32 = (unsigned long long )16UL;
4630#line 341
4631 __cil_tmp33 = trigger_paddr + __cil_tmp32;
4632#line 341
4633 __cil_tmp34 = (unsigned long long )table_size;
4634#line 341
4635 __cil_tmp35 = trigger_paddr + __cil_tmp34;
4636#line 341
4637 __cil_tmp36 = __cil_tmp35 - 1ULL;
4638#line 341
4639 printk("<3>EINJ: Can not request [mem %#010llx-%#010llx] for Trigger Table Entry\n",
4640 __cil_tmp33, __cil_tmp36);
4641 }
4642#line 345
4643 goto out_rel_header;
4644 } else {
4645
4646 }
4647 {
4648#line 347
4649 __cil_tmp37 = (void volatile *)trigger_tab;
4650#line 347
4651 iounmap(__cil_tmp37);
4652#line 348
4653 __cil_tmp38 = (unsigned long )table_size;
4654#line 348
4655 tmp___8 = ioremap_cache(trigger_paddr, __cil_tmp38);
4656#line 348
4657 trigger_tab = (struct acpi_einj_trigger *)tmp___8;
4658 }
4659#line 349
4660 if (! trigger_tab) {
4661 {
4662#line 350
4663 printk("<3>EINJ: Failed to map trigger table!\n");
4664 }
4665#line 351
4666 goto out_rel_entry;
4667 } else {
4668
4669 }
4670 {
4671#line 353
4672 __cil_tmp39 = (char *)trigger_tab;
4673#line 353
4674 __cil_tmp40 = __cil_tmp39 + 16UL;
4675#line 353
4676 trigger_entry = (struct acpi_whea_header *)__cil_tmp40;
4677#line 355
4678 apei_resources_init(& trigger_resources);
4679#line 356
4680 __cil_tmp41 = 0 * 16UL;
4681#line 356
4682 __cil_tmp42 = (unsigned long )(einj_ins_type) + __cil_tmp41;
4683#line 356
4684 __cil_tmp43 = (struct apei_exec_ins_type *)__cil_tmp42;
4685#line 356
4686 __cil_tmp44 = 80UL / 16UL;
4687#line 356
4688 __cil_tmp45 = __cil_tmp44 + 0UL;
4689#line 356
4690 __cil_tmp46 = (u32 )__cil_tmp45;
4691#line 356
4692 __cil_tmp47 = (unsigned long )trigger_tab;
4693#line 356
4694 __cil_tmp48 = __cil_tmp47 + 12;
4695#line 356
4696 __cil_tmp49 = *((u32 *)__cil_tmp48);
4697#line 356
4698 apei_exec_ctx_init(& trigger_ctx, __cil_tmp43, __cil_tmp46, trigger_entry, __cil_tmp49);
4699#line 359
4700 rc = apei_exec_collect_resources(& trigger_ctx, & trigger_resources);
4701 }
4702#line 360
4703 if (rc) {
4704#line 361
4705 goto out_fini;
4706 } else {
4707
4708 }
4709 {
4710#line 362
4711 rc = apei_resources_sub(& trigger_resources, & einj_resources);
4712 }
4713#line 363
4714 if (rc) {
4715#line 364
4716 goto out_fini;
4717 } else {
4718
4719 }
4720 {
4721#line 371
4722 __cil_tmp50 = & param_extension;
4723#line 371
4724 if (*__cil_tmp50) {
4725#line 371
4726 if (type & 56U) {
4727#line 371
4728 if (param2) {
4729 {
4730#line 373
4731 apei_resources_init(& addr_resources);
4732#line 374
4733 trigger_param_region = einj_get_trigger_parameter_region(trigger_tab, param1,
4734 param2);
4735 }
4736#line 376
4737 if (trigger_param_region) {
4738 {
4739#line 377
4740 __cil_tmp51 = (unsigned long )trigger_param_region;
4741#line 377
4742 __cil_tmp52 = __cil_tmp51 + 8;
4743#line 377
4744 __cil_tmp53 = *((u64 *)__cil_tmp52);
4745#line 377
4746 __cil_tmp54 = (unsigned long )__cil_tmp53;
4747#line 377
4748 __cil_tmp55 = (unsigned long )trigger_param_region;
4749#line 377
4750 __cil_tmp56 = __cil_tmp55 + 1;
4751#line 377
4752 __cil_tmp57 = *((u8 *)__cil_tmp56);
4753#line 377
4754 __cil_tmp58 = (int )__cil_tmp57;
4755#line 377
4756 __cil_tmp59 = __cil_tmp58 / 8;
4757#line 377
4758 __cil_tmp60 = (unsigned long )__cil_tmp59;
4759#line 377
4760 __cil_tmp61 = (bool )1;
4761#line 377
4762 rc = apei_resources_add(& addr_resources, __cil_tmp54, __cil_tmp60, __cil_tmp61);
4763 }
4764#line 380
4765 if (rc) {
4766#line 381
4767 goto out_fini;
4768 } else {
4769
4770 }
4771 {
4772#line 382
4773 rc = apei_resources_sub(& trigger_resources, & addr_resources);
4774 }
4775 } else {
4776
4777 }
4778 {
4779#line 385
4780 apei_resources_fini(& addr_resources);
4781 }
4782#line 386
4783 if (rc) {
4784#line 387
4785 goto out_fini;
4786 } else {
4787
4788 }
4789 } else {
4790
4791 }
4792 } else {
4793
4794 }
4795 } else {
4796
4797 }
4798 }
4799 {
4800#line 389
4801 rc = apei_resources_request(& trigger_resources, "APEI EINJ Trigger");
4802 }
4803#line 390
4804 if (rc) {
4805#line 391
4806 goto out_fini;
4807 } else {
4808
4809 }
4810 {
4811#line 392
4812 rc = apei_exec_pre_map_gars(& trigger_ctx);
4813 }
4814#line 393
4815 if (rc) {
4816#line 394
4817 goto out_release;
4818 } else {
4819
4820 }
4821 {
4822#line 396
4823 __cil_tmp62 = (u8 )255;
4824#line 396
4825 rc = apei_exec_run(& trigger_ctx, __cil_tmp62);
4826#line 398
4827 apei_exec_post_unmap_gars(& trigger_ctx);
4828 }
4829 out_release:
4830 {
4831#line 400
4832 apei_resources_release(& trigger_resources);
4833 }
4834 out_fini:
4835 {
4836#line 402
4837 apei_resources_fini(& trigger_resources);
4838 }
4839 out_rel_entry:
4840 {
4841#line 404
4842 __cil_tmp63 = (u64 )16UL;
4843#line 404
4844 __cil_tmp64 = trigger_paddr + __cil_tmp63;
4845#line 404
4846 __cil_tmp65 = (unsigned long )table_size;
4847#line 404
4848 __cil_tmp66 = __cil_tmp65 - 16UL;
4849#line 404
4850 __cil_tmp67 = (resource_size_t )__cil_tmp66;
4851#line 404
4852 __release_region(& iomem_resource, __cil_tmp64, __cil_tmp67);
4853 }
4854 out_rel_header:
4855 {
4856#line 407
4857 __cil_tmp68 = (resource_size_t )16UL;
4858#line 407
4859 __release_region(& iomem_resource, trigger_paddr, __cil_tmp68);
4860 }
4861 out:
4862#line 409
4863 if (trigger_tab) {
4864 {
4865#line 410
4866 __cil_tmp69 = (void volatile *)trigger_tab;
4867#line 410
4868 iounmap(__cil_tmp69);
4869 }
4870 } else {
4871
4872 }
4873#line 412
4874 return (rc);
4875}
4876}
4877#line 415 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/56/dscv_tempdir/dscv/ri/32_1/drivers/acpi/apei/einj.c.common.c"
4878static int __einj_error_inject(u32 type , u64 param1 , u64 param2 )
4879{ struct apei_exec_context ctx ;
4880 u64 val ;
4881 u64 trigger_paddr ;
4882 u64 timeout ;
4883 int rc ;
4884 struct set_error_type_with_address *v5param ;
4885 struct einj_parameter *v4param ;
4886 int tmp___7 ;
4887 u64 *__cil_tmp12 ;
4888 u8 __cil_tmp13 ;
4889 u64 __cil_tmp14 ;
4890 u32 *__cil_tmp15 ;
4891 u32 __cil_tmp16 ;
4892 unsigned long __cil_tmp17 ;
4893 unsigned long __cil_tmp18 ;
4894 unsigned long __cil_tmp19 ;
4895 unsigned long __cil_tmp20 ;
4896 unsigned long __cil_tmp21 ;
4897 unsigned long __cil_tmp22 ;
4898 unsigned long __cil_tmp23 ;
4899 unsigned long __cil_tmp24 ;
4900 unsigned long __cil_tmp25 ;
4901 unsigned long __cil_tmp26 ;
4902 u32 *__cil_tmp27 ;
4903 unsigned long __cil_tmp28 ;
4904 unsigned long __cil_tmp29 ;
4905 unsigned long __cil_tmp30 ;
4906 unsigned long __cil_tmp31 ;
4907 unsigned long __cil_tmp32 ;
4908 unsigned long __cil_tmp33 ;
4909 unsigned long __cil_tmp34 ;
4910 unsigned long __cil_tmp35 ;
4911 unsigned long __cil_tmp36 ;
4912 unsigned long __cil_tmp37 ;
4913 unsigned long __cil_tmp38 ;
4914 unsigned long __cil_tmp39 ;
4915 unsigned long __cil_tmp40 ;
4916 unsigned long __cil_tmp41 ;
4917 u8 __cil_tmp42 ;
4918 unsigned long __cil_tmp43 ;
4919 unsigned long __cil_tmp44 ;
4920 unsigned long __cil_tmp45 ;
4921 unsigned long __cil_tmp46 ;
4922 u8 __cil_tmp47 ;
4923 u8 __cil_tmp48 ;
4924 unsigned long long __cil_tmp49 ;
4925 u8 __cil_tmp50 ;
4926 u8 __cil_tmp51 ;
4927 u32 *__cil_tmp52 ;
4928 u32 __cil_tmp53 ;
4929 u8 __cil_tmp54 ;
4930
4931 {
4932 {
4933#line 418
4934 __cil_tmp12 = & timeout;
4935#line 418
4936 *__cil_tmp12 = (u64 )1000000L;
4937#line 421
4938 einj_exec_ctx_init(& ctx);
4939#line 423
4940 __cil_tmp13 = (u8 )0;
4941#line 423
4942 rc = apei_exec_run_optional(& ctx, __cil_tmp13);
4943 }
4944#line 424
4945 if (rc) {
4946#line 425
4947 return (rc);
4948 } else {
4949
4950 }
4951 {
4952#line 426
4953 __cil_tmp14 = (u64 )type;
4954#line 426
4955 apei_exec_ctx_set_input(& ctx, __cil_tmp14);
4956 }
4957#line 427
4958 if (acpi5) {
4959#line 428
4960 v5param = (struct set_error_type_with_address *)einj_param;
4961#line 430
4962 *((u32 *)v5param) = type;
4963#line 431
4964 if (type & 2147483648U) {
4965 {
4966#line 432
4967 __cil_tmp15 = & vendor_flags;
4968#line 432
4969 __cil_tmp16 = *__cil_tmp15;
4970#line 433
4971 if ((int )__cil_tmp16 == 1) {
4972#line 433
4973 goto case_1;
4974 } else
4975#line 436
4976 if ((int )__cil_tmp16 == 2) {
4977#line 436
4978 goto case_2;
4979 } else
4980#line 440
4981 if ((int )__cil_tmp16 == 4) {
4982#line 440
4983 goto case_4;
4984 } else
4985#line 432
4986 if (0) {
4987 case_1:
4988#line 434
4989 __cil_tmp17 = (unsigned long )v5param;
4990#line 434
4991 __cil_tmp18 = __cil_tmp17 + 12;
4992#line 434
4993 *((u32 *)__cil_tmp18) = (u32 )param1;
4994#line 435
4995 goto switch_break;
4996 case_2:
4997#line 437
4998 __cil_tmp19 = (unsigned long )v5param;
4999#line 437
5000 __cil_tmp20 = __cil_tmp19 + 16;
5001#line 437
5002 *((u64 *)__cil_tmp20) = param1;
5003#line 438
5004 __cil_tmp21 = (unsigned long )v5param;
5005#line 438
5006 __cil_tmp22 = __cil_tmp21 + 24;
5007#line 438
5008 *((u64 *)__cil_tmp22) = param2;
5009#line 439
5010 goto switch_break;
5011 case_4:
5012#line 441
5013 __cil_tmp23 = (unsigned long )v5param;
5014#line 441
5015 __cil_tmp24 = __cil_tmp23 + 32;
5016#line 441
5017 *((u32 *)__cil_tmp24) = (u32 )param1;
5018#line 442
5019 goto switch_break;
5020 } else {
5021 switch_break: ;
5022 }
5023 }
5024#line 444
5025 __cil_tmp25 = (unsigned long )v5param;
5026#line 444
5027 __cil_tmp26 = __cil_tmp25 + 8;
5028#line 444
5029 __cil_tmp27 = & vendor_flags;
5030#line 444
5031 *((u32 *)__cil_tmp26) = *__cil_tmp27;
5032 } else
5033#line 447
5034 if ((int )type == 1) {
5035#line 447
5036 goto case_1___0;
5037 } else
5038#line 448
5039 if ((int )type == 1 << 1) {
5040#line 448
5041 goto case_1___0;
5042 } else
5043#line 449
5044 if ((int )type == 1 << 2) {
5045#line 449
5046 goto case_1___0;
5047 } else
5048#line 453
5049 if ((int )type == 1 << 3) {
5050#line 453
5051 goto case_exp___1;
5052 } else
5053#line 454
5054 if ((int )type == 1 << 4) {
5055#line 454
5056 goto case_exp___1;
5057 } else
5058#line 455
5059 if ((int )type == 1 << 5) {
5060#line 455
5061 goto case_exp___1;
5062 } else
5063#line 460
5064 if ((int )type == 1 << 6) {
5065#line 460
5066 goto case_exp___4;
5067 } else
5068#line 461
5069 if ((int )type == 1 << 7) {
5070#line 461
5071 goto case_exp___4;
5072 } else
5073#line 462
5074 if ((int )type == 1 << 8) {
5075#line 462
5076 goto case_exp___4;
5077 } else
5078#line 446
5079 if (0) {
5080 case_1___0:
5081 case_exp:
5082 case_exp___0:
5083#line 450
5084 __cil_tmp28 = (unsigned long )v5param;
5085#line 450
5086 __cil_tmp29 = __cil_tmp28 + 12;
5087#line 450
5088 *((u32 *)__cil_tmp29) = (u32 )param1;
5089#line 451
5090 __cil_tmp30 = (unsigned long )v5param;
5091#line 451
5092 __cil_tmp31 = __cil_tmp30 + 8;
5093#line 451
5094 *((u32 *)__cil_tmp31) = (u32 )1;
5095#line 452
5096 goto switch_break___0;
5097 case_exp___1:
5098 case_exp___2:
5099 case_exp___3:
5100#line 456
5101 __cil_tmp32 = (unsigned long )v5param;
5102#line 456
5103 __cil_tmp33 = __cil_tmp32 + 16;
5104#line 456
5105 *((u64 *)__cil_tmp33) = param1;
5106#line 457
5107 __cil_tmp34 = (unsigned long )v5param;
5108#line 457
5109 __cil_tmp35 = __cil_tmp34 + 24;
5110#line 457
5111 *((u64 *)__cil_tmp35) = param2;
5112#line 458
5113 __cil_tmp36 = (unsigned long )v5param;
5114#line 458
5115 __cil_tmp37 = __cil_tmp36 + 8;
5116#line 458
5117 *((u32 *)__cil_tmp37) = (u32 )2;
5118#line 459
5119 goto switch_break___0;
5120 case_exp___4:
5121 case_exp___5:
5122 case_exp___6:
5123#line 463
5124 __cil_tmp38 = (unsigned long )v5param;
5125#line 463
5126 __cil_tmp39 = __cil_tmp38 + 32;
5127#line 463
5128 *((u32 *)__cil_tmp39) = (u32 )param1;
5129#line 464
5130 __cil_tmp40 = (unsigned long )v5param;
5131#line 464
5132 __cil_tmp41 = __cil_tmp40 + 8;
5133#line 464
5134 *((u32 *)__cil_tmp41) = (u32 )4;
5135#line 465
5136 goto switch_break___0;
5137 } else {
5138 switch_break___0: ;
5139 }
5140 } else {
5141 {
5142#line 469
5143 __cil_tmp42 = (u8 )2;
5144#line 469
5145 rc = apei_exec_run(& ctx, __cil_tmp42);
5146 }
5147#line 470
5148 if (rc) {
5149#line 471
5150 return (rc);
5151 } else {
5152
5153 }
5154#line 472
5155 if (einj_param) {
5156#line 473
5157 v4param = (struct einj_parameter *)einj_param;
5158#line 474
5159 __cil_tmp43 = (unsigned long )v4param;
5160#line 474
5161 __cil_tmp44 = __cil_tmp43 + 24;
5162#line 474
5163 *((u64 *)__cil_tmp44) = param1;
5164#line 475
5165 __cil_tmp45 = (unsigned long )v4param;
5166#line 475
5167 __cil_tmp46 = __cil_tmp45 + 32;
5168#line 475
5169 *((u64 *)__cil_tmp46) = param2;
5170 } else {
5171
5172 }
5173 }
5174 {
5175#line 478
5176 __cil_tmp47 = (u8 )5;
5177#line 478
5178 rc = apei_exec_run(& ctx, __cil_tmp47);
5179 }
5180#line 479
5181 if (rc) {
5182#line 480
5183 return (rc);
5184 } else {
5185
5186 }
5187 {
5188#line 481
5189 while (1) {
5190 while_continue: ;
5191 {
5192#line 482
5193 __cil_tmp48 = (u8 )6;
5194#line 482
5195 rc = apei_exec_run(& ctx, __cil_tmp48);
5196 }
5197#line 483
5198 if (rc) {
5199#line 484
5200 return (rc);
5201 } else {
5202
5203 }
5204 {
5205#line 485
5206 val = apei_exec_ctx_get_output(& ctx);
5207 }
5208 {
5209#line 486
5210 __cil_tmp49 = val & 1ULL;
5211#line 486
5212 if (! __cil_tmp49) {
5213#line 487
5214 goto while_break;
5215 } else {
5216
5217 }
5218 }
5219 {
5220#line 488
5221 tmp___7 = einj_timedout(& timeout);
5222 }
5223#line 488
5224 if (tmp___7) {
5225#line 489
5226 return (-5);
5227 } else {
5228
5229 }
5230 }
5231 while_break: ;
5232 }
5233 {
5234#line 491
5235 __cil_tmp50 = (u8 )7;
5236#line 491
5237 rc = apei_exec_run(& ctx, __cil_tmp50);
5238 }
5239#line 492
5240 if (rc) {
5241#line 493
5242 return (rc);
5243 } else {
5244
5245 }
5246 {
5247#line 494
5248 val = apei_exec_ctx_get_output(& ctx);
5249 }
5250#line 495
5251 if (val != 0ULL) {
5252#line 496
5253 return (-16);
5254 } else {
5255
5256 }
5257 {
5258#line 498
5259 __cil_tmp51 = (u8 )1;
5260#line 498
5261 rc = apei_exec_run(& ctx, __cil_tmp51);
5262 }
5263#line 499
5264 if (rc) {
5265#line 500
5266 return (rc);
5267 } else {
5268
5269 }
5270 {
5271#line 501
5272 trigger_paddr = apei_exec_ctx_get_output(& ctx);
5273 }
5274 {
5275#line 502
5276 __cil_tmp52 = & notrigger;
5277#line 502
5278 __cil_tmp53 = *__cil_tmp52;
5279#line 502
5280 if (__cil_tmp53 == 0U) {
5281 {
5282#line 503
5283 rc = __einj_error_trigger(trigger_paddr, type, param1, param2);
5284 }
5285#line 504
5286 if (rc) {
5287#line 505
5288 return (rc);
5289 } else {
5290
5291 }
5292 } else {
5293
5294 }
5295 }
5296 {
5297#line 507
5298 __cil_tmp54 = (u8 )4;
5299#line 507
5300 rc = apei_exec_run_optional(& ctx, __cil_tmp54);
5301 }
5302#line 509
5303 return (rc);
5304}
5305}
5306#line 513 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/56/dscv_tempdir/dscv/ri/32_1/drivers/acpi/apei/einj.c.common.c"
5307static int einj_error_inject(u32 type , u64 param1 , u64 param2 )
5308{ int rc ;
5309
5310 {
5311 {
5312#line 517
5313 mutex_lock(& einj_mutex);
5314#line 518
5315 rc = __einj_error_inject(type, param1, param2);
5316#line 519
5317 mutex_unlock(& einj_mutex);
5318 }
5319#line 521
5320 return (rc);
5321}
5322}
5323#line 524 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/56/dscv_tempdir/dscv/ri/32_1/drivers/acpi/apei/einj.c.common.c"
5324static u32 error_type ;
5325#line 525 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/56/dscv_tempdir/dscv/ri/32_1/drivers/acpi/apei/einj.c.common.c"
5326static u64 error_param1 ;
5327#line 526 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/56/dscv_tempdir/dscv/ri/32_1/drivers/acpi/apei/einj.c.common.c"
5328static u64 error_param2 ;
5329#line 527 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/56/dscv_tempdir/dscv/ri/32_1/drivers/acpi/apei/einj.c.common.c"
5330static struct dentry *einj_debug_dir ;
5331#line 529 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/56/dscv_tempdir/dscv/ri/32_1/drivers/acpi/apei/einj.c.common.c"
5332static int available_error_type_show(struct seq_file *m , void *v )
5333{ int rc ;
5334 u32 available_error_type ;
5335 u32 *__cil_tmp5 ;
5336 u32 *__cil_tmp6 ;
5337 u32 __cil_tmp7 ;
5338 u32 *__cil_tmp8 ;
5339 u32 __cil_tmp9 ;
5340 u32 *__cil_tmp10 ;
5341 u32 __cil_tmp11 ;
5342 u32 *__cil_tmp12 ;
5343 u32 __cil_tmp13 ;
5344 u32 *__cil_tmp14 ;
5345 u32 __cil_tmp15 ;
5346 u32 *__cil_tmp16 ;
5347 u32 __cil_tmp17 ;
5348 u32 *__cil_tmp18 ;
5349 u32 __cil_tmp19 ;
5350 u32 *__cil_tmp20 ;
5351 u32 __cil_tmp21 ;
5352 u32 *__cil_tmp22 ;
5353 u32 __cil_tmp23 ;
5354 u32 *__cil_tmp24 ;
5355 u32 __cil_tmp25 ;
5356 u32 *__cil_tmp26 ;
5357 u32 __cil_tmp27 ;
5358 u32 *__cil_tmp28 ;
5359 u32 __cil_tmp29 ;
5360
5361 {
5362 {
5363#line 532
5364 __cil_tmp5 = & available_error_type;
5365#line 532
5366 *__cil_tmp5 = (u32 )0;
5367#line 534
5368 rc = einj_get_available_error_type(& available_error_type);
5369 }
5370#line 535
5371 if (rc) {
5372#line 536
5373 return (rc);
5374 } else {
5375
5376 }
5377 {
5378#line 537
5379 __cil_tmp6 = & available_error_type;
5380#line 537
5381 __cil_tmp7 = *__cil_tmp6;
5382#line 537
5383 if (__cil_tmp7 & 1U) {
5384 {
5385#line 538
5386 seq_printf(m, "0x00000001\tProcessor Correctable\n");
5387 }
5388 } else {
5389
5390 }
5391 }
5392 {
5393#line 539
5394 __cil_tmp8 = & available_error_type;
5395#line 539
5396 __cil_tmp9 = *__cil_tmp8;
5397#line 539
5398 if (__cil_tmp9 & 2U) {
5399 {
5400#line 540
5401 seq_printf(m, "0x00000002\tProcessor Uncorrectable non-fatal\n");
5402 }
5403 } else {
5404
5405 }
5406 }
5407 {
5408#line 541
5409 __cil_tmp10 = & available_error_type;
5410#line 541
5411 __cil_tmp11 = *__cil_tmp10;
5412#line 541
5413 if (__cil_tmp11 & 4U) {
5414 {
5415#line 542
5416 seq_printf(m, "0x00000004\tProcessor Uncorrectable fatal\n");
5417 }
5418 } else {
5419
5420 }
5421 }
5422 {
5423#line 543
5424 __cil_tmp12 = & available_error_type;
5425#line 543
5426 __cil_tmp13 = *__cil_tmp12;
5427#line 543
5428 if (__cil_tmp13 & 8U) {
5429 {
5430#line 544
5431 seq_printf(m, "0x00000008\tMemory Correctable\n");
5432 }
5433 } else {
5434
5435 }
5436 }
5437 {
5438#line 545
5439 __cil_tmp14 = & available_error_type;
5440#line 545
5441 __cil_tmp15 = *__cil_tmp14;
5442#line 545
5443 if (__cil_tmp15 & 16U) {
5444 {
5445#line 546
5446 seq_printf(m, "0x00000010\tMemory Uncorrectable non-fatal\n");
5447 }
5448 } else {
5449
5450 }
5451 }
5452 {
5453#line 547
5454 __cil_tmp16 = & available_error_type;
5455#line 547
5456 __cil_tmp17 = *__cil_tmp16;
5457#line 547
5458 if (__cil_tmp17 & 32U) {
5459 {
5460#line 548
5461 seq_printf(m, "0x00000020\tMemory Uncorrectable fatal\n");
5462 }
5463 } else {
5464
5465 }
5466 }
5467 {
5468#line 549
5469 __cil_tmp18 = & available_error_type;
5470#line 549
5471 __cil_tmp19 = *__cil_tmp18;
5472#line 549
5473 if (__cil_tmp19 & 64U) {
5474 {
5475#line 550
5476 seq_printf(m, "0x00000040\tPCI Express Correctable\n");
5477 }
5478 } else {
5479
5480 }
5481 }
5482 {
5483#line 551
5484 __cil_tmp20 = & available_error_type;
5485#line 551
5486 __cil_tmp21 = *__cil_tmp20;
5487#line 551
5488 if (__cil_tmp21 & 128U) {
5489 {
5490#line 552
5491 seq_printf(m, "0x00000080\tPCI Express Uncorrectable non-fatal\n");
5492 }
5493 } else {
5494
5495 }
5496 }
5497 {
5498#line 553
5499 __cil_tmp22 = & available_error_type;
5500#line 553
5501 __cil_tmp23 = *__cil_tmp22;
5502#line 553
5503 if (__cil_tmp23 & 256U) {
5504 {
5505#line 554
5506 seq_printf(m, "0x00000100\tPCI Express Uncorrectable fatal\n");
5507 }
5508 } else {
5509
5510 }
5511 }
5512 {
5513#line 555
5514 __cil_tmp24 = & available_error_type;
5515#line 555
5516 __cil_tmp25 = *__cil_tmp24;
5517#line 555
5518 if (__cil_tmp25 & 512U) {
5519 {
5520#line 556
5521 seq_printf(m, "0x00000200\tPlatform Correctable\n");
5522 }
5523 } else {
5524
5525 }
5526 }
5527 {
5528#line 557
5529 __cil_tmp26 = & available_error_type;
5530#line 557
5531 __cil_tmp27 = *__cil_tmp26;
5532#line 557
5533 if (__cil_tmp27 & 1024U) {
5534 {
5535#line 558
5536 seq_printf(m, "0x00000400\tPlatform Uncorrectable non-fatal\n");
5537 }
5538 } else {
5539
5540 }
5541 }
5542 {
5543#line 559
5544 __cil_tmp28 = & available_error_type;
5545#line 559
5546 __cil_tmp29 = *__cil_tmp28;
5547#line 559
5548 if (__cil_tmp29 & 2048U) {
5549 {
5550#line 560
5551 seq_printf(m, "0x00000800\tPlatform Uncorrectable fatal\n");
5552 }
5553 } else {
5554
5555 }
5556 }
5557#line 562
5558 return (0);
5559}
5560}
5561#line 565 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/56/dscv_tempdir/dscv/ri/32_1/drivers/acpi/apei/einj.c.common.c"
5562static int available_error_type_open(struct inode *inode , struct file *file )
5563{ int tmp___7 ;
5564 void *__cil_tmp4 ;
5565
5566 {
5567 {
5568#line 567
5569 __cil_tmp4 = (void *)0;
5570#line 567
5571 tmp___7 = single_open(file, & available_error_type_show, __cil_tmp4);
5572 }
5573#line 567
5574 return (tmp___7);
5575}
5576}
5577#line 570 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/56/dscv_tempdir/dscv/ri/32_1/drivers/acpi/apei/einj.c.common.c"
5578static struct file_operations const available_error_type_fops =
5579#line 570
5580 {(struct module *)0, & seq_lseek, & seq_read, (ssize_t (*)(struct file * , char const * ,
5581 size_t , loff_t * ))0,
5582 (ssize_t (*)(struct kiocb * , struct iovec const * , unsigned long , loff_t ))0,
5583 (ssize_t (*)(struct kiocb * , struct iovec const * , unsigned long , loff_t ))0,
5584 (int (*)(struct file * , void * , int (*)(void * , char const * , int , loff_t ,
5585 u64 , unsigned int ) ))0, (unsigned int (*)(struct file * ,
5586 struct poll_table_struct * ))0,
5587 (long (*)(struct file * , unsigned int , unsigned long ))0, (long (*)(struct file * ,
5588 unsigned int ,
5589 unsigned long ))0,
5590 (int (*)(struct file * , struct vm_area_struct * ))0, & available_error_type_open,
5591 (int (*)(struct file * , fl_owner_t id ))0, & single_release, (int (*)(struct file * ,
5592 loff_t ,
5593 loff_t ,
5594 int datasync ))0,
5595 (int (*)(struct kiocb * , int datasync ))0, (int (*)(int , struct file * , int ))0,
5596 (int (*)(struct file * , int , struct file_lock * ))0, (ssize_t (*)(struct file * ,
5597 struct page * ,
5598 int , size_t ,
5599 loff_t * ,
5600 int ))0,
5601 (unsigned long (*)(struct file * , unsigned long , unsigned long , unsigned long ,
5602 unsigned long ))0, (int (*)(int ))0, (int (*)(struct file * ,
5603 int , struct file_lock * ))0,
5604 (ssize_t (*)(struct pipe_inode_info * , struct file * , loff_t * , size_t , unsigned int ))0,
5605 (ssize_t (*)(struct file * , loff_t * , struct pipe_inode_info * , size_t , unsigned int ))0,
5606 (int (*)(struct file * , long , struct file_lock ** ))0, (long (*)(struct file *file ,
5607 int mode ,
5608 loff_t offset ,
5609 loff_t len ))0};
5610#line 577 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/56/dscv_tempdir/dscv/ri/32_1/drivers/acpi/apei/einj.c.common.c"
5611static int error_type_get(void *data , u64 *val )
5612{
5613
5614 {
5615#line 579
5616 *val = (u64 )error_type;
5617#line 581
5618 return (0);
5619}
5620}
5621#line 584 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/56/dscv_tempdir/dscv/ri/32_1/drivers/acpi/apei/einj.c.common.c"
5622static int error_type_set(void *data , u64 val )
5623{ int rc ;
5624 u32 available_error_type ;
5625 u32 tval ;
5626 u32 vendor ;
5627 u32 *__cil_tmp7 ;
5628 unsigned long long __cil_tmp8 ;
5629 unsigned long long __cil_tmp9 ;
5630 u32 __cil_tmp10 ;
5631 u32 *__cil_tmp11 ;
5632 u32 __cil_tmp12 ;
5633 unsigned long long __cil_tmp13 ;
5634 unsigned long long __cil_tmp14 ;
5635
5636 {
5637#line 587
5638 __cil_tmp7 = & available_error_type;
5639#line 587
5640 *__cil_tmp7 = (u32 )0;
5641#line 594
5642 __cil_tmp8 = val & 0xffffffff80000000ULL;
5643#line 594
5644 vendor = (u32 )__cil_tmp8;
5645#line 595
5646 __cil_tmp9 = val & 2147483647ULL;
5647#line 595
5648 tval = (u32 )__cil_tmp9;
5649 {
5650#line 598
5651 __cil_tmp10 = tval - 1U;
5652#line 598
5653 if (tval & __cil_tmp10) {
5654#line 599
5655 return (-22);
5656 } else {
5657
5658 }
5659 }
5660#line 600
5661 if (! vendor) {
5662 {
5663#line 601
5664 rc = einj_get_available_error_type(& available_error_type);
5665 }
5666#line 602
5667 if (rc) {
5668#line 603
5669 return (rc);
5670 } else {
5671
5672 }
5673 {
5674#line 604
5675 __cil_tmp11 = & available_error_type;
5676#line 604
5677 __cil_tmp12 = *__cil_tmp11;
5678#line 604
5679 __cil_tmp13 = (unsigned long long )__cil_tmp12;
5680#line 604
5681 __cil_tmp14 = val & __cil_tmp13;
5682#line 604
5683 if (! __cil_tmp14) {
5684#line 605
5685 return (-22);
5686 } else {
5687
5688 }
5689 }
5690 } else {
5691
5692 }
5693#line 607
5694 error_type = (u32 )val;
5695#line 609
5696 return (0);
5697}
5698}
5699#line 612 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/56/dscv_tempdir/dscv/ri/32_1/drivers/acpi/apei/einj.c.common.c"
5700static int error_type_fops_open(struct inode *inode , struct file *file )
5701{ int tmp___7 ;
5702
5703 {
5704 {
5705#line 612
5706 __simple_attr_check_format("0x%llx\n", 0ULL);
5707#line 612
5708 tmp___7 = simple_attr_open(inode, file, & error_type_get, & error_type_set, "0x%llx\n");
5709 }
5710#line 612
5711 return (tmp___7);
5712}
5713}
5714#line 612 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/56/dscv_tempdir/dscv/ri/32_1/drivers/acpi/apei/einj.c.common.c"
5715static struct file_operations const error_type_fops =
5716#line 612
5717 {& __this_module, & generic_file_llseek, & simple_attr_read, & simple_attr_write,
5718 (ssize_t (*)(struct kiocb * , struct iovec const * , unsigned long , loff_t ))0,
5719 (ssize_t (*)(struct kiocb * , struct iovec const * , unsigned long , loff_t ))0,
5720 (int (*)(struct file * , void * , int (*)(void * , char const * , int , loff_t ,
5721 u64 , unsigned int ) ))0, (unsigned int (*)(struct file * ,
5722 struct poll_table_struct * ))0,
5723 (long (*)(struct file * , unsigned int , unsigned long ))0, (long (*)(struct file * ,
5724 unsigned int ,
5725 unsigned long ))0,
5726 (int (*)(struct file * , struct vm_area_struct * ))0, & error_type_fops_open,
5727 (int (*)(struct file * , fl_owner_t id ))0, & simple_attr_release, (int (*)(struct file * ,
5728 loff_t ,
5729 loff_t ,
5730 int datasync ))0,
5731 (int (*)(struct kiocb * , int datasync ))0, (int (*)(int , struct file * , int ))0,
5732 (int (*)(struct file * , int , struct file_lock * ))0, (ssize_t (*)(struct file * ,
5733 struct page * ,
5734 int , size_t ,
5735 loff_t * ,
5736 int ))0,
5737 (unsigned long (*)(struct file * , unsigned long , unsigned long , unsigned long ,
5738 unsigned long ))0, (int (*)(int ))0, (int (*)(struct file * ,
5739 int , struct file_lock * ))0,
5740 (ssize_t (*)(struct pipe_inode_info * , struct file * , loff_t * , size_t , unsigned int ))0,
5741 (ssize_t (*)(struct file * , loff_t * , struct pipe_inode_info * , size_t , unsigned int ))0,
5742 (int (*)(struct file * , long , struct file_lock ** ))0, (long (*)(struct file *file ,
5743 int mode ,
5744 loff_t offset ,
5745 loff_t len ))0};
5746#line 615 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/56/dscv_tempdir/dscv/ri/32_1/drivers/acpi/apei/einj.c.common.c"
5747static int error_inject_set(void *data , u64 val )
5748{ int tmp___7 ;
5749 u64 *__cil_tmp4 ;
5750 u64 __cil_tmp5 ;
5751 u64 *__cil_tmp6 ;
5752 u64 __cil_tmp7 ;
5753
5754 {
5755#line 617
5756 if (! error_type) {
5757#line 618
5758 return (-22);
5759 } else {
5760
5761 }
5762 {
5763#line 620
5764 __cil_tmp4 = & error_param1;
5765#line 620
5766 __cil_tmp5 = *__cil_tmp4;
5767#line 620
5768 __cil_tmp6 = & error_param2;
5769#line 620
5770 __cil_tmp7 = *__cil_tmp6;
5771#line 620
5772 tmp___7 = einj_error_inject(error_type, __cil_tmp5, __cil_tmp7);
5773 }
5774#line 620
5775 return (tmp___7);
5776}
5777}
5778#line 623 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/56/dscv_tempdir/dscv/ri/32_1/drivers/acpi/apei/einj.c.common.c"
5779static int error_inject_fops_open(struct inode *inode , struct file *file )
5780{ int tmp___7 ;
5781 void *__cil_tmp4 ;
5782 int (*__cil_tmp5)(void * , u64 * ) ;
5783
5784 {
5785 {
5786#line 623
5787 __simple_attr_check_format("%llu\n", 0ULL);
5788#line 623
5789 __cil_tmp4 = (void *)0;
5790#line 623
5791 __cil_tmp5 = (int (*)(void * , u64 * ))__cil_tmp4;
5792#line 623
5793 tmp___7 = simple_attr_open(inode, file, __cil_tmp5, & error_inject_set, "%llu\n");
5794 }
5795#line 623
5796 return (tmp___7);
5797}
5798}
5799#line 623 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/56/dscv_tempdir/dscv/ri/32_1/drivers/acpi/apei/einj.c.common.c"
5800static struct file_operations const error_inject_fops =
5801#line 623
5802 {& __this_module, & generic_file_llseek, & simple_attr_read, & simple_attr_write,
5803 (ssize_t (*)(struct kiocb * , struct iovec const * , unsigned long , loff_t ))0,
5804 (ssize_t (*)(struct kiocb * , struct iovec const * , unsigned long , loff_t ))0,
5805 (int (*)(struct file * , void * , int (*)(void * , char const * , int , loff_t ,
5806 u64 , unsigned int ) ))0, (unsigned int (*)(struct file * ,
5807 struct poll_table_struct * ))0,
5808 (long (*)(struct file * , unsigned int , unsigned long ))0, (long (*)(struct file * ,
5809 unsigned int ,
5810 unsigned long ))0,
5811 (int (*)(struct file * , struct vm_area_struct * ))0, & error_inject_fops_open,
5812 (int (*)(struct file * , fl_owner_t id ))0, & simple_attr_release, (int (*)(struct file * ,
5813 loff_t ,
5814 loff_t ,
5815 int datasync ))0,
5816 (int (*)(struct kiocb * , int datasync ))0, (int (*)(int , struct file * , int ))0,
5817 (int (*)(struct file * , int , struct file_lock * ))0, (ssize_t (*)(struct file * ,
5818 struct page * ,
5819 int , size_t ,
5820 loff_t * ,
5821 int ))0,
5822 (unsigned long (*)(struct file * , unsigned long , unsigned long , unsigned long ,
5823 unsigned long ))0, (int (*)(int ))0, (int (*)(struct file * ,
5824 int , struct file_lock * ))0,
5825 (ssize_t (*)(struct pipe_inode_info * , struct file * , loff_t * , size_t , unsigned int ))0,
5826 (ssize_t (*)(struct file * , loff_t * , struct pipe_inode_info * , size_t , unsigned int ))0,
5827 (int (*)(struct file * , long , struct file_lock ** ))0, (long (*)(struct file *file ,
5828 int mode ,
5829 loff_t offset ,
5830 loff_t len ))0};
5831#line 626 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/56/dscv_tempdir/dscv/ri/32_1/drivers/acpi/apei/einj.c.common.c"
5832static int einj_check_table(struct acpi_table_einj *einj_tab___0 )
5833{ unsigned long __cil_tmp2 ;
5834 unsigned long __cil_tmp3 ;
5835 unsigned long __cil_tmp4 ;
5836 u32 __cil_tmp5 ;
5837 unsigned long __cil_tmp6 ;
5838 unsigned long __cil_tmp7 ;
5839 unsigned long __cil_tmp8 ;
5840 u32 __cil_tmp9 ;
5841 unsigned long __cil_tmp10 ;
5842 unsigned long __cil_tmp11 ;
5843 unsigned long __cil_tmp12 ;
5844 unsigned long __cil_tmp13 ;
5845 u32 __cil_tmp14 ;
5846 unsigned long __cil_tmp15 ;
5847 unsigned long __cil_tmp16 ;
5848 unsigned long __cil_tmp17 ;
5849 unsigned long __cil_tmp18 ;
5850 u32 __cil_tmp19 ;
5851 unsigned long __cil_tmp20 ;
5852 unsigned long __cil_tmp21 ;
5853 unsigned long __cil_tmp22 ;
5854 unsigned long __cil_tmp23 ;
5855 unsigned long __cil_tmp24 ;
5856 u32 __cil_tmp25 ;
5857 unsigned long __cil_tmp26 ;
5858
5859 {
5860 {
5861#line 628
5862 __cil_tmp2 = 48UL - 36UL;
5863#line 628
5864 __cil_tmp3 = (unsigned long )einj_tab___0;
5865#line 628
5866 __cil_tmp4 = __cil_tmp3 + 36;
5867#line 628
5868 __cil_tmp5 = *((u32 *)__cil_tmp4);
5869#line 628
5870 __cil_tmp6 = (unsigned long )__cil_tmp5;
5871#line 628
5872 if (__cil_tmp6 != __cil_tmp2) {
5873 {
5874#line 628
5875 __cil_tmp7 = (unsigned long )einj_tab___0;
5876#line 628
5877 __cil_tmp8 = __cil_tmp7 + 36;
5878#line 628
5879 __cil_tmp9 = *((u32 *)__cil_tmp8);
5880#line 628
5881 __cil_tmp10 = (unsigned long )__cil_tmp9;
5882#line 628
5883 if (__cil_tmp10 != 48UL) {
5884#line 631
5885 return (-22);
5886 } else {
5887
5888 }
5889 }
5890 } else {
5891
5892 }
5893 }
5894 {
5895#line 632
5896 __cil_tmp11 = 0 + 4;
5897#line 632
5898 __cil_tmp12 = (unsigned long )einj_tab___0;
5899#line 632
5900 __cil_tmp13 = __cil_tmp12 + __cil_tmp11;
5901#line 632
5902 __cil_tmp14 = *((u32 *)__cil_tmp13);
5903#line 632
5904 __cil_tmp15 = (unsigned long )__cil_tmp14;
5905#line 632
5906 if (__cil_tmp15 < 48UL) {
5907#line 633
5908 return (-22);
5909 } else {
5910
5911 }
5912 }
5913 {
5914#line 634
5915 __cil_tmp16 = 0 + 4;
5916#line 634
5917 __cil_tmp17 = (unsigned long )einj_tab___0;
5918#line 634
5919 __cil_tmp18 = __cil_tmp17 + __cil_tmp16;
5920#line 634
5921 __cil_tmp19 = *((u32 *)__cil_tmp18);
5922#line 634
5923 __cil_tmp20 = (unsigned long )__cil_tmp19;
5924#line 634
5925 __cil_tmp21 = __cil_tmp20 - 48UL;
5926#line 634
5927 __cil_tmp22 = __cil_tmp21 / 40UL;
5928#line 634
5929 __cil_tmp23 = (unsigned long )einj_tab___0;
5930#line 634
5931 __cil_tmp24 = __cil_tmp23 + 44;
5932#line 634
5933 __cil_tmp25 = *((u32 *)__cil_tmp24);
5934#line 634
5935 __cil_tmp26 = (unsigned long )__cil_tmp25;
5936#line 634
5937 if (__cil_tmp26 != __cil_tmp22) {
5938#line 637
5939 return (-22);
5940 } else {
5941
5942 }
5943 }
5944#line 639
5945 return (0);
5946}
5947}
5948#line 642
5949static int einj_init(void) __attribute__((__section__(".init.text"), __no_instrument_function__)) ;
5950#line 642 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/56/dscv_tempdir/dscv/ri/32_1/drivers/acpi/apei/einj.c.common.c"
5951static int einj_init(void)
5952{ int rc ;
5953 acpi_status status ;
5954 struct dentry *fentry ;
5955 struct apei_exec_context ctx ;
5956 char const *msg ;
5957 char const *tmp___7 ;
5958 struct dentry *tmp___8 ;
5959 acpi_size size ;
5960 unsigned long tmp___9 ;
5961 acpi_string __cil_tmp10 ;
5962 u32 __cil_tmp11 ;
5963 struct acpi_table_header **__cil_tmp12 ;
5964 struct acpi_table_einj **__cil_tmp13 ;
5965 struct acpi_table_einj *__cil_tmp14 ;
5966 umode_t __cil_tmp15 ;
5967 void *__cil_tmp16 ;
5968 umode_t __cil_tmp17 ;
5969 void *__cil_tmp18 ;
5970 umode_t __cil_tmp19 ;
5971 void *__cil_tmp20 ;
5972 bool *__cil_tmp21 ;
5973 umode_t __cil_tmp22 ;
5974 umode_t __cil_tmp23 ;
5975 umode_t __cil_tmp24 ;
5976 unsigned long __cil_tmp25 ;
5977 unsigned long __cil_tmp26 ;
5978 struct debugfs_blob_wrapper *__cil_tmp27 ;
5979 unsigned long __cil_tmp28 ;
5980 unsigned long __cil_tmp29 ;
5981 char *__cil_tmp30 ;
5982 unsigned long __cil_tmp31 ;
5983 unsigned long __cil_tmp32 ;
5984 unsigned long __cil_tmp33 ;
5985 char *__cil_tmp34 ;
5986 char const *__cil_tmp35 ;
5987 umode_t __cil_tmp36 ;
5988 umode_t __cil_tmp37 ;
5989
5990 {
5991#line 649
5992 if (acpi_disabled) {
5993#line 650
5994 return (-19);
5995 } else {
5996
5997 }
5998 {
5999#line 652
6000 __cil_tmp10 = (acpi_string )"EINJ";
6001#line 652
6002 __cil_tmp11 = (u32 )0;
6003#line 652
6004 __cil_tmp12 = (struct acpi_table_header **)(& einj_tab);
6005#line 652
6006 status = acpi_get_table(__cil_tmp10, __cil_tmp11, __cil_tmp12);
6007 }
6008#line 654
6009 if (status == 5U) {
6010#line 655
6011 return (-19);
6012 } else
6013#line 656
6014 if (status) {
6015 {
6016#line 657
6017 tmp___7 = acpi_format_exception(status);
6018#line 657
6019 msg = tmp___7;
6020#line 658
6021 printk("<3>EINJ: Failed to get table, %s\n", msg);
6022 }
6023#line 659
6024 return (-22);
6025 } else {
6026
6027 }
6028 {
6029#line 662
6030 __cil_tmp13 = & einj_tab;
6031#line 662
6032 __cil_tmp14 = *__cil_tmp13;
6033#line 662
6034 rc = einj_check_table(__cil_tmp14);
6035 }
6036#line 663
6037 if (rc) {
6038 {
6039#line 664
6040 printk("<4>[Firmware Bug]: EINJ: EINJ table is invalid\n");
6041 }
6042#line 665
6043 return (-22);
6044 } else {
6045
6046 }
6047 {
6048#line 668
6049 rc = -12;
6050#line 669
6051 tmp___8 = apei_get_debugfs_dir();
6052#line 669
6053 einj_debug_dir = debugfs_create_dir("einj", tmp___8);
6054 }
6055#line 670
6056 if (! einj_debug_dir) {
6057#line 671
6058 goto err_cleanup;
6059 } else {
6060
6061 }
6062 {
6063#line 672
6064 __cil_tmp15 = (umode_t )256;
6065#line 672
6066 __cil_tmp16 = (void *)0;
6067#line 672
6068 fentry = debugfs_create_file("available_error_type", __cil_tmp15, einj_debug_dir,
6069 __cil_tmp16, & available_error_type_fops);
6070 }
6071#line 675
6072 if (! fentry) {
6073#line 676
6074 goto err_cleanup;
6075 } else {
6076
6077 }
6078 {
6079#line 677
6080 __cil_tmp17 = (umode_t )384;
6081#line 677
6082 __cil_tmp18 = (void *)0;
6083#line 677
6084 fentry = debugfs_create_file("error_type", __cil_tmp17, einj_debug_dir, __cil_tmp18,
6085 & error_type_fops);
6086 }
6087#line 679
6088 if (! fentry) {
6089#line 680
6090 goto err_cleanup;
6091 } else {
6092
6093 }
6094 {
6095#line 681
6096 __cil_tmp19 = (umode_t )128;
6097#line 681
6098 __cil_tmp20 = (void *)0;
6099#line 681
6100 fentry = debugfs_create_file("error_inject", __cil_tmp19, einj_debug_dir, __cil_tmp20,
6101 & error_inject_fops);
6102 }
6103#line 683
6104 if (! fentry) {
6105#line 684
6106 goto err_cleanup;
6107 } else {
6108
6109 }
6110 {
6111#line 686
6112 apei_resources_init(& einj_resources);
6113#line 687
6114 einj_exec_ctx_init(& ctx);
6115#line 688
6116 rc = apei_exec_collect_resources(& ctx, & einj_resources);
6117 }
6118#line 689
6119 if (rc) {
6120#line 690
6121 goto err_fini;
6122 } else {
6123
6124 }
6125 {
6126#line 691
6127 rc = apei_resources_request(& einj_resources, "APEI EINJ");
6128 }
6129#line 692
6130 if (rc) {
6131#line 693
6132 goto err_fini;
6133 } else {
6134
6135 }
6136 {
6137#line 694
6138 rc = apei_exec_pre_map_gars(& ctx);
6139 }
6140#line 695
6141 if (rc) {
6142#line 696
6143 goto err_release;
6144 } else {
6145
6146 }
6147 {
6148#line 698
6149 einj_param = einj_get_parameter_address();
6150 }
6151 {
6152#line 699
6153 __cil_tmp21 = & param_extension;
6154#line 699
6155 if (*__cil_tmp21) {
6156#line 699
6157 goto _L;
6158 } else
6159#line 699
6160 if (acpi5) {
6161 _L:
6162#line 699
6163 if (einj_param) {
6164 {
6165#line 700
6166 __cil_tmp22 = (umode_t )384;
6167#line 700
6168 fentry = debugfs_create_x64("param1", __cil_tmp22, einj_debug_dir, & error_param1);
6169 }
6170#line 702
6171 if (! fentry) {
6172#line 703
6173 goto err_unmap;
6174 } else {
6175
6176 }
6177 {
6178#line 704
6179 __cil_tmp23 = (umode_t )384;
6180#line 704
6181 fentry = debugfs_create_x64("param2", __cil_tmp23, einj_debug_dir, & error_param2);
6182 }
6183#line 706
6184 if (! fentry) {
6185#line 707
6186 goto err_unmap;
6187 } else {
6188
6189 }
6190 {
6191#line 709
6192 __cil_tmp24 = (umode_t )384;
6193#line 709
6194 fentry = debugfs_create_x32("notrigger", __cil_tmp24, einj_debug_dir, & notrigger);
6195 }
6196#line 711
6197 if (! fentry) {
6198#line 712
6199 goto err_unmap;
6200 } else {
6201
6202 }
6203 } else {
6204
6205 }
6206 } else {
6207
6208 }
6209 }
6210 {
6211#line 715
6212 __cil_tmp25 = 0 * 1UL;
6213#line 715
6214 __cil_tmp26 = (unsigned long )(vendor_dev) + __cil_tmp25;
6215#line 715
6216 if (*((char *)__cil_tmp26)) {
6217 {
6218#line 716
6219 __cil_tmp27 = & vendor_blob;
6220#line 716
6221 __cil_tmp28 = 0 * 1UL;
6222#line 716
6223 __cil_tmp29 = (unsigned long )(vendor_dev) + __cil_tmp28;
6224#line 716
6225 __cil_tmp30 = (char *)__cil_tmp29;
6226#line 716
6227 *((void **)__cil_tmp27) = (void *)__cil_tmp30;
6228#line 717
6229 __cil_tmp31 = (unsigned long )(& vendor_blob) + 8;
6230#line 717
6231 __cil_tmp32 = 0 * 1UL;
6232#line 717
6233 __cil_tmp33 = (unsigned long )(vendor_dev) + __cil_tmp32;
6234#line 717
6235 __cil_tmp34 = (char *)__cil_tmp33;
6236#line 717
6237 __cil_tmp35 = (char const *)__cil_tmp34;
6238#line 717
6239 *((unsigned long *)__cil_tmp31) = strlen(__cil_tmp35);
6240#line 718
6241 __cil_tmp36 = (umode_t )256;
6242#line 718
6243 fentry = debugfs_create_blob("vendor", __cil_tmp36, einj_debug_dir, & vendor_blob);
6244 }
6245#line 720
6246 if (! fentry) {
6247#line 721
6248 goto err_unmap;
6249 } else {
6250
6251 }
6252 {
6253#line 722
6254 __cil_tmp37 = (umode_t )384;
6255#line 722
6256 fentry = debugfs_create_x32("vendor_flags", __cil_tmp37, einj_debug_dir, & vendor_flags);
6257 }
6258#line 724
6259 if (! fentry) {
6260#line 725
6261 goto err_unmap;
6262 } else {
6263
6264 }
6265 } else {
6266
6267 }
6268 }
6269 {
6270#line 728
6271 printk("<6>EINJ: Error INJection is initialized.\n");
6272 }
6273#line 730
6274 return (0);
6275 err_unmap:
6276#line 733
6277 if (einj_param) {
6278#line 734
6279 if (acpi5) {
6280#line 734
6281 tmp___9 = 40UL;
6282 } else {
6283#line 734
6284 tmp___9 = 40UL;
6285 }
6286 {
6287#line 734
6288 size = (acpi_size )tmp___9;
6289#line 738
6290 acpi_os_unmap_memory(einj_param, size);
6291 }
6292 } else {
6293
6294 }
6295 {
6296#line 740
6297 apei_exec_post_unmap_gars(& ctx);
6298 }
6299 err_release:
6300 {
6301#line 742
6302 apei_resources_release(& einj_resources);
6303 }
6304 err_fini:
6305 {
6306#line 744
6307 apei_resources_fini(& einj_resources);
6308 }
6309 err_cleanup:
6310 {
6311#line 746
6312 debugfs_remove_recursive(einj_debug_dir);
6313 }
6314#line 748
6315 return (rc);
6316}
6317}
6318#line 751
6319static void einj_exit(void) __attribute__((__section__(".exit.text"), __no_instrument_function__)) ;
6320#line 751 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/56/dscv_tempdir/dscv/ri/32_1/drivers/acpi/apei/einj.c.common.c"
6321static void einj_exit(void)
6322{ struct apei_exec_context ctx ;
6323 acpi_size size ;
6324 unsigned long tmp___7 ;
6325
6326 {
6327#line 755
6328 if (einj_param) {
6329#line 756
6330 if (acpi5) {
6331#line 756
6332 tmp___7 = 40UL;
6333 } else {
6334#line 756
6335 tmp___7 = 40UL;
6336 }
6337 {
6338#line 756
6339 size = (acpi_size )tmp___7;
6340#line 760
6341 acpi_os_unmap_memory(einj_param, size);
6342 }
6343 } else {
6344
6345 }
6346 {
6347#line 762
6348 einj_exec_ctx_init(& ctx);
6349#line 763
6350 apei_exec_post_unmap_gars(& ctx);
6351#line 764
6352 apei_resources_release(& einj_resources);
6353#line 765
6354 apei_resources_fini(& einj_resources);
6355#line 766
6356 debugfs_remove_recursive(einj_debug_dir);
6357 }
6358#line 767
6359 return;
6360}
6361}
6362#line 769 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/56/dscv_tempdir/dscv/ri/32_1/drivers/acpi/apei/einj.c.common.c"
6363int init_module(void)
6364{ int tmp___7 ;
6365
6366 {
6367 {
6368#line 769
6369 tmp___7 = einj_init();
6370 }
6371#line 769
6372 return (tmp___7);
6373}
6374}
6375#line 770 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/56/dscv_tempdir/dscv/ri/32_1/drivers/acpi/apei/einj.c.common.c"
6376void cleanup_module(void)
6377{
6378
6379 {
6380 {
6381#line 770
6382 einj_exit();
6383 }
6384#line 770
6385 return;
6386}
6387}
6388#line 772 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/56/dscv_tempdir/dscv/ri/32_1/drivers/acpi/apei/einj.c.common.c"
6389static char const __mod_author772[18] __attribute__((__used__, __unused__, __section__(".modinfo"),
6390__aligned__(1))) =
6391#line 772
6392 { (char const )'a', (char const )'u', (char const )'t', (char const )'h',
6393 (char const )'o', (char const )'r', (char const )'=', (char const )'H',
6394 (char const )'u', (char const )'a', (char const )'n', (char const )'g',
6395 (char const )' ', (char const )'Y', (char const )'i', (char const )'n',
6396 (char const )'g', (char const )'\000'};
6397#line 773 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/56/dscv_tempdir/dscv/ri/32_1/drivers/acpi/apei/einj.c.common.c"
6398static char const __mod_description773[41] __attribute__((__used__, __unused__,
6399__section__(".modinfo"), __aligned__(1))) =
6400#line 773
6401 { (char const )'d', (char const )'e', (char const )'s', (char const )'c',
6402 (char const )'r', (char const )'i', (char const )'p', (char const )'t',
6403 (char const )'i', (char const )'o', (char const )'n', (char const )'=',
6404 (char const )'A', (char const )'P', (char const )'E', (char const )'I',
6405 (char const )' ', (char const )'E', (char const )'r', (char const )'r',
6406 (char const )'o', (char const )'r', (char const )' ', (char const )'I',
6407 (char const )'N', (char const )'J', (char const )'e', (char const )'c',
6408 (char const )'t', (char const )'i', (char const )'o', (char const )'n',
6409 (char const )' ', (char const )'s', (char const )'u', (char const )'p',
6410 (char const )'p', (char const )'o', (char const )'r', (char const )'t',
6411 (char const )'\000'};
6412#line 774 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/56/dscv_tempdir/dscv/ri/32_1/drivers/acpi/apei/einj.c.common.c"
6413static char const __mod_license774[12] __attribute__((__used__, __unused__, __section__(".modinfo"),
6414__aligned__(1))) =
6415#line 774
6416 { (char const )'l', (char const )'i', (char const )'c', (char const )'e',
6417 (char const )'n', (char const )'s', (char const )'e', (char const )'=',
6418 (char const )'G', (char const )'P', (char const )'L', (char const )'\000'};
6419#line 792
6420void ldv_check_final_state(void) ;
6421#line 795
6422extern void ldv_check_return_value(int res ) ;
6423#line 798
6424extern void ldv_initialize(void) ;
6425#line 801
6426extern int __VERIFIER_nondet_int(void) ;
6427#line 804 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/56/dscv_tempdir/dscv/ri/32_1/drivers/acpi/apei/einj.c.common.c"
6428int LDV_IN_INTERRUPT ;
6429#line 832 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/56/dscv_tempdir/dscv/ri/32_1/drivers/acpi/apei/einj.c.common.c"
6430static int res_available_error_type_open_12 ;
6431#line 807 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/56/dscv_tempdir/dscv/ri/32_1/drivers/acpi/apei/einj.c.common.c"
6432void main(void)
6433{ struct inode *var_group1 ;
6434 struct file *var_group2 ;
6435 int tmp___7 ;
6436 int ldv_s_available_error_type_fops_file_operations ;
6437 int tmp___8 ;
6438 int tmp___9 ;
6439 int __cil_tmp7 ;
6440
6441 {
6442 {
6443#line 840
6444 LDV_IN_INTERRUPT = 1;
6445#line 849
6446 ldv_initialize();
6447#line 866
6448 tmp___7 = einj_init();
6449 }
6450#line 866
6451 if (tmp___7) {
6452#line 867
6453 goto ldv_final;
6454 } else {
6455
6456 }
6457#line 868
6458 ldv_s_available_error_type_fops_file_operations = 0;
6459 {
6460#line 871
6461 while (1) {
6462 while_continue: ;
6463 {
6464#line 871
6465 tmp___9 = __VERIFIER_nondet_int();
6466 }
6467#line 871
6468 if (tmp___9) {
6469
6470 } else {
6471 {
6472#line 871
6473 __cil_tmp7 = ldv_s_available_error_type_fops_file_operations == 0;
6474#line 871
6475 if (! __cil_tmp7) {
6476
6477 } else {
6478#line 871
6479 goto while_break;
6480 }
6481 }
6482 }
6483 {
6484#line 875
6485 tmp___8 = __VERIFIER_nondet_int();
6486 }
6487#line 877
6488 if (tmp___8 == 0) {
6489#line 877
6490 goto case_0;
6491 } else {
6492 {
6493#line 907
6494 goto switch_default;
6495#line 875
6496 if (0) {
6497 case_0:
6498#line 880
6499 if (ldv_s_available_error_type_fops_file_operations == 0) {
6500 {
6501#line 896
6502 res_available_error_type_open_12 = available_error_type_open(var_group1,
6503 var_group2);
6504#line 897
6505 ldv_check_return_value(res_available_error_type_open_12);
6506 }
6507#line 898
6508 if (res_available_error_type_open_12) {
6509#line 899
6510 goto ldv_module_exit;
6511 } else {
6512
6513 }
6514#line 900
6515 ldv_s_available_error_type_fops_file_operations = 0;
6516 } else {
6517
6518 }
6519#line 906
6520 goto switch_break;
6521 switch_default:
6522#line 907
6523 goto switch_break;
6524 } else {
6525 switch_break: ;
6526 }
6527 }
6528 }
6529 }
6530 while_break: ;
6531 }
6532 ldv_module_exit:
6533 {
6534#line 930
6535 einj_exit();
6536 }
6537 ldv_final:
6538 {
6539#line 933
6540 ldv_check_final_state();
6541 }
6542#line 936
6543 return;
6544}
6545}
6546#line 5 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/56/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/engine-blast-assert.h"
6547void ldv_blast_assert(void)
6548{
6549
6550 {
6551 ERROR:
6552#line 6
6553 goto ERROR;
6554}
6555}
6556#line 6 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/56/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/engine-blast.h"
6557extern int __VERIFIER_nondet_int(void) ;
6558#line 19 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/56/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
6559int ldv_mutex = 1;
6560#line 22 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/56/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
6561int __attribute__((__warn_unused_result__)) mutex_lock_interruptible(struct mutex *lock )
6562{ int nondetermined ;
6563
6564 {
6565#line 29
6566 if (ldv_mutex == 1) {
6567
6568 } else {
6569 {
6570#line 29
6571 ldv_blast_assert();
6572 }
6573 }
6574 {
6575#line 32
6576 nondetermined = __VERIFIER_nondet_int();
6577 }
6578#line 35
6579 if (nondetermined) {
6580#line 38
6581 ldv_mutex = 2;
6582#line 40
6583 return (0);
6584 } else {
6585#line 45
6586 return (-4);
6587 }
6588}
6589}
6590#line 50 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/56/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
6591int __attribute__((__warn_unused_result__)) mutex_lock_killable(struct mutex *lock )
6592{ int nondetermined ;
6593
6594 {
6595#line 57
6596 if (ldv_mutex == 1) {
6597
6598 } else {
6599 {
6600#line 57
6601 ldv_blast_assert();
6602 }
6603 }
6604 {
6605#line 60
6606 nondetermined = __VERIFIER_nondet_int();
6607 }
6608#line 63
6609 if (nondetermined) {
6610#line 66
6611 ldv_mutex = 2;
6612#line 68
6613 return (0);
6614 } else {
6615#line 73
6616 return (-4);
6617 }
6618}
6619}
6620#line 78 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/56/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
6621int atomic_dec_and_mutex_lock(atomic_t *cnt , struct mutex *lock )
6622{ int atomic_value_after_dec ;
6623
6624 {
6625#line 83
6626 if (ldv_mutex == 1) {
6627
6628 } else {
6629 {
6630#line 83
6631 ldv_blast_assert();
6632 }
6633 }
6634 {
6635#line 86
6636 atomic_value_after_dec = __VERIFIER_nondet_int();
6637 }
6638#line 89
6639 if (atomic_value_after_dec == 0) {
6640#line 92
6641 ldv_mutex = 2;
6642#line 94
6643 return (1);
6644 } else {
6645
6646 }
6647#line 98
6648 return (0);
6649}
6650}
6651#line 103 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/56/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
6652void mutex_lock(struct mutex *lock )
6653{
6654
6655 {
6656#line 108
6657 if (ldv_mutex == 1) {
6658
6659 } else {
6660 {
6661#line 108
6662 ldv_blast_assert();
6663 }
6664 }
6665#line 110
6666 ldv_mutex = 2;
6667#line 111
6668 return;
6669}
6670}
6671#line 114 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/56/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
6672int mutex_trylock(struct mutex *lock )
6673{ int nondetermined ;
6674
6675 {
6676#line 121
6677 if (ldv_mutex == 1) {
6678
6679 } else {
6680 {
6681#line 121
6682 ldv_blast_assert();
6683 }
6684 }
6685 {
6686#line 124
6687 nondetermined = __VERIFIER_nondet_int();
6688 }
6689#line 127
6690 if (nondetermined) {
6691#line 130
6692 ldv_mutex = 2;
6693#line 132
6694 return (1);
6695 } else {
6696#line 137
6697 return (0);
6698 }
6699}
6700}
6701#line 142 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/56/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
6702void mutex_unlock(struct mutex *lock )
6703{
6704
6705 {
6706#line 147
6707 if (ldv_mutex == 2) {
6708
6709 } else {
6710 {
6711#line 147
6712 ldv_blast_assert();
6713 }
6714 }
6715#line 149
6716 ldv_mutex = 1;
6717#line 150
6718 return;
6719}
6720}
6721#line 153 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/56/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
6722void ldv_check_final_state(void)
6723{
6724
6725 {
6726#line 156
6727 if (ldv_mutex == 1) {
6728
6729 } else {
6730 {
6731#line 156
6732 ldv_blast_assert();
6733 }
6734 }
6735#line 157
6736 return;
6737}
6738}
6739#line 945 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/56/dscv_tempdir/dscv/ri/32_1/drivers/acpi/apei/einj.c.common.c"
6740long s__builtin_expect(long val , long res )
6741{
6742
6743 {
6744#line 946
6745 return (val);
6746}
6747}