1
2
3
4#line 19 "include/asm-generic/int-ll64.h"
5typedef signed char __s8;
6#line 20 "include/asm-generic/int-ll64.h"
7typedef unsigned char __u8;
8#line 22 "include/asm-generic/int-ll64.h"
9typedef short __s16;
10#line 23 "include/asm-generic/int-ll64.h"
11typedef unsigned short __u16;
12#line 25 "include/asm-generic/int-ll64.h"
13typedef int __s32;
14#line 26 "include/asm-generic/int-ll64.h"
15typedef unsigned int __u32;
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 52 "include/asm-generic/posix_types.h"
37typedef unsigned int __kernel_uid32_t;
38#line 53 "include/asm-generic/posix_types.h"
39typedef unsigned int __kernel_gid32_t;
40#line 75 "include/asm-generic/posix_types.h"
41typedef __kernel_ulong_t __kernel_size_t;
42#line 76 "include/asm-generic/posix_types.h"
43typedef __kernel_long_t __kernel_ssize_t;
44#line 91 "include/asm-generic/posix_types.h"
45typedef long long __kernel_loff_t;
46#line 92 "include/asm-generic/posix_types.h"
47typedef __kernel_long_t __kernel_time_t;
48#line 21 "include/linux/types.h"
49typedef __u32 __kernel_dev_t;
50#line 24 "include/linux/types.h"
51typedef __kernel_dev_t dev_t;
52#line 27 "include/linux/types.h"
53typedef unsigned short umode_t;
54#line 38 "include/linux/types.h"
55typedef _Bool bool;
56#line 40 "include/linux/types.h"
57typedef __kernel_uid32_t uid_t;
58#line 41 "include/linux/types.h"
59typedef __kernel_gid32_t gid_t;
60#line 54 "include/linux/types.h"
61typedef __kernel_loff_t loff_t;
62#line 63 "include/linux/types.h"
63typedef __kernel_size_t size_t;
64#line 68 "include/linux/types.h"
65typedef __kernel_ssize_t ssize_t;
66#line 78 "include/linux/types.h"
67typedef __kernel_time_t time_t;
68#line 142 "include/linux/types.h"
69typedef unsigned long sector_t;
70#line 143 "include/linux/types.h"
71typedef unsigned long blkcnt_t;
72#line 202 "include/linux/types.h"
73typedef unsigned int gfp_t;
74#line 203 "include/linux/types.h"
75typedef unsigned int fmode_t;
76#line 206 "include/linux/types.h"
77typedef u64 phys_addr_t;
78#line 211 "include/linux/types.h"
79typedef phys_addr_t resource_size_t;
80#line 221 "include/linux/types.h"
81struct __anonstruct_atomic_t_6 {
82 int counter ;
83};
84#line 221 "include/linux/types.h"
85typedef struct __anonstruct_atomic_t_6 atomic_t;
86#line 226 "include/linux/types.h"
87struct __anonstruct_atomic64_t_7 {
88 long counter ;
89};
90#line 226 "include/linux/types.h"
91typedef struct __anonstruct_atomic64_t_7 atomic64_t;
92#line 227 "include/linux/types.h"
93struct list_head {
94 struct list_head *next ;
95 struct list_head *prev ;
96};
97#line 232
98struct hlist_node;
99#line 232 "include/linux/types.h"
100struct hlist_head {
101 struct hlist_node *first ;
102};
103#line 236 "include/linux/types.h"
104struct hlist_node {
105 struct hlist_node *next ;
106 struct hlist_node **pprev ;
107};
108#line 247 "include/linux/types.h"
109struct rcu_head {
110 struct rcu_head *next ;
111 void (*func)(struct rcu_head * ) ;
112};
113#line 55 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/alternative.h"
114struct module;
115#line 55
116struct module;
117#line 146 "include/linux/init.h"
118typedef void (*ctor_fn_t)(void);
119#line 46 "include/linux/dynamic_debug.h"
120struct device;
121#line 46
122struct device;
123#line 58
124struct pt_regs;
125#line 58
126struct pt_regs;
127#line 348 "include/linux/kernel.h"
128struct pid;
129#line 348
130struct pid;
131#line 112 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/stat.h"
132struct timespec;
133#line 112
134struct timespec;
135#line 58 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/page_types.h"
136struct page;
137#line 58
138struct page;
139#line 26 "include/asm-generic/getorder.h"
140struct task_struct;
141#line 26
142struct task_struct;
143#line 268 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/segment.h"
144struct pt_regs {
145 unsigned long r15 ;
146 unsigned long r14 ;
147 unsigned long r13 ;
148 unsigned long r12 ;
149 unsigned long bp ;
150 unsigned long bx ;
151 unsigned long r11 ;
152 unsigned long r10 ;
153 unsigned long r9 ;
154 unsigned long r8 ;
155 unsigned long ax ;
156 unsigned long cx ;
157 unsigned long dx ;
158 unsigned long si ;
159 unsigned long di ;
160 unsigned long orig_ax ;
161 unsigned long ip ;
162 unsigned long cs ;
163 unsigned long flags ;
164 unsigned long sp ;
165 unsigned long ss ;
166};
167#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
168struct __anonstruct_ldv_2180_13 {
169 unsigned int a ;
170 unsigned int b ;
171};
172#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
173struct __anonstruct_ldv_2195_14 {
174 u16 limit0 ;
175 u16 base0 ;
176 unsigned char base1 ;
177 unsigned char type : 4 ;
178 unsigned char s : 1 ;
179 unsigned char dpl : 2 ;
180 unsigned char p : 1 ;
181 unsigned char limit : 4 ;
182 unsigned char avl : 1 ;
183 unsigned char l : 1 ;
184 unsigned char d : 1 ;
185 unsigned char g : 1 ;
186 unsigned char base2 ;
187};
188#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
189union __anonunion_ldv_2196_12 {
190 struct __anonstruct_ldv_2180_13 ldv_2180 ;
191 struct __anonstruct_ldv_2195_14 ldv_2195 ;
192};
193#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
194struct desc_struct {
195 union __anonunion_ldv_2196_12 ldv_2196 ;
196};
197#line 43 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/desc_defs.h"
198struct gate_struct64 {
199 u16 offset_low ;
200 u16 segment ;
201 unsigned char ist : 3 ;
202 unsigned char zero0 : 5 ;
203 unsigned char type : 5 ;
204 unsigned char dpl : 2 ;
205 unsigned char p : 1 ;
206 u16 offset_middle ;
207 u32 offset_high ;
208 u32 zero1 ;
209};
210#line 81 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/desc_defs.h"
211typedef struct gate_struct64 gate_desc;
212#line 84 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/desc_defs.h"
213struct desc_ptr {
214 unsigned short size ;
215 unsigned long address ;
216};
217#line 290 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
218struct file;
219#line 290
220struct file;
221#line 305
222struct seq_file;
223#line 305
224struct seq_file;
225#line 337
226struct thread_struct;
227#line 337
228struct thread_struct;
229#line 338
230struct tss_struct;
231#line 338
232struct tss_struct;
233#line 101 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt_types.h"
234struct pv_cpu_ops {
235 unsigned long (*get_debugreg)(int ) ;
236 void (*set_debugreg)(int , unsigned long ) ;
237 void (*clts)(void) ;
238 unsigned long (*read_cr0)(void) ;
239 void (*write_cr0)(unsigned long ) ;
240 unsigned long (*read_cr4_safe)(void) ;
241 unsigned long (*read_cr4)(void) ;
242 void (*write_cr4)(unsigned long ) ;
243 unsigned long (*read_cr8)(void) ;
244 void (*write_cr8)(unsigned long ) ;
245 void (*load_tr_desc)(void) ;
246 void (*load_gdt)(struct desc_ptr const * ) ;
247 void (*load_idt)(struct desc_ptr const * ) ;
248 void (*store_gdt)(struct desc_ptr * ) ;
249 void (*store_idt)(struct desc_ptr * ) ;
250 void (*set_ldt)(void const * , unsigned int ) ;
251 unsigned long (*store_tr)(void) ;
252 void (*load_tls)(struct thread_struct * , unsigned int ) ;
253 void (*load_gs_index)(unsigned int ) ;
254 void (*write_ldt_entry)(struct desc_struct * , int , void const * ) ;
255 void (*write_gdt_entry)(struct desc_struct * , int , void const * , int ) ;
256 void (*write_idt_entry)(gate_desc * , int , gate_desc const * ) ;
257 void (*alloc_ldt)(struct desc_struct * , unsigned int ) ;
258 void (*free_ldt)(struct desc_struct * , unsigned int ) ;
259 void (*load_sp0)(struct tss_struct * , struct thread_struct * ) ;
260 void (*set_iopl_mask)(unsigned int ) ;
261 void (*wbinvd)(void) ;
262 void (*io_delay)(void) ;
263 void (*cpuid)(unsigned int * , unsigned int * , unsigned int * , unsigned int * ) ;
264 u64 (*read_msr)(unsigned int , int * ) ;
265 int (*rdmsr_regs)(u32 * ) ;
266 int (*write_msr)(unsigned int , unsigned int , unsigned int ) ;
267 int (*wrmsr_regs)(u32 * ) ;
268 u64 (*read_tsc)(void) ;
269 u64 (*read_pmc)(int ) ;
270 unsigned long long (*read_tscp)(unsigned int * ) ;
271 void (*irq_enable_sysexit)(void) ;
272 void (*usergs_sysret64)(void) ;
273 void (*usergs_sysret32)(void) ;
274 void (*iret)(void) ;
275 void (*swapgs)(void) ;
276 void (*start_context_switch)(struct task_struct * ) ;
277 void (*end_context_switch)(struct task_struct * ) ;
278};
279#line 327
280struct arch_spinlock;
281#line 327
282struct arch_spinlock;
283#line 300 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
284struct kernel_vm86_regs {
285 struct pt_regs pt ;
286 unsigned short es ;
287 unsigned short __esh ;
288 unsigned short ds ;
289 unsigned short __dsh ;
290 unsigned short fs ;
291 unsigned short __fsh ;
292 unsigned short gs ;
293 unsigned short __gsh ;
294};
295#line 203 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/vm86.h"
296union __anonunion_ldv_2824_19 {
297 struct pt_regs *regs ;
298 struct kernel_vm86_regs *vm86 ;
299};
300#line 203 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/vm86.h"
301struct math_emu_info {
302 long ___orig_eip ;
303 union __anonunion_ldv_2824_19 ldv_2824 ;
304};
305#line 306 "include/linux/bitmap.h"
306struct bug_entry {
307 int bug_addr_disp ;
308 int file_disp ;
309 unsigned short line ;
310 unsigned short flags ;
311};
312#line 234 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt.h"
313struct static_key;
314#line 234
315struct static_key;
316#line 199 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
317struct x86_hw_tss {
318 u32 reserved1 ;
319 u64 sp0 ;
320 u64 sp1 ;
321 u64 sp2 ;
322 u64 reserved2 ;
323 u64 ist[7U] ;
324 u32 reserved3 ;
325 u32 reserved4 ;
326 u16 reserved5 ;
327 u16 io_bitmap_base ;
328};
329#line 246 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
330struct tss_struct {
331 struct x86_hw_tss x86_tss ;
332 unsigned long io_bitmap[1025U] ;
333 unsigned long stack[64U] ;
334};
335#line 287 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
336struct i387_fsave_struct {
337 u32 cwd ;
338 u32 swd ;
339 u32 twd ;
340 u32 fip ;
341 u32 fcs ;
342 u32 foo ;
343 u32 fos ;
344 u32 st_space[20U] ;
345 u32 status ;
346};
347#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
348struct __anonstruct_ldv_5180_24 {
349 u64 rip ;
350 u64 rdp ;
351};
352#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
353struct __anonstruct_ldv_5186_25 {
354 u32 fip ;
355 u32 fcs ;
356 u32 foo ;
357 u32 fos ;
358};
359#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
360union __anonunion_ldv_5187_23 {
361 struct __anonstruct_ldv_5180_24 ldv_5180 ;
362 struct __anonstruct_ldv_5186_25 ldv_5186 ;
363};
364#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
365union __anonunion_ldv_5196_26 {
366 u32 padding1[12U] ;
367 u32 sw_reserved[12U] ;
368};
369#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
370struct i387_fxsave_struct {
371 u16 cwd ;
372 u16 swd ;
373 u16 twd ;
374 u16 fop ;
375 union __anonunion_ldv_5187_23 ldv_5187 ;
376 u32 mxcsr ;
377 u32 mxcsr_mask ;
378 u32 st_space[32U] ;
379 u32 xmm_space[64U] ;
380 u32 padding[12U] ;
381 union __anonunion_ldv_5196_26 ldv_5196 ;
382};
383#line 339 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
384struct i387_soft_struct {
385 u32 cwd ;
386 u32 swd ;
387 u32 twd ;
388 u32 fip ;
389 u32 fcs ;
390 u32 foo ;
391 u32 fos ;
392 u32 st_space[20U] ;
393 u8 ftop ;
394 u8 changed ;
395 u8 lookahead ;
396 u8 no_update ;
397 u8 rm ;
398 u8 alimit ;
399 struct math_emu_info *info ;
400 u32 entry_eip ;
401};
402#line 360 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
403struct ymmh_struct {
404 u32 ymmh_space[64U] ;
405};
406#line 365 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
407struct xsave_hdr_struct {
408 u64 xstate_bv ;
409 u64 reserved1[2U] ;
410 u64 reserved2[5U] ;
411};
412#line 371 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
413struct xsave_struct {
414 struct i387_fxsave_struct i387 ;
415 struct xsave_hdr_struct xsave_hdr ;
416 struct ymmh_struct ymmh ;
417};
418#line 377 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
419union thread_xstate {
420 struct i387_fsave_struct fsave ;
421 struct i387_fxsave_struct fxsave ;
422 struct i387_soft_struct soft ;
423 struct xsave_struct xsave ;
424};
425#line 385 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
426struct fpu {
427 unsigned int last_cpu ;
428 unsigned int has_fpu ;
429 union thread_xstate *state ;
430};
431#line 433
432struct kmem_cache;
433#line 434
434struct perf_event;
435#line 434
436struct perf_event;
437#line 435 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
438struct thread_struct {
439 struct desc_struct tls_array[3U] ;
440 unsigned long sp0 ;
441 unsigned long sp ;
442 unsigned long usersp ;
443 unsigned short es ;
444 unsigned short ds ;
445 unsigned short fsindex ;
446 unsigned short gsindex ;
447 unsigned long fs ;
448 unsigned long gs ;
449 struct perf_event *ptrace_bps[4U] ;
450 unsigned long debugreg6 ;
451 unsigned long ptrace_dr7 ;
452 unsigned long cr2 ;
453 unsigned long trap_nr ;
454 unsigned long error_code ;
455 struct fpu fpu ;
456 unsigned long *io_bitmap_ptr ;
457 unsigned long iopl ;
458 unsigned int io_bitmap_max ;
459};
460#line 23 "include/asm-generic/atomic-long.h"
461typedef atomic64_t atomic_long_t;
462#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
463typedef u16 __ticket_t;
464#line 15 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
465typedef u32 __ticketpair_t;
466#line 16 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
467struct __raw_tickets {
468 __ticket_t head ;
469 __ticket_t tail ;
470};
471#line 26 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
472union __anonunion_ldv_5907_29 {
473 __ticketpair_t head_tail ;
474 struct __raw_tickets tickets ;
475};
476#line 26 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
477struct arch_spinlock {
478 union __anonunion_ldv_5907_29 ldv_5907 ;
479};
480#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
481typedef struct arch_spinlock arch_spinlock_t;
482#line 33 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
483struct __anonstruct_ldv_5914_31 {
484 u32 read ;
485 s32 write ;
486};
487#line 33 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
488union __anonunion_arch_rwlock_t_30 {
489 s64 lock ;
490 struct __anonstruct_ldv_5914_31 ldv_5914 ;
491};
492#line 33 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
493typedef union __anonunion_arch_rwlock_t_30 arch_rwlock_t;
494#line 34
495struct lockdep_map;
496#line 34
497struct lockdep_map;
498#line 55 "include/linux/debug_locks.h"
499struct stack_trace {
500 unsigned int nr_entries ;
501 unsigned int max_entries ;
502 unsigned long *entries ;
503 int skip ;
504};
505#line 26 "include/linux/stacktrace.h"
506struct lockdep_subclass_key {
507 char __one_byte ;
508};
509#line 53 "include/linux/lockdep.h"
510struct lock_class_key {
511 struct lockdep_subclass_key subkeys[8U] ;
512};
513#line 59 "include/linux/lockdep.h"
514struct lock_class {
515 struct list_head hash_entry ;
516 struct list_head lock_entry ;
517 struct lockdep_subclass_key *key ;
518 unsigned int subclass ;
519 unsigned int dep_gen_id ;
520 unsigned long usage_mask ;
521 struct stack_trace usage_traces[13U] ;
522 struct list_head locks_after ;
523 struct list_head locks_before ;
524 unsigned int version ;
525 unsigned long ops ;
526 char const *name ;
527 int name_version ;
528 unsigned long contention_point[4U] ;
529 unsigned long contending_point[4U] ;
530};
531#line 144 "include/linux/lockdep.h"
532struct lockdep_map {
533 struct lock_class_key *key ;
534 struct lock_class *class_cache[2U] ;
535 char const *name ;
536 int cpu ;
537 unsigned long ip ;
538};
539#line 556 "include/linux/lockdep.h"
540struct raw_spinlock {
541 arch_spinlock_t raw_lock ;
542 unsigned int magic ;
543 unsigned int owner_cpu ;
544 void *owner ;
545 struct lockdep_map dep_map ;
546};
547#line 32 "include/linux/spinlock_types.h"
548typedef struct raw_spinlock raw_spinlock_t;
549#line 33 "include/linux/spinlock_types.h"
550struct __anonstruct_ldv_6122_33 {
551 u8 __padding[24U] ;
552 struct lockdep_map dep_map ;
553};
554#line 33 "include/linux/spinlock_types.h"
555union __anonunion_ldv_6123_32 {
556 struct raw_spinlock rlock ;
557 struct __anonstruct_ldv_6122_33 ldv_6122 ;
558};
559#line 33 "include/linux/spinlock_types.h"
560struct spinlock {
561 union __anonunion_ldv_6123_32 ldv_6123 ;
562};
563#line 76 "include/linux/spinlock_types.h"
564typedef struct spinlock spinlock_t;
565#line 23 "include/linux/rwlock_types.h"
566struct __anonstruct_rwlock_t_34 {
567 arch_rwlock_t raw_lock ;
568 unsigned int magic ;
569 unsigned int owner_cpu ;
570 void *owner ;
571 struct lockdep_map dep_map ;
572};
573#line 23 "include/linux/rwlock_types.h"
574typedef struct __anonstruct_rwlock_t_34 rwlock_t;
575#line 110 "include/linux/seqlock.h"
576struct seqcount {
577 unsigned int sequence ;
578};
579#line 121 "include/linux/seqlock.h"
580typedef struct seqcount seqcount_t;
581#line 254 "include/linux/seqlock.h"
582struct timespec {
583 __kernel_time_t tv_sec ;
584 long tv_nsec ;
585};
586#line 286 "include/linux/time.h"
587struct kstat {
588 u64 ino ;
589 dev_t dev ;
590 umode_t mode ;
591 unsigned int nlink ;
592 uid_t uid ;
593 gid_t gid ;
594 dev_t rdev ;
595 loff_t size ;
596 struct timespec atime ;
597 struct timespec mtime ;
598 struct timespec ctime ;
599 unsigned long blksize ;
600 unsigned long long blocks ;
601};
602#line 48 "include/linux/wait.h"
603struct __wait_queue_head {
604 spinlock_t lock ;
605 struct list_head task_list ;
606};
607#line 53 "include/linux/wait.h"
608typedef struct __wait_queue_head wait_queue_head_t;
609#line 670 "include/linux/mmzone.h"
610struct mutex {
611 atomic_t count ;
612 spinlock_t wait_lock ;
613 struct list_head wait_list ;
614 struct task_struct *owner ;
615 char const *name ;
616 void *magic ;
617 struct lockdep_map dep_map ;
618};
619#line 171 "include/linux/mutex.h"
620struct rw_semaphore;
621#line 171
622struct rw_semaphore;
623#line 172 "include/linux/mutex.h"
624struct rw_semaphore {
625 long count ;
626 raw_spinlock_t wait_lock ;
627 struct list_head wait_list ;
628 struct lockdep_map dep_map ;
629};
630#line 188 "include/linux/rcupdate.h"
631struct notifier_block;
632#line 188
633struct notifier_block;
634#line 239 "include/linux/srcu.h"
635struct notifier_block {
636 int (*notifier_call)(struct notifier_block * , unsigned long , void * ) ;
637 struct notifier_block *next ;
638 int priority ;
639};
640#line 139 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/e820.h"
641struct resource {
642 resource_size_t start ;
643 resource_size_t end ;
644 char const *name ;
645 unsigned long flags ;
646 struct resource *parent ;
647 struct resource *sibling ;
648 struct resource *child ;
649};
650#line 18 "include/asm-generic/pci_iomap.h"
651struct vm_area_struct;
652#line 18
653struct vm_area_struct;
654#line 37 "include/linux/kmod.h"
655struct cred;
656#line 37
657struct cred;
658#line 18 "include/linux/elf.h"
659typedef __u64 Elf64_Addr;
660#line 19 "include/linux/elf.h"
661typedef __u16 Elf64_Half;
662#line 23 "include/linux/elf.h"
663typedef __u32 Elf64_Word;
664#line 24 "include/linux/elf.h"
665typedef __u64 Elf64_Xword;
666#line 193 "include/linux/elf.h"
667struct elf64_sym {
668 Elf64_Word st_name ;
669 unsigned char st_info ;
670 unsigned char st_other ;
671 Elf64_Half st_shndx ;
672 Elf64_Addr st_value ;
673 Elf64_Xword st_size ;
674};
675#line 201 "include/linux/elf.h"
676typedef struct elf64_sym Elf64_Sym;
677#line 445
678struct sock;
679#line 445
680struct sock;
681#line 446
682struct kobject;
683#line 446
684struct kobject;
685#line 447
686enum kobj_ns_type {
687 KOBJ_NS_TYPE_NONE = 0,
688 KOBJ_NS_TYPE_NET = 1,
689 KOBJ_NS_TYPES = 2
690} ;
691#line 453 "include/linux/elf.h"
692struct kobj_ns_type_operations {
693 enum kobj_ns_type type ;
694 void *(*grab_current_ns)(void) ;
695 void const *(*netlink_ns)(struct sock * ) ;
696 void const *(*initial_ns)(void) ;
697 void (*drop_ns)(void * ) ;
698};
699#line 57 "include/linux/kobject_ns.h"
700struct attribute {
701 char const *name ;
702 umode_t mode ;
703 struct lock_class_key *key ;
704 struct lock_class_key skey ;
705};
706#line 98 "include/linux/sysfs.h"
707struct sysfs_ops {
708 ssize_t (*show)(struct kobject * , struct attribute * , char * ) ;
709 ssize_t (*store)(struct kobject * , struct attribute * , char const * , size_t ) ;
710 void const *(*namespace)(struct kobject * , struct attribute const * ) ;
711};
712#line 117
713struct sysfs_dirent;
714#line 117
715struct sysfs_dirent;
716#line 182 "include/linux/sysfs.h"
717struct kref {
718 atomic_t refcount ;
719};
720#line 49 "include/linux/kobject.h"
721struct kset;
722#line 49
723struct kobj_type;
724#line 49 "include/linux/kobject.h"
725struct kobject {
726 char const *name ;
727 struct list_head entry ;
728 struct kobject *parent ;
729 struct kset *kset ;
730 struct kobj_type *ktype ;
731 struct sysfs_dirent *sd ;
732 struct kref kref ;
733 unsigned char state_initialized : 1 ;
734 unsigned char state_in_sysfs : 1 ;
735 unsigned char state_add_uevent_sent : 1 ;
736 unsigned char state_remove_uevent_sent : 1 ;
737 unsigned char uevent_suppress : 1 ;
738};
739#line 107 "include/linux/kobject.h"
740struct kobj_type {
741 void (*release)(struct kobject * ) ;
742 struct sysfs_ops const *sysfs_ops ;
743 struct attribute **default_attrs ;
744 struct kobj_ns_type_operations const *(*child_ns_type)(struct kobject * ) ;
745 void const *(*namespace)(struct kobject * ) ;
746};
747#line 115 "include/linux/kobject.h"
748struct kobj_uevent_env {
749 char *envp[32U] ;
750 int envp_idx ;
751 char buf[2048U] ;
752 int buflen ;
753};
754#line 122 "include/linux/kobject.h"
755struct kset_uevent_ops {
756 int (* const filter)(struct kset * , struct kobject * ) ;
757 char const *(* const name)(struct kset * , struct kobject * ) ;
758 int (* const uevent)(struct kset * , struct kobject * , struct kobj_uevent_env * ) ;
759};
760#line 139 "include/linux/kobject.h"
761struct kset {
762 struct list_head list ;
763 spinlock_t list_lock ;
764 struct kobject kobj ;
765 struct kset_uevent_ops const *uevent_ops ;
766};
767#line 215
768struct kernel_param;
769#line 215
770struct kernel_param;
771#line 216 "include/linux/kobject.h"
772struct kernel_param_ops {
773 int (*set)(char const * , struct kernel_param const * ) ;
774 int (*get)(char * , struct kernel_param const * ) ;
775 void (*free)(void * ) ;
776};
777#line 49 "include/linux/moduleparam.h"
778struct kparam_string;
779#line 49
780struct kparam_array;
781#line 49 "include/linux/moduleparam.h"
782union __anonunion_ldv_13363_134 {
783 void *arg ;
784 struct kparam_string const *str ;
785 struct kparam_array const *arr ;
786};
787#line 49 "include/linux/moduleparam.h"
788struct kernel_param {
789 char const *name ;
790 struct kernel_param_ops const *ops ;
791 u16 perm ;
792 s16 level ;
793 union __anonunion_ldv_13363_134 ldv_13363 ;
794};
795#line 61 "include/linux/moduleparam.h"
796struct kparam_string {
797 unsigned int maxlen ;
798 char *string ;
799};
800#line 67 "include/linux/moduleparam.h"
801struct kparam_array {
802 unsigned int max ;
803 unsigned int elemsize ;
804 unsigned int *num ;
805 struct kernel_param_ops const *ops ;
806 void *elem ;
807};
808#line 458 "include/linux/moduleparam.h"
809struct static_key {
810 atomic_t enabled ;
811};
812#line 225 "include/linux/jump_label.h"
813struct tracepoint;
814#line 225
815struct tracepoint;
816#line 226 "include/linux/jump_label.h"
817struct tracepoint_func {
818 void *func ;
819 void *data ;
820};
821#line 29 "include/linux/tracepoint.h"
822struct tracepoint {
823 char const *name ;
824 struct static_key key ;
825 void (*regfunc)(void) ;
826 void (*unregfunc)(void) ;
827 struct tracepoint_func *funcs ;
828};
829#line 86 "include/linux/tracepoint.h"
830struct kernel_symbol {
831 unsigned long value ;
832 char const *name ;
833};
834#line 27 "include/linux/export.h"
835struct mod_arch_specific {
836
837};
838#line 34 "include/linux/module.h"
839struct module_param_attrs;
840#line 34 "include/linux/module.h"
841struct module_kobject {
842 struct kobject kobj ;
843 struct module *mod ;
844 struct kobject *drivers_dir ;
845 struct module_param_attrs *mp ;
846};
847#line 43 "include/linux/module.h"
848struct module_attribute {
849 struct attribute attr ;
850 ssize_t (*show)(struct module_attribute * , struct module_kobject * , char * ) ;
851 ssize_t (*store)(struct module_attribute * , struct module_kobject * , char const * ,
852 size_t ) ;
853 void (*setup)(struct module * , char const * ) ;
854 int (*test)(struct module * ) ;
855 void (*free)(struct module * ) ;
856};
857#line 69
858struct exception_table_entry;
859#line 69
860struct exception_table_entry;
861#line 198
862enum module_state {
863 MODULE_STATE_LIVE = 0,
864 MODULE_STATE_COMING = 1,
865 MODULE_STATE_GOING = 2
866} ;
867#line 204 "include/linux/module.h"
868struct module_ref {
869 unsigned long incs ;
870 unsigned long decs ;
871};
872#line 219
873struct module_sect_attrs;
874#line 219
875struct module_notes_attrs;
876#line 219
877struct ftrace_event_call;
878#line 219 "include/linux/module.h"
879struct module {
880 enum module_state state ;
881 struct list_head list ;
882 char name[56U] ;
883 struct module_kobject mkobj ;
884 struct module_attribute *modinfo_attrs ;
885 char const *version ;
886 char const *srcversion ;
887 struct kobject *holders_dir ;
888 struct kernel_symbol const *syms ;
889 unsigned long const *crcs ;
890 unsigned int num_syms ;
891 struct kernel_param *kp ;
892 unsigned int num_kp ;
893 unsigned int num_gpl_syms ;
894 struct kernel_symbol const *gpl_syms ;
895 unsigned long const *gpl_crcs ;
896 struct kernel_symbol const *unused_syms ;
897 unsigned long const *unused_crcs ;
898 unsigned int num_unused_syms ;
899 unsigned int num_unused_gpl_syms ;
900 struct kernel_symbol const *unused_gpl_syms ;
901 unsigned long const *unused_gpl_crcs ;
902 struct kernel_symbol const *gpl_future_syms ;
903 unsigned long const *gpl_future_crcs ;
904 unsigned int num_gpl_future_syms ;
905 unsigned int num_exentries ;
906 struct exception_table_entry *extable ;
907 int (*init)(void) ;
908 void *module_init ;
909 void *module_core ;
910 unsigned int init_size ;
911 unsigned int core_size ;
912 unsigned int init_text_size ;
913 unsigned int core_text_size ;
914 unsigned int init_ro_size ;
915 unsigned int core_ro_size ;
916 struct mod_arch_specific arch ;
917 unsigned int taints ;
918 unsigned int num_bugs ;
919 struct list_head bug_list ;
920 struct bug_entry *bug_table ;
921 Elf64_Sym *symtab ;
922 Elf64_Sym *core_symtab ;
923 unsigned int num_symtab ;
924 unsigned int core_num_syms ;
925 char *strtab ;
926 char *core_strtab ;
927 struct module_sect_attrs *sect_attrs ;
928 struct module_notes_attrs *notes_attrs ;
929 char *args ;
930 void *percpu ;
931 unsigned int percpu_size ;
932 unsigned int num_tracepoints ;
933 struct tracepoint * const *tracepoints_ptrs ;
934 unsigned int num_trace_bprintk_fmt ;
935 char const **trace_bprintk_fmt_start ;
936 struct ftrace_event_call **trace_events ;
937 unsigned int num_trace_events ;
938 struct list_head source_list ;
939 struct list_head target_list ;
940 struct task_struct *waiter ;
941 void (*exit)(void) ;
942 struct module_ref *refptr ;
943 ctor_fn_t (**ctors)(void) ;
944 unsigned int num_ctors ;
945};
946#line 88 "include/linux/kmemleak.h"
947struct kmem_cache_cpu {
948 void **freelist ;
949 unsigned long tid ;
950 struct page *page ;
951 struct page *partial ;
952 int node ;
953 unsigned int stat[26U] ;
954};
955#line 55 "include/linux/slub_def.h"
956struct kmem_cache_node {
957 spinlock_t list_lock ;
958 unsigned long nr_partial ;
959 struct list_head partial ;
960 atomic_long_t nr_slabs ;
961 atomic_long_t total_objects ;
962 struct list_head full ;
963};
964#line 66 "include/linux/slub_def.h"
965struct kmem_cache_order_objects {
966 unsigned long x ;
967};
968#line 76 "include/linux/slub_def.h"
969struct kmem_cache {
970 struct kmem_cache_cpu *cpu_slab ;
971 unsigned long flags ;
972 unsigned long min_partial ;
973 int size ;
974 int objsize ;
975 int offset ;
976 int cpu_partial ;
977 struct kmem_cache_order_objects oo ;
978 struct kmem_cache_order_objects max ;
979 struct kmem_cache_order_objects min ;
980 gfp_t allocflags ;
981 int refcount ;
982 void (*ctor)(void * ) ;
983 int inuse ;
984 int align ;
985 int reserved ;
986 char const *name ;
987 struct list_head list ;
988 struct kobject kobj ;
989 int remote_node_defrag_ratio ;
990 struct kmem_cache_node *node[1024U] ;
991};
992#line 15 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17372/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/wafer5823wdt.c.p"
993struct file_operations;
994#line 15 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17372/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/wafer5823wdt.c.p"
995struct miscdevice {
996 int minor ;
997 char const *name ;
998 struct file_operations const *fops ;
999 struct list_head list ;
1000 struct device *parent ;
1001 struct device *this_device ;
1002 char const *nodename ;
1003 umode_t mode ;
1004};
1005#line 63 "include/linux/miscdevice.h"
1006struct watchdog_info {
1007 __u32 options ;
1008 __u32 firmware_version ;
1009 __u8 identity[32U] ;
1010};
1011#line 155 "include/linux/watchdog.h"
1012struct block_device;
1013#line 155
1014struct block_device;
1015#line 93 "include/linux/bit_spinlock.h"
1016struct hlist_bl_node;
1017#line 93 "include/linux/bit_spinlock.h"
1018struct hlist_bl_head {
1019 struct hlist_bl_node *first ;
1020};
1021#line 36 "include/linux/list_bl.h"
1022struct hlist_bl_node {
1023 struct hlist_bl_node *next ;
1024 struct hlist_bl_node **pprev ;
1025};
1026#line 114 "include/linux/rculist_bl.h"
1027struct nameidata;
1028#line 114
1029struct nameidata;
1030#line 115
1031struct path;
1032#line 115
1033struct path;
1034#line 116
1035struct vfsmount;
1036#line 116
1037struct vfsmount;
1038#line 117 "include/linux/rculist_bl.h"
1039struct qstr {
1040 unsigned int hash ;
1041 unsigned int len ;
1042 unsigned char const *name ;
1043};
1044#line 72 "include/linux/dcache.h"
1045struct inode;
1046#line 72
1047struct dentry_operations;
1048#line 72
1049struct super_block;
1050#line 72 "include/linux/dcache.h"
1051union __anonunion_d_u_135 {
1052 struct list_head d_child ;
1053 struct rcu_head d_rcu ;
1054};
1055#line 72 "include/linux/dcache.h"
1056struct dentry {
1057 unsigned int d_flags ;
1058 seqcount_t d_seq ;
1059 struct hlist_bl_node d_hash ;
1060 struct dentry *d_parent ;
1061 struct qstr d_name ;
1062 struct inode *d_inode ;
1063 unsigned char d_iname[32U] ;
1064 unsigned int d_count ;
1065 spinlock_t d_lock ;
1066 struct dentry_operations const *d_op ;
1067 struct super_block *d_sb ;
1068 unsigned long d_time ;
1069 void *d_fsdata ;
1070 struct list_head d_lru ;
1071 union __anonunion_d_u_135 d_u ;
1072 struct list_head d_subdirs ;
1073 struct list_head d_alias ;
1074};
1075#line 123 "include/linux/dcache.h"
1076struct dentry_operations {
1077 int (*d_revalidate)(struct dentry * , struct nameidata * ) ;
1078 int (*d_hash)(struct dentry const * , struct inode const * , struct qstr * ) ;
1079 int (*d_compare)(struct dentry const * , struct inode const * , struct dentry const * ,
1080 struct inode const * , unsigned int , char const * , struct qstr const * ) ;
1081 int (*d_delete)(struct dentry const * ) ;
1082 void (*d_release)(struct dentry * ) ;
1083 void (*d_prune)(struct dentry * ) ;
1084 void (*d_iput)(struct dentry * , struct inode * ) ;
1085 char *(*d_dname)(struct dentry * , char * , int ) ;
1086 struct vfsmount *(*d_automount)(struct path * ) ;
1087 int (*d_manage)(struct dentry * , bool ) ;
1088};
1089#line 402 "include/linux/dcache.h"
1090struct path {
1091 struct vfsmount *mnt ;
1092 struct dentry *dentry ;
1093};
1094#line 58 "include/linux/radix-tree.h"
1095struct radix_tree_node;
1096#line 58 "include/linux/radix-tree.h"
1097struct radix_tree_root {
1098 unsigned int height ;
1099 gfp_t gfp_mask ;
1100 struct radix_tree_node *rnode ;
1101};
1102#line 377
1103struct prio_tree_node;
1104#line 19 "include/linux/prio_tree.h"
1105struct prio_tree_node {
1106 struct prio_tree_node *left ;
1107 struct prio_tree_node *right ;
1108 struct prio_tree_node *parent ;
1109 unsigned long start ;
1110 unsigned long last ;
1111};
1112#line 27 "include/linux/prio_tree.h"
1113struct prio_tree_root {
1114 struct prio_tree_node *prio_tree_node ;
1115 unsigned short index_bits ;
1116 unsigned short raw ;
1117};
1118#line 111
1119enum pid_type {
1120 PIDTYPE_PID = 0,
1121 PIDTYPE_PGID = 1,
1122 PIDTYPE_SID = 2,
1123 PIDTYPE_MAX = 3
1124} ;
1125#line 118
1126struct pid_namespace;
1127#line 118 "include/linux/prio_tree.h"
1128struct upid {
1129 int nr ;
1130 struct pid_namespace *ns ;
1131 struct hlist_node pid_chain ;
1132};
1133#line 56 "include/linux/pid.h"
1134struct pid {
1135 atomic_t count ;
1136 unsigned int level ;
1137 struct hlist_head tasks[3U] ;
1138 struct rcu_head rcu ;
1139 struct upid numbers[1U] ;
1140};
1141#line 45 "include/linux/semaphore.h"
1142struct fiemap_extent {
1143 __u64 fe_logical ;
1144 __u64 fe_physical ;
1145 __u64 fe_length ;
1146 __u64 fe_reserved64[2U] ;
1147 __u32 fe_flags ;
1148 __u32 fe_reserved[3U] ;
1149};
1150#line 38 "include/linux/fiemap.h"
1151struct shrink_control {
1152 gfp_t gfp_mask ;
1153 unsigned long nr_to_scan ;
1154};
1155#line 14 "include/linux/shrinker.h"
1156struct shrinker {
1157 int (*shrink)(struct shrinker * , struct shrink_control * ) ;
1158 int seeks ;
1159 long batch ;
1160 struct list_head list ;
1161 atomic_long_t nr_in_batch ;
1162};
1163#line 43
1164enum migrate_mode {
1165 MIGRATE_ASYNC = 0,
1166 MIGRATE_SYNC_LIGHT = 1,
1167 MIGRATE_SYNC = 2
1168} ;
1169#line 49
1170struct export_operations;
1171#line 49
1172struct export_operations;
1173#line 51
1174struct iovec;
1175#line 51
1176struct iovec;
1177#line 52
1178struct kiocb;
1179#line 52
1180struct kiocb;
1181#line 53
1182struct pipe_inode_info;
1183#line 53
1184struct pipe_inode_info;
1185#line 54
1186struct poll_table_struct;
1187#line 54
1188struct poll_table_struct;
1189#line 55
1190struct kstatfs;
1191#line 55
1192struct kstatfs;
1193#line 435 "include/linux/fs.h"
1194struct iattr {
1195 unsigned int ia_valid ;
1196 umode_t ia_mode ;
1197 uid_t ia_uid ;
1198 gid_t ia_gid ;
1199 loff_t ia_size ;
1200 struct timespec ia_atime ;
1201 struct timespec ia_mtime ;
1202 struct timespec ia_ctime ;
1203 struct file *ia_file ;
1204};
1205#line 119 "include/linux/quota.h"
1206struct if_dqinfo {
1207 __u64 dqi_bgrace ;
1208 __u64 dqi_igrace ;
1209 __u32 dqi_flags ;
1210 __u32 dqi_valid ;
1211};
1212#line 176 "include/linux/percpu_counter.h"
1213struct fs_disk_quota {
1214 __s8 d_version ;
1215 __s8 d_flags ;
1216 __u16 d_fieldmask ;
1217 __u32 d_id ;
1218 __u64 d_blk_hardlimit ;
1219 __u64 d_blk_softlimit ;
1220 __u64 d_ino_hardlimit ;
1221 __u64 d_ino_softlimit ;
1222 __u64 d_bcount ;
1223 __u64 d_icount ;
1224 __s32 d_itimer ;
1225 __s32 d_btimer ;
1226 __u16 d_iwarns ;
1227 __u16 d_bwarns ;
1228 __s32 d_padding2 ;
1229 __u64 d_rtb_hardlimit ;
1230 __u64 d_rtb_softlimit ;
1231 __u64 d_rtbcount ;
1232 __s32 d_rtbtimer ;
1233 __u16 d_rtbwarns ;
1234 __s16 d_padding3 ;
1235 char d_padding4[8U] ;
1236};
1237#line 75 "include/linux/dqblk_xfs.h"
1238struct fs_qfilestat {
1239 __u64 qfs_ino ;
1240 __u64 qfs_nblks ;
1241 __u32 qfs_nextents ;
1242};
1243#line 150 "include/linux/dqblk_xfs.h"
1244typedef struct fs_qfilestat fs_qfilestat_t;
1245#line 151 "include/linux/dqblk_xfs.h"
1246struct fs_quota_stat {
1247 __s8 qs_version ;
1248 __u16 qs_flags ;
1249 __s8 qs_pad ;
1250 fs_qfilestat_t qs_uquota ;
1251 fs_qfilestat_t qs_gquota ;
1252 __u32 qs_incoredqs ;
1253 __s32 qs_btimelimit ;
1254 __s32 qs_itimelimit ;
1255 __s32 qs_rtbtimelimit ;
1256 __u16 qs_bwarnlimit ;
1257 __u16 qs_iwarnlimit ;
1258};
1259#line 165
1260struct dquot;
1261#line 165
1262struct dquot;
1263#line 185 "include/linux/quota.h"
1264typedef __kernel_uid32_t qid_t;
1265#line 186 "include/linux/quota.h"
1266typedef long long qsize_t;
1267#line 189 "include/linux/quota.h"
1268struct mem_dqblk {
1269 qsize_t dqb_bhardlimit ;
1270 qsize_t dqb_bsoftlimit ;
1271 qsize_t dqb_curspace ;
1272 qsize_t dqb_rsvspace ;
1273 qsize_t dqb_ihardlimit ;
1274 qsize_t dqb_isoftlimit ;
1275 qsize_t dqb_curinodes ;
1276 time_t dqb_btime ;
1277 time_t dqb_itime ;
1278};
1279#line 211
1280struct quota_format_type;
1281#line 211
1282struct quota_format_type;
1283#line 212 "include/linux/quota.h"
1284struct mem_dqinfo {
1285 struct quota_format_type *dqi_format ;
1286 int dqi_fmt_id ;
1287 struct list_head dqi_dirty_list ;
1288 unsigned long dqi_flags ;
1289 unsigned int dqi_bgrace ;
1290 unsigned int dqi_igrace ;
1291 qsize_t dqi_maxblimit ;
1292 qsize_t dqi_maxilimit ;
1293 void *dqi_priv ;
1294};
1295#line 275 "include/linux/quota.h"
1296struct dquot {
1297 struct hlist_node dq_hash ;
1298 struct list_head dq_inuse ;
1299 struct list_head dq_free ;
1300 struct list_head dq_dirty ;
1301 struct mutex dq_lock ;
1302 atomic_t dq_count ;
1303 wait_queue_head_t dq_wait_unused ;
1304 struct super_block *dq_sb ;
1305 unsigned int dq_id ;
1306 loff_t dq_off ;
1307 unsigned long dq_flags ;
1308 short dq_type ;
1309 struct mem_dqblk dq_dqb ;
1310};
1311#line 303 "include/linux/quota.h"
1312struct quota_format_ops {
1313 int (*check_quota_file)(struct super_block * , int ) ;
1314 int (*read_file_info)(struct super_block * , int ) ;
1315 int (*write_file_info)(struct super_block * , int ) ;
1316 int (*free_file_info)(struct super_block * , int ) ;
1317 int (*read_dqblk)(struct dquot * ) ;
1318 int (*commit_dqblk)(struct dquot * ) ;
1319 int (*release_dqblk)(struct dquot * ) ;
1320};
1321#line 314 "include/linux/quota.h"
1322struct dquot_operations {
1323 int (*write_dquot)(struct dquot * ) ;
1324 struct dquot *(*alloc_dquot)(struct super_block * , int ) ;
1325 void (*destroy_dquot)(struct dquot * ) ;
1326 int (*acquire_dquot)(struct dquot * ) ;
1327 int (*release_dquot)(struct dquot * ) ;
1328 int (*mark_dirty)(struct dquot * ) ;
1329 int (*write_info)(struct super_block * , int ) ;
1330 qsize_t *(*get_reserved_space)(struct inode * ) ;
1331};
1332#line 328 "include/linux/quota.h"
1333struct quotactl_ops {
1334 int (*quota_on)(struct super_block * , int , int , struct path * ) ;
1335 int (*quota_on_meta)(struct super_block * , int , int ) ;
1336 int (*quota_off)(struct super_block * , int ) ;
1337 int (*quota_sync)(struct super_block * , int , int ) ;
1338 int (*get_info)(struct super_block * , int , struct if_dqinfo * ) ;
1339 int (*set_info)(struct super_block * , int , struct if_dqinfo * ) ;
1340 int (*get_dqblk)(struct super_block * , int , qid_t , struct fs_disk_quota * ) ;
1341 int (*set_dqblk)(struct super_block * , int , qid_t , struct fs_disk_quota * ) ;
1342 int (*get_xstate)(struct super_block * , struct fs_quota_stat * ) ;
1343 int (*set_xstate)(struct super_block * , unsigned int , int ) ;
1344};
1345#line 344 "include/linux/quota.h"
1346struct quota_format_type {
1347 int qf_fmt_id ;
1348 struct quota_format_ops const *qf_ops ;
1349 struct module *qf_owner ;
1350 struct quota_format_type *qf_next ;
1351};
1352#line 390 "include/linux/quota.h"
1353struct quota_info {
1354 unsigned int flags ;
1355 struct mutex dqio_mutex ;
1356 struct mutex dqonoff_mutex ;
1357 struct rw_semaphore dqptr_sem ;
1358 struct inode *files[2U] ;
1359 struct mem_dqinfo info[2U] ;
1360 struct quota_format_ops const *ops[2U] ;
1361};
1362#line 421
1363struct address_space;
1364#line 421
1365struct address_space;
1366#line 422
1367struct writeback_control;
1368#line 422
1369struct writeback_control;
1370#line 585 "include/linux/fs.h"
1371union __anonunion_arg_138 {
1372 char *buf ;
1373 void *data ;
1374};
1375#line 585 "include/linux/fs.h"
1376struct __anonstruct_read_descriptor_t_137 {
1377 size_t written ;
1378 size_t count ;
1379 union __anonunion_arg_138 arg ;
1380 int error ;
1381};
1382#line 585 "include/linux/fs.h"
1383typedef struct __anonstruct_read_descriptor_t_137 read_descriptor_t;
1384#line 588 "include/linux/fs.h"
1385struct address_space_operations {
1386 int (*writepage)(struct page * , struct writeback_control * ) ;
1387 int (*readpage)(struct file * , struct page * ) ;
1388 int (*writepages)(struct address_space * , struct writeback_control * ) ;
1389 int (*set_page_dirty)(struct page * ) ;
1390 int (*readpages)(struct file * , struct address_space * , struct list_head * ,
1391 unsigned int ) ;
1392 int (*write_begin)(struct file * , struct address_space * , loff_t , unsigned int ,
1393 unsigned int , struct page ** , void ** ) ;
1394 int (*write_end)(struct file * , struct address_space * , loff_t , unsigned int ,
1395 unsigned int , struct page * , void * ) ;
1396 sector_t (*bmap)(struct address_space * , sector_t ) ;
1397 void (*invalidatepage)(struct page * , unsigned long ) ;
1398 int (*releasepage)(struct page * , gfp_t ) ;
1399 void (*freepage)(struct page * ) ;
1400 ssize_t (*direct_IO)(int , struct kiocb * , struct iovec const * , loff_t ,
1401 unsigned long ) ;
1402 int (*get_xip_mem)(struct address_space * , unsigned long , int , void ** , unsigned long * ) ;
1403 int (*migratepage)(struct address_space * , struct page * , struct page * , enum migrate_mode ) ;
1404 int (*launder_page)(struct page * ) ;
1405 int (*is_partially_uptodate)(struct page * , read_descriptor_t * , unsigned long ) ;
1406 int (*error_remove_page)(struct address_space * , struct page * ) ;
1407};
1408#line 642
1409struct backing_dev_info;
1410#line 642
1411struct backing_dev_info;
1412#line 643 "include/linux/fs.h"
1413struct address_space {
1414 struct inode *host ;
1415 struct radix_tree_root page_tree ;
1416 spinlock_t tree_lock ;
1417 unsigned int i_mmap_writable ;
1418 struct prio_tree_root i_mmap ;
1419 struct list_head i_mmap_nonlinear ;
1420 struct mutex i_mmap_mutex ;
1421 unsigned long nrpages ;
1422 unsigned long writeback_index ;
1423 struct address_space_operations const *a_ops ;
1424 unsigned long flags ;
1425 struct backing_dev_info *backing_dev_info ;
1426 spinlock_t private_lock ;
1427 struct list_head private_list ;
1428 struct address_space *assoc_mapping ;
1429};
1430#line 664
1431struct request_queue;
1432#line 664
1433struct request_queue;
1434#line 665
1435struct hd_struct;
1436#line 665
1437struct gendisk;
1438#line 665 "include/linux/fs.h"
1439struct block_device {
1440 dev_t bd_dev ;
1441 int bd_openers ;
1442 struct inode *bd_inode ;
1443 struct super_block *bd_super ;
1444 struct mutex bd_mutex ;
1445 struct list_head bd_inodes ;
1446 void *bd_claiming ;
1447 void *bd_holder ;
1448 int bd_holders ;
1449 bool bd_write_holder ;
1450 struct list_head bd_holder_disks ;
1451 struct block_device *bd_contains ;
1452 unsigned int bd_block_size ;
1453 struct hd_struct *bd_part ;
1454 unsigned int bd_part_count ;
1455 int bd_invalidated ;
1456 struct gendisk *bd_disk ;
1457 struct request_queue *bd_queue ;
1458 struct list_head bd_list ;
1459 unsigned long bd_private ;
1460 int bd_fsfreeze_count ;
1461 struct mutex bd_fsfreeze_mutex ;
1462};
1463#line 737
1464struct posix_acl;
1465#line 737
1466struct posix_acl;
1467#line 738
1468struct inode_operations;
1469#line 738 "include/linux/fs.h"
1470union __anonunion_ldv_15809_139 {
1471 unsigned int const i_nlink ;
1472 unsigned int __i_nlink ;
1473};
1474#line 738 "include/linux/fs.h"
1475union __anonunion_ldv_15828_140 {
1476 struct list_head i_dentry ;
1477 struct rcu_head i_rcu ;
1478};
1479#line 738
1480struct file_lock;
1481#line 738
1482struct cdev;
1483#line 738 "include/linux/fs.h"
1484union __anonunion_ldv_15845_141 {
1485 struct pipe_inode_info *i_pipe ;
1486 struct block_device *i_bdev ;
1487 struct cdev *i_cdev ;
1488};
1489#line 738 "include/linux/fs.h"
1490struct inode {
1491 umode_t i_mode ;
1492 unsigned short i_opflags ;
1493 uid_t i_uid ;
1494 gid_t i_gid ;
1495 unsigned int i_flags ;
1496 struct posix_acl *i_acl ;
1497 struct posix_acl *i_default_acl ;
1498 struct inode_operations const *i_op ;
1499 struct super_block *i_sb ;
1500 struct address_space *i_mapping ;
1501 void *i_security ;
1502 unsigned long i_ino ;
1503 union __anonunion_ldv_15809_139 ldv_15809 ;
1504 dev_t i_rdev ;
1505 struct timespec i_atime ;
1506 struct timespec i_mtime ;
1507 struct timespec i_ctime ;
1508 spinlock_t i_lock ;
1509 unsigned short i_bytes ;
1510 blkcnt_t i_blocks ;
1511 loff_t i_size ;
1512 unsigned long i_state ;
1513 struct mutex i_mutex ;
1514 unsigned long dirtied_when ;
1515 struct hlist_node i_hash ;
1516 struct list_head i_wb_list ;
1517 struct list_head i_lru ;
1518 struct list_head i_sb_list ;
1519 union __anonunion_ldv_15828_140 ldv_15828 ;
1520 atomic_t i_count ;
1521 unsigned int i_blkbits ;
1522 u64 i_version ;
1523 atomic_t i_dio_count ;
1524 atomic_t i_writecount ;
1525 struct file_operations const *i_fop ;
1526 struct file_lock *i_flock ;
1527 struct address_space i_data ;
1528 struct dquot *i_dquot[2U] ;
1529 struct list_head i_devices ;
1530 union __anonunion_ldv_15845_141 ldv_15845 ;
1531 __u32 i_generation ;
1532 __u32 i_fsnotify_mask ;
1533 struct hlist_head i_fsnotify_marks ;
1534 atomic_t i_readcount ;
1535 void *i_private ;
1536};
1537#line 941 "include/linux/fs.h"
1538struct fown_struct {
1539 rwlock_t lock ;
1540 struct pid *pid ;
1541 enum pid_type pid_type ;
1542 uid_t uid ;
1543 uid_t euid ;
1544 int signum ;
1545};
1546#line 949 "include/linux/fs.h"
1547struct file_ra_state {
1548 unsigned long start ;
1549 unsigned int size ;
1550 unsigned int async_size ;
1551 unsigned int ra_pages ;
1552 unsigned int mmap_miss ;
1553 loff_t prev_pos ;
1554};
1555#line 972 "include/linux/fs.h"
1556union __anonunion_f_u_142 {
1557 struct list_head fu_list ;
1558 struct rcu_head fu_rcuhead ;
1559};
1560#line 972 "include/linux/fs.h"
1561struct file {
1562 union __anonunion_f_u_142 f_u ;
1563 struct path f_path ;
1564 struct file_operations const *f_op ;
1565 spinlock_t f_lock ;
1566 int f_sb_list_cpu ;
1567 atomic_long_t f_count ;
1568 unsigned int f_flags ;
1569 fmode_t f_mode ;
1570 loff_t f_pos ;
1571 struct fown_struct f_owner ;
1572 struct cred const *f_cred ;
1573 struct file_ra_state f_ra ;
1574 u64 f_version ;
1575 void *f_security ;
1576 void *private_data ;
1577 struct list_head f_ep_links ;
1578 struct list_head f_tfile_llink ;
1579 struct address_space *f_mapping ;
1580 unsigned long f_mnt_write_state ;
1581};
1582#line 1111
1583struct files_struct;
1584#line 1111 "include/linux/fs.h"
1585typedef struct files_struct *fl_owner_t;
1586#line 1112 "include/linux/fs.h"
1587struct file_lock_operations {
1588 void (*fl_copy_lock)(struct file_lock * , struct file_lock * ) ;
1589 void (*fl_release_private)(struct file_lock * ) ;
1590};
1591#line 1117 "include/linux/fs.h"
1592struct lock_manager_operations {
1593 int (*lm_compare_owner)(struct file_lock * , struct file_lock * ) ;
1594 void (*lm_notify)(struct file_lock * ) ;
1595 int (*lm_grant)(struct file_lock * , struct file_lock * , int ) ;
1596 void (*lm_release_private)(struct file_lock * ) ;
1597 void (*lm_break)(struct file_lock * ) ;
1598 int (*lm_change)(struct file_lock ** , int ) ;
1599};
1600#line 1134
1601struct nlm_lockowner;
1602#line 1134
1603struct nlm_lockowner;
1604#line 1135 "include/linux/fs.h"
1605struct nfs_lock_info {
1606 u32 state ;
1607 struct nlm_lockowner *owner ;
1608 struct list_head list ;
1609};
1610#line 14 "include/linux/nfs_fs_i.h"
1611struct nfs4_lock_state;
1612#line 14
1613struct nfs4_lock_state;
1614#line 15 "include/linux/nfs_fs_i.h"
1615struct nfs4_lock_info {
1616 struct nfs4_lock_state *owner ;
1617};
1618#line 19
1619struct fasync_struct;
1620#line 19 "include/linux/nfs_fs_i.h"
1621struct __anonstruct_afs_144 {
1622 struct list_head link ;
1623 int state ;
1624};
1625#line 19 "include/linux/nfs_fs_i.h"
1626union __anonunion_fl_u_143 {
1627 struct nfs_lock_info nfs_fl ;
1628 struct nfs4_lock_info nfs4_fl ;
1629 struct __anonstruct_afs_144 afs ;
1630};
1631#line 19 "include/linux/nfs_fs_i.h"
1632struct file_lock {
1633 struct file_lock *fl_next ;
1634 struct list_head fl_link ;
1635 struct list_head fl_block ;
1636 fl_owner_t fl_owner ;
1637 unsigned int fl_flags ;
1638 unsigned char fl_type ;
1639 unsigned int fl_pid ;
1640 struct pid *fl_nspid ;
1641 wait_queue_head_t fl_wait ;
1642 struct file *fl_file ;
1643 loff_t fl_start ;
1644 loff_t fl_end ;
1645 struct fasync_struct *fl_fasync ;
1646 unsigned long fl_break_time ;
1647 unsigned long fl_downgrade_time ;
1648 struct file_lock_operations const *fl_ops ;
1649 struct lock_manager_operations const *fl_lmops ;
1650 union __anonunion_fl_u_143 fl_u ;
1651};
1652#line 1221 "include/linux/fs.h"
1653struct fasync_struct {
1654 spinlock_t fa_lock ;
1655 int magic ;
1656 int fa_fd ;
1657 struct fasync_struct *fa_next ;
1658 struct file *fa_file ;
1659 struct rcu_head fa_rcu ;
1660};
1661#line 1417
1662struct file_system_type;
1663#line 1417
1664struct super_operations;
1665#line 1417
1666struct xattr_handler;
1667#line 1417
1668struct mtd_info;
1669#line 1417 "include/linux/fs.h"
1670struct super_block {
1671 struct list_head s_list ;
1672 dev_t s_dev ;
1673 unsigned char s_dirt ;
1674 unsigned char s_blocksize_bits ;
1675 unsigned long s_blocksize ;
1676 loff_t s_maxbytes ;
1677 struct file_system_type *s_type ;
1678 struct super_operations const *s_op ;
1679 struct dquot_operations const *dq_op ;
1680 struct quotactl_ops const *s_qcop ;
1681 struct export_operations const *s_export_op ;
1682 unsigned long s_flags ;
1683 unsigned long s_magic ;
1684 struct dentry *s_root ;
1685 struct rw_semaphore s_umount ;
1686 struct mutex s_lock ;
1687 int s_count ;
1688 atomic_t s_active ;
1689 void *s_security ;
1690 struct xattr_handler const **s_xattr ;
1691 struct list_head s_inodes ;
1692 struct hlist_bl_head s_anon ;
1693 struct list_head *s_files ;
1694 struct list_head s_mounts ;
1695 struct list_head s_dentry_lru ;
1696 int s_nr_dentry_unused ;
1697 spinlock_t s_inode_lru_lock ;
1698 struct list_head s_inode_lru ;
1699 int s_nr_inodes_unused ;
1700 struct block_device *s_bdev ;
1701 struct backing_dev_info *s_bdi ;
1702 struct mtd_info *s_mtd ;
1703 struct hlist_node s_instances ;
1704 struct quota_info s_dquot ;
1705 int s_frozen ;
1706 wait_queue_head_t s_wait_unfrozen ;
1707 char s_id[32U] ;
1708 u8 s_uuid[16U] ;
1709 void *s_fs_info ;
1710 unsigned int s_max_links ;
1711 fmode_t s_mode ;
1712 u32 s_time_gran ;
1713 struct mutex s_vfs_rename_mutex ;
1714 char *s_subtype ;
1715 char *s_options ;
1716 struct dentry_operations const *s_d_op ;
1717 int cleancache_poolid ;
1718 struct shrinker s_shrink ;
1719 atomic_long_t s_remove_count ;
1720 int s_readonly_remount ;
1721};
1722#line 1563 "include/linux/fs.h"
1723struct fiemap_extent_info {
1724 unsigned int fi_flags ;
1725 unsigned int fi_extents_mapped ;
1726 unsigned int fi_extents_max ;
1727 struct fiemap_extent *fi_extents_start ;
1728};
1729#line 1602 "include/linux/fs.h"
1730struct file_operations {
1731 struct module *owner ;
1732 loff_t (*llseek)(struct file * , loff_t , int ) ;
1733 ssize_t (*read)(struct file * , char * , size_t , loff_t * ) ;
1734 ssize_t (*write)(struct file * , char const * , size_t , loff_t * ) ;
1735 ssize_t (*aio_read)(struct kiocb * , struct iovec const * , unsigned long ,
1736 loff_t ) ;
1737 ssize_t (*aio_write)(struct kiocb * , struct iovec const * , unsigned long ,
1738 loff_t ) ;
1739 int (*readdir)(struct file * , void * , int (*)(void * , char const * , int ,
1740 loff_t , u64 , unsigned int ) ) ;
1741 unsigned int (*poll)(struct file * , struct poll_table_struct * ) ;
1742 long (*unlocked_ioctl)(struct file * , unsigned int , unsigned long ) ;
1743 long (*compat_ioctl)(struct file * , unsigned int , unsigned long ) ;
1744 int (*mmap)(struct file * , struct vm_area_struct * ) ;
1745 int (*open)(struct inode * , struct file * ) ;
1746 int (*flush)(struct file * , fl_owner_t ) ;
1747 int (*release)(struct inode * , struct file * ) ;
1748 int (*fsync)(struct file * , loff_t , loff_t , int ) ;
1749 int (*aio_fsync)(struct kiocb * , int ) ;
1750 int (*fasync)(int , struct file * , int ) ;
1751 int (*lock)(struct file * , int , struct file_lock * ) ;
1752 ssize_t (*sendpage)(struct file * , struct page * , int , size_t , loff_t * ,
1753 int ) ;
1754 unsigned long (*get_unmapped_area)(struct file * , unsigned long , unsigned long ,
1755 unsigned long , unsigned long ) ;
1756 int (*check_flags)(int ) ;
1757 int (*flock)(struct file * , int , struct file_lock * ) ;
1758 ssize_t (*splice_write)(struct pipe_inode_info * , struct file * , loff_t * , size_t ,
1759 unsigned int ) ;
1760 ssize_t (*splice_read)(struct file * , loff_t * , struct pipe_inode_info * , size_t ,
1761 unsigned int ) ;
1762 int (*setlease)(struct file * , long , struct file_lock ** ) ;
1763 long (*fallocate)(struct file * , int , loff_t , loff_t ) ;
1764};
1765#line 1637 "include/linux/fs.h"
1766struct inode_operations {
1767 struct dentry *(*lookup)(struct inode * , struct dentry * , struct nameidata * ) ;
1768 void *(*follow_link)(struct dentry * , struct nameidata * ) ;
1769 int (*permission)(struct inode * , int ) ;
1770 struct posix_acl *(*get_acl)(struct inode * , int ) ;
1771 int (*readlink)(struct dentry * , char * , int ) ;
1772 void (*put_link)(struct dentry * , struct nameidata * , void * ) ;
1773 int (*create)(struct inode * , struct dentry * , umode_t , struct nameidata * ) ;
1774 int (*link)(struct dentry * , struct inode * , struct dentry * ) ;
1775 int (*unlink)(struct inode * , struct dentry * ) ;
1776 int (*symlink)(struct inode * , struct dentry * , char const * ) ;
1777 int (*mkdir)(struct inode * , struct dentry * , umode_t ) ;
1778 int (*rmdir)(struct inode * , struct dentry * ) ;
1779 int (*mknod)(struct inode * , struct dentry * , umode_t , dev_t ) ;
1780 int (*rename)(struct inode * , struct dentry * , struct inode * , struct dentry * ) ;
1781 void (*truncate)(struct inode * ) ;
1782 int (*setattr)(struct dentry * , struct iattr * ) ;
1783 int (*getattr)(struct vfsmount * , struct dentry * , struct kstat * ) ;
1784 int (*setxattr)(struct dentry * , char const * , void const * , size_t , int ) ;
1785 ssize_t (*getxattr)(struct dentry * , char const * , void * , size_t ) ;
1786 ssize_t (*listxattr)(struct dentry * , char * , size_t ) ;
1787 int (*removexattr)(struct dentry * , char const * ) ;
1788 void (*truncate_range)(struct inode * , loff_t , loff_t ) ;
1789 int (*fiemap)(struct inode * , struct fiemap_extent_info * , u64 , u64 ) ;
1790};
1791#line 1682 "include/linux/fs.h"
1792struct super_operations {
1793 struct inode *(*alloc_inode)(struct super_block * ) ;
1794 void (*destroy_inode)(struct inode * ) ;
1795 void (*dirty_inode)(struct inode * , int ) ;
1796 int (*write_inode)(struct inode * , struct writeback_control * ) ;
1797 int (*drop_inode)(struct inode * ) ;
1798 void (*evict_inode)(struct inode * ) ;
1799 void (*put_super)(struct super_block * ) ;
1800 void (*write_super)(struct super_block * ) ;
1801 int (*sync_fs)(struct super_block * , int ) ;
1802 int (*freeze_fs)(struct super_block * ) ;
1803 int (*unfreeze_fs)(struct super_block * ) ;
1804 int (*statfs)(struct dentry * , struct kstatfs * ) ;
1805 int (*remount_fs)(struct super_block * , int * , char * ) ;
1806 void (*umount_begin)(struct super_block * ) ;
1807 int (*show_options)(struct seq_file * , struct dentry * ) ;
1808 int (*show_devname)(struct seq_file * , struct dentry * ) ;
1809 int (*show_path)(struct seq_file * , struct dentry * ) ;
1810 int (*show_stats)(struct seq_file * , struct dentry * ) ;
1811 ssize_t (*quota_read)(struct super_block * , int , char * , size_t , loff_t ) ;
1812 ssize_t (*quota_write)(struct super_block * , int , char const * , size_t ,
1813 loff_t ) ;
1814 int (*bdev_try_to_free_page)(struct super_block * , struct page * , gfp_t ) ;
1815 int (*nr_cached_objects)(struct super_block * ) ;
1816 void (*free_cached_objects)(struct super_block * , int ) ;
1817};
1818#line 1834 "include/linux/fs.h"
1819struct file_system_type {
1820 char const *name ;
1821 int fs_flags ;
1822 struct dentry *(*mount)(struct file_system_type * , int , char const * , void * ) ;
1823 void (*kill_sb)(struct super_block * ) ;
1824 struct module *owner ;
1825 struct file_system_type *next ;
1826 struct hlist_head fs_supers ;
1827 struct lock_class_key s_lock_key ;
1828 struct lock_class_key s_umount_key ;
1829 struct lock_class_key s_vfs_rename_key ;
1830 struct lock_class_key i_lock_key ;
1831 struct lock_class_key i_mutex_key ;
1832 struct lock_class_key i_mutex_dir_key ;
1833};
1834#line 69 "include/linux/io.h"
1835struct exception_table_entry {
1836 unsigned long insn ;
1837 unsigned long fixup ;
1838};
1839#line 2 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17372/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/wafer5823wdt.c.p"
1840void ldv_spin_lock(void) ;
1841#line 3
1842void ldv_spin_unlock(void) ;
1843#line 4
1844int ldv_spin_trylock(void) ;
1845#line 98 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/bitops.h"
1846__inline static void clear_bit(int nr , unsigned long volatile *addr )
1847{ long volatile *__cil_tmp3 ;
1848
1849 {
1850#line 105
1851 __cil_tmp3 = (long volatile *)addr;
1852#line 105
1853 __asm__ volatile (".section .smp_locks,\"a\"\n.balign 4\n.long 671f - .\n.previous\n671:\n\tlock; btr %1,%0": "+m" (*__cil_tmp3): "Ir" (nr));
1854#line 107
1855 return;
1856}
1857}
1858#line 195 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/bitops.h"
1859__inline static int test_and_set_bit(int nr , unsigned long volatile *addr )
1860{ int oldbit ;
1861 long volatile *__cil_tmp4 ;
1862
1863 {
1864#line 199
1865 __cil_tmp4 = (long volatile *)addr;
1866#line 199
1867 __asm__ volatile (".section .smp_locks,\"a\"\n.balign 4\n.long 671f - .\n.previous\n671:\n\tlock; bts %2,%1\n\tsbb %0,%0": "=r" (oldbit),
1868 "+m" (*__cil_tmp4): "Ir" (nr): "memory");
1869#line 202
1870 return (oldbit);
1871}
1872}
1873#line 101 "include/linux/printk.h"
1874extern int printk(char const * , ...) ;
1875#line 192 "include/linux/kernel.h"
1876extern void might_fault(void) ;
1877#line 355 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt_types.h"
1878extern struct pv_cpu_ops pv_cpu_ops ;
1879#line 349 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt.h"
1880__inline static void slow_down_io(void)
1881{ unsigned long __cil_tmp1 ;
1882 void (*__cil_tmp2)(void) ;
1883
1884 {
1885 {
1886#line 351
1887 __cil_tmp1 = (unsigned long )(& pv_cpu_ops) + 216;
1888#line 351
1889 __cil_tmp2 = *((void (**)(void))__cil_tmp1);
1890#line 351
1891 (*__cil_tmp2)();
1892 }
1893#line 352
1894 return;
1895}
1896}
1897#line 22 "include/linux/spinlock_api_smp.h"
1898extern void _raw_spin_lock(raw_spinlock_t * ) ;
1899#line 39
1900extern void _raw_spin_unlock(raw_spinlock_t * ) ;
1901#line 283 "include/linux/spinlock.h"
1902__inline static void ldv_spin_lock_1(spinlock_t *lock )
1903{ struct raw_spinlock *__cil_tmp2 ;
1904
1905 {
1906 {
1907#line 285
1908 __cil_tmp2 = (struct raw_spinlock *)lock;
1909#line 285
1910 _raw_spin_lock(__cil_tmp2);
1911 }
1912#line 286
1913 return;
1914}
1915}
1916#line 283
1917__inline static void spin_lock(spinlock_t *lock ) ;
1918#line 323 "include/linux/spinlock.h"
1919__inline static void ldv_spin_unlock_5(spinlock_t *lock )
1920{ struct raw_spinlock *__cil_tmp2 ;
1921
1922 {
1923 {
1924#line 325
1925 __cil_tmp2 = (struct raw_spinlock *)lock;
1926#line 325
1927 _raw_spin_unlock(__cil_tmp2);
1928 }
1929#line 326
1930 return;
1931}
1932}
1933#line 323
1934__inline static void spin_unlock(spinlock_t *lock ) ;
1935#line 137 "include/linux/ioport.h"
1936extern struct resource ioport_resource ;
1937#line 181
1938extern struct resource *__request_region(struct resource * , resource_size_t , resource_size_t ,
1939 char const * , int ) ;
1940#line 192
1941extern void __release_region(struct resource * , resource_size_t , resource_size_t ) ;
1942#line 308 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
1943__inline static void outb(unsigned char value , int port )
1944{
1945
1946 {
1947#line 308
1948 __asm__ volatile ("outb %b0, %w1": : "a" (value), "Nd" (port));
1949#line 309
1950 return;
1951}
1952}
1953#line 308 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
1954__inline static unsigned char inb(int port )
1955{ unsigned char value ;
1956
1957 {
1958#line 308
1959 __asm__ volatile ("inb %w1, %b0": "=a" (value): "Nd" (port));
1960#line 308
1961 return (value);
1962}
1963}
1964#line 308 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
1965__inline static void outb_p(unsigned char value , int port )
1966{ int __cil_tmp3 ;
1967 unsigned char __cil_tmp4 ;
1968
1969 {
1970 {
1971#line 308
1972 __cil_tmp3 = (int )value;
1973#line 308
1974 __cil_tmp4 = (unsigned char )__cil_tmp3;
1975#line 308
1976 outb(__cil_tmp4, port);
1977#line 308
1978 slow_down_io();
1979 }
1980#line 309
1981 return;
1982}
1983}
1984#line 308 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
1985__inline static unsigned char inb_p(int port )
1986{ unsigned char value ;
1987 unsigned char tmp ;
1988
1989 {
1990 {
1991#line 308
1992 tmp = inb(port);
1993#line 308
1994 value = tmp;
1995#line 308
1996 slow_down_io();
1997 }
1998#line 308
1999 return (value);
2000}
2001}
2002#line 26 "include/linux/export.h"
2003extern struct module __this_module ;
2004#line 220 "include/linux/slub_def.h"
2005extern void *kmem_cache_alloc(struct kmem_cache * , gfp_t ) ;
2006#line 223
2007void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 ) ;
2008#line 11 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17372/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/wafer5823wdt.c.p"
2009void ldv_check_alloc_flags(gfp_t flags ) ;
2010#line 12
2011void ldv_check_alloc_nonatomic(void) ;
2012#line 14
2013struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags ) ;
2014#line 61 "include/linux/miscdevice.h"
2015extern int misc_register(struct miscdevice * ) ;
2016#line 62
2017extern int misc_deregister(struct miscdevice * ) ;
2018#line 2402 "include/linux/fs.h"
2019extern loff_t no_llseek(struct file * , loff_t , int ) ;
2020#line 2407
2021extern int nonseekable_open(struct inode * , struct file * ) ;
2022#line 47 "include/linux/reboot.h"
2023extern int register_reboot_notifier(struct notifier_block * ) ;
2024#line 48
2025extern int unregister_reboot_notifier(struct notifier_block * ) ;
2026#line 40 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/uaccess_64.h"
2027extern unsigned long _copy_to_user(void * , void const * , unsigned int ) ;
2028#line 63 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/uaccess_64.h"
2029__inline static int copy_to_user(void *dst , void const *src , unsigned int size )
2030{ unsigned long tmp ;
2031
2032 {
2033 {
2034#line 65
2035 might_fault();
2036#line 67
2037 tmp = _copy_to_user(dst, src, size);
2038 }
2039#line 67
2040 return ((int )tmp);
2041}
2042}
2043#line 63 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17372/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/wafer5823wdt.c.p"
2044static unsigned long wafwdt_is_open ;
2045#line 64 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17372/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/wafer5823wdt.c.p"
2046static char expect_close ;
2047#line 65 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17372/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/wafer5823wdt.c.p"
2048static spinlock_t wafwdt_lock = {{{{{0U}}, 3735899821U, 4294967295U, (void *)0xffffffffffffffffUL, {(struct lock_class_key *)0,
2049 {(struct lock_class *)0,
2050 (struct lock_class *)0},
2051 "wafwdt_lock",
2052 0, 0UL}}}};
2053#line 76 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17372/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/wafer5823wdt.c.p"
2054static int wdt_stop = 2115;
2055#line 77 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17372/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/wafer5823wdt.c.p"
2056static int wdt_start = 1091;
2057#line 79 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17372/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/wafer5823wdt.c.p"
2058static int timeout = 60;
2059#line 85 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17372/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/wafer5823wdt.c.p"
2060static bool nowayout = (bool )1;
2061#line 91 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17372/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/wafer5823wdt.c.p"
2062static void wafwdt_ping(void)
2063{
2064
2065 {
2066 {
2067#line 94
2068 spin_lock(& wafwdt_lock);
2069#line 95
2070 inb_p(wdt_stop);
2071#line 96
2072 inb_p(wdt_start);
2073#line 97
2074 spin_unlock(& wafwdt_lock);
2075 }
2076#line 98
2077 return;
2078}
2079}
2080#line 100 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17372/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/wafer5823wdt.c.p"
2081static void wafwdt_start(void)
2082{ int *__cil_tmp1 ;
2083 int __cil_tmp2 ;
2084 unsigned char __cil_tmp3 ;
2085 int __cil_tmp4 ;
2086 unsigned char __cil_tmp5 ;
2087
2088 {
2089 {
2090#line 103
2091 __cil_tmp1 = & timeout;
2092#line 103
2093 __cil_tmp2 = *__cil_tmp1;
2094#line 103
2095 __cil_tmp3 = (unsigned char )__cil_tmp2;
2096#line 103
2097 __cil_tmp4 = (int )__cil_tmp3;
2098#line 103
2099 __cil_tmp5 = (unsigned char )__cil_tmp4;
2100#line 103
2101 outb_p(__cil_tmp5, wdt_start);
2102#line 104
2103 inb_p(wdt_start);
2104 }
2105#line 105
2106 return;
2107}
2108}
2109#line 107 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17372/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/wafer5823wdt.c.p"
2110static void wafwdt_stop(void)
2111{
2112
2113 {
2114 {
2115#line 110
2116 inb_p(wdt_stop);
2117 }
2118#line 111
2119 return;
2120}
2121}
2122#line 113 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17372/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/wafer5823wdt.c.p"
2123static ssize_t wafwdt_write(struct file *file , char const *buf , size_t count ,
2124 loff_t *ppos )
2125{ size_t i ;
2126 char c ;
2127 int __ret_gu ;
2128 unsigned long __val_gu ;
2129 bool *__cil_tmp9 ;
2130 bool __cil_tmp10 ;
2131 signed char __cil_tmp11 ;
2132 int __cil_tmp12 ;
2133
2134 {
2135#line 117
2136 if (count != 0UL) {
2137 {
2138#line 118
2139 __cil_tmp9 = & nowayout;
2140#line 118
2141 __cil_tmp10 = *__cil_tmp9;
2142#line 118
2143 if (! __cil_tmp10) {
2144#line 122
2145 expect_close = (char)0;
2146#line 126
2147 i = 0UL;
2148#line 126
2149 goto ldv_18050;
2150 ldv_18049:
2151 {
2152#line 128
2153 might_fault();
2154 }
2155#line 128
2156 if (1 == 1) {
2157#line 128
2158 goto case_1;
2159 } else
2160#line 128
2161 if (1 == 2) {
2162#line 128
2163 goto case_2;
2164 } else
2165#line 128
2166 if (1 == 4) {
2167#line 128
2168 goto case_4;
2169 } else
2170#line 128
2171 if (1 == 8) {
2172#line 128
2173 goto case_8;
2174 } else {
2175 {
2176#line 128
2177 goto switch_default;
2178#line 128
2179 if (0) {
2180 case_1:
2181#line 128
2182 __asm__ volatile ("call __get_user_1": "=a" (__ret_gu), "=d" (__val_gu): "0" (buf + i));
2183#line 128
2184 goto ldv_18043;
2185 case_2:
2186#line 128
2187 __asm__ volatile ("call __get_user_2": "=a" (__ret_gu), "=d" (__val_gu): "0" (buf + i));
2188#line 128
2189 goto ldv_18043;
2190 case_4:
2191#line 128
2192 __asm__ volatile ("call __get_user_4": "=a" (__ret_gu), "=d" (__val_gu): "0" (buf + i));
2193#line 128
2194 goto ldv_18043;
2195 case_8:
2196#line 128
2197 __asm__ volatile ("call __get_user_8": "=a" (__ret_gu), "=d" (__val_gu): "0" (buf + i));
2198#line 128
2199 goto ldv_18043;
2200 switch_default:
2201#line 128
2202 __asm__ volatile ("call __get_user_X": "=a" (__ret_gu), "=d" (__val_gu): "0" (buf + i));
2203#line 128
2204 goto ldv_18043;
2205 } else {
2206 switch_break: ;
2207 }
2208 }
2209 }
2210 ldv_18043:
2211#line 128
2212 c = (char )__val_gu;
2213#line 128
2214 if (__ret_gu != 0) {
2215#line 129
2216 return (-14L);
2217 } else {
2218
2219 }
2220 {
2221#line 130
2222 __cil_tmp11 = (signed char )c;
2223#line 130
2224 __cil_tmp12 = (int )__cil_tmp11;
2225#line 130
2226 if (__cil_tmp12 == 86) {
2227#line 131
2228 expect_close = (char)42;
2229 } else {
2230
2231 }
2232 }
2233#line 126
2234 i = i + 1UL;
2235 ldv_18050: ;
2236#line 126
2237 if (i != count) {
2238#line 127
2239 goto ldv_18049;
2240 } else {
2241#line 129
2242 goto ldv_18051;
2243 }
2244 ldv_18051: ;
2245 } else {
2246
2247 }
2248 }
2249 {
2250#line 136
2251 wafwdt_ping();
2252 }
2253 } else {
2254
2255 }
2256#line 138
2257 return ((ssize_t )count);
2258}
2259}
2260#line 141 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17372/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/wafer5823wdt.c.p"
2261static long wafwdt_ioctl(struct file *file , unsigned int cmd , unsigned long arg )
2262{ int new_timeout ;
2263 void *argp ;
2264 int *p ;
2265 struct watchdog_info ident ;
2266 int tmp ;
2267 int __ret_pu ;
2268 int __pu_val ;
2269 int options ;
2270 int retval ;
2271 int __ret_gu ;
2272 unsigned long __val_gu ;
2273 int __ret_gu___0 ;
2274 unsigned long __val_gu___0 ;
2275 int __ret_pu___0 ;
2276 int __pu_val___0 ;
2277 struct watchdog_info *__cil_tmp19 ;
2278 unsigned long __cil_tmp20 ;
2279 unsigned long __cil_tmp21 ;
2280 unsigned long __cil_tmp22 ;
2281 unsigned long __cil_tmp23 ;
2282 unsigned long __cil_tmp24 ;
2283 unsigned long __cil_tmp25 ;
2284 unsigned long __cil_tmp26 ;
2285 unsigned long __cil_tmp27 ;
2286 unsigned long __cil_tmp28 ;
2287 unsigned long __cil_tmp29 ;
2288 unsigned long __cil_tmp30 ;
2289 unsigned long __cil_tmp31 ;
2290 unsigned long __cil_tmp32 ;
2291 unsigned long __cil_tmp33 ;
2292 unsigned long __cil_tmp34 ;
2293 unsigned long __cil_tmp35 ;
2294 unsigned long __cil_tmp36 ;
2295 unsigned long __cil_tmp37 ;
2296 unsigned long __cil_tmp38 ;
2297 unsigned long __cil_tmp39 ;
2298 unsigned long __cil_tmp40 ;
2299 unsigned long __cil_tmp41 ;
2300 unsigned long __cil_tmp42 ;
2301 unsigned long __cil_tmp43 ;
2302 unsigned long __cil_tmp44 ;
2303 unsigned long __cil_tmp45 ;
2304 unsigned long __cil_tmp46 ;
2305 unsigned long __cil_tmp47 ;
2306 unsigned long __cil_tmp48 ;
2307 unsigned long __cil_tmp49 ;
2308 unsigned long __cil_tmp50 ;
2309 unsigned long __cil_tmp51 ;
2310 unsigned long __cil_tmp52 ;
2311 unsigned long __cil_tmp53 ;
2312 unsigned long __cil_tmp54 ;
2313 unsigned long __cil_tmp55 ;
2314 unsigned long __cil_tmp56 ;
2315 unsigned long __cil_tmp57 ;
2316 unsigned long __cil_tmp58 ;
2317 unsigned long __cil_tmp59 ;
2318 unsigned long __cil_tmp60 ;
2319 unsigned long __cil_tmp61 ;
2320 unsigned long __cil_tmp62 ;
2321 unsigned long __cil_tmp63 ;
2322 unsigned long __cil_tmp64 ;
2323 unsigned long __cil_tmp65 ;
2324 void const *__cil_tmp66 ;
2325 int __cil_tmp67 ;
2326 int *__cil_tmp68 ;
2327 int *__cil_tmp69 ;
2328
2329 {
2330#line 145
2331 argp = (void *)arg;
2332#line 146
2333 p = (int *)argp;
2334#line 147
2335 __cil_tmp19 = & ident;
2336#line 147
2337 *((__u32 *)__cil_tmp19) = 33152U;
2338#line 147
2339 __cil_tmp20 = (unsigned long )(& ident) + 4;
2340#line 147
2341 *((__u32 *)__cil_tmp20) = 1U;
2342#line 147
2343 __cil_tmp21 = 0 * 1UL;
2344#line 147
2345 __cil_tmp22 = 8 + __cil_tmp21;
2346#line 147
2347 __cil_tmp23 = (unsigned long )(& ident) + __cil_tmp22;
2348#line 147
2349 *((__u8 *)__cil_tmp23) = (__u8 )'W';
2350#line 147
2351 __cil_tmp24 = 1 * 1UL;
2352#line 147
2353 __cil_tmp25 = 8 + __cil_tmp24;
2354#line 147
2355 __cil_tmp26 = (unsigned long )(& ident) + __cil_tmp25;
2356#line 147
2357 *((__u8 *)__cil_tmp26) = (__u8 )'a';
2358#line 147
2359 __cil_tmp27 = 2 * 1UL;
2360#line 147
2361 __cil_tmp28 = 8 + __cil_tmp27;
2362#line 147
2363 __cil_tmp29 = (unsigned long )(& ident) + __cil_tmp28;
2364#line 147
2365 *((__u8 *)__cil_tmp29) = (__u8 )'f';
2366#line 147
2367 __cil_tmp30 = 3 * 1UL;
2368#line 147
2369 __cil_tmp31 = 8 + __cil_tmp30;
2370#line 147
2371 __cil_tmp32 = (unsigned long )(& ident) + __cil_tmp31;
2372#line 147
2373 *((__u8 *)__cil_tmp32) = (__u8 )'e';
2374#line 147
2375 __cil_tmp33 = 4 * 1UL;
2376#line 147
2377 __cil_tmp34 = 8 + __cil_tmp33;
2378#line 147
2379 __cil_tmp35 = (unsigned long )(& ident) + __cil_tmp34;
2380#line 147
2381 *((__u8 *)__cil_tmp35) = (__u8 )'r';
2382#line 147
2383 __cil_tmp36 = 5 * 1UL;
2384#line 147
2385 __cil_tmp37 = 8 + __cil_tmp36;
2386#line 147
2387 __cil_tmp38 = (unsigned long )(& ident) + __cil_tmp37;
2388#line 147
2389 *((__u8 *)__cil_tmp38) = (__u8 )' ';
2390#line 147
2391 __cil_tmp39 = 6 * 1UL;
2392#line 147
2393 __cil_tmp40 = 8 + __cil_tmp39;
2394#line 147
2395 __cil_tmp41 = (unsigned long )(& ident) + __cil_tmp40;
2396#line 147
2397 *((__u8 *)__cil_tmp41) = (__u8 )'5';
2398#line 147
2399 __cil_tmp42 = 7 * 1UL;
2400#line 147
2401 __cil_tmp43 = 8 + __cil_tmp42;
2402#line 147
2403 __cil_tmp44 = (unsigned long )(& ident) + __cil_tmp43;
2404#line 147
2405 *((__u8 *)__cil_tmp44) = (__u8 )'8';
2406#line 147
2407 __cil_tmp45 = 8 * 1UL;
2408#line 147
2409 __cil_tmp46 = 8 + __cil_tmp45;
2410#line 147
2411 __cil_tmp47 = (unsigned long )(& ident) + __cil_tmp46;
2412#line 147
2413 *((__u8 *)__cil_tmp47) = (__u8 )'2';
2414#line 147
2415 __cil_tmp48 = 9 * 1UL;
2416#line 147
2417 __cil_tmp49 = 8 + __cil_tmp48;
2418#line 147
2419 __cil_tmp50 = (unsigned long )(& ident) + __cil_tmp49;
2420#line 147
2421 *((__u8 *)__cil_tmp50) = (__u8 )'3';
2422#line 147
2423 __cil_tmp51 = 10 * 1UL;
2424#line 147
2425 __cil_tmp52 = 8 + __cil_tmp51;
2426#line 147
2427 __cil_tmp53 = (unsigned long )(& ident) + __cil_tmp52;
2428#line 147
2429 *((__u8 *)__cil_tmp53) = (__u8 )' ';
2430#line 147
2431 __cil_tmp54 = 11 * 1UL;
2432#line 147
2433 __cil_tmp55 = 8 + __cil_tmp54;
2434#line 147
2435 __cil_tmp56 = (unsigned long )(& ident) + __cil_tmp55;
2436#line 147
2437 *((__u8 *)__cil_tmp56) = (__u8 )'W';
2438#line 147
2439 __cil_tmp57 = 12 * 1UL;
2440#line 147
2441 __cil_tmp58 = 8 + __cil_tmp57;
2442#line 147
2443 __cil_tmp59 = (unsigned long )(& ident) + __cil_tmp58;
2444#line 147
2445 *((__u8 *)__cil_tmp59) = (__u8 )'D';
2446#line 147
2447 __cil_tmp60 = 13 * 1UL;
2448#line 147
2449 __cil_tmp61 = 8 + __cil_tmp60;
2450#line 147
2451 __cil_tmp62 = (unsigned long )(& ident) + __cil_tmp61;
2452#line 147
2453 *((__u8 *)__cil_tmp62) = (__u8 )'T';
2454#line 147
2455 __cil_tmp63 = 14 * 1UL;
2456#line 147
2457 __cil_tmp64 = 8 + __cil_tmp63;
2458#line 147
2459 __cil_tmp65 = (unsigned long )(& ident) + __cil_tmp64;
2460#line 147
2461 *((__u8 *)__cil_tmp65) = (__u8 )'\000';
2462#line 155
2463 if ((int )cmd == -2144839936) {
2464#line 155
2465 goto case_neg_2144839936;
2466 } else
2467#line 160
2468 if ((int )cmd == -2147199231) {
2469#line 160
2470 goto case_neg_2147199231;
2471 } else
2472#line 161
2473 if ((int )cmd == -2147199230) {
2474#line 161
2475 goto case_neg_2147199230;
2476 } else
2477#line 164
2478 if ((int )cmd == -2147199228) {
2479#line 164
2480 goto case_neg_2147199228;
2481 } else
2482#line 184
2483 if ((int )cmd == -2147199227) {
2484#line 184
2485 goto case_neg_2147199227;
2486 } else
2487#line 188
2488 if ((int )cmd == -1073457402) {
2489#line 188
2490 goto case_neg_1073457402;
2491 } else
2492#line 197
2493 if ((int )cmd == -2147199225) {
2494#line 197
2495 goto case_neg_2147199225;
2496 } else {
2497 {
2498#line 200
2499 goto switch_default___3;
2500#line 154
2501 if (0) {
2502 case_neg_2144839936:
2503 {
2504#line 156
2505 __cil_tmp66 = (void const *)(& ident);
2506#line 156
2507 tmp = copy_to_user(argp, __cil_tmp66, 40U);
2508 }
2509#line 156
2510 if (tmp != 0) {
2511#line 157
2512 return (-14L);
2513 } else {
2514
2515 }
2516#line 158
2517 goto ldv_18062;
2518 case_neg_2147199231: ;
2519 case_neg_2147199230:
2520 {
2521#line 162
2522 might_fault();
2523#line 162
2524 __pu_val = 0;
2525 }
2526#line 162
2527 if (4 == 1) {
2528#line 162
2529 goto case_1;
2530 } else
2531#line 162
2532 if (4 == 2) {
2533#line 162
2534 goto case_2;
2535 } else
2536#line 162
2537 if (4 == 4) {
2538#line 162
2539 goto case_4;
2540 } else
2541#line 162
2542 if (4 == 8) {
2543#line 162
2544 goto case_8;
2545 } else {
2546 {
2547#line 162
2548 goto switch_default;
2549#line 162
2550 if (0) {
2551 case_1:
2552#line 162
2553 __asm__ volatile ("call __put_user_1": "=a" (__ret_pu): "0" (__pu_val),
2554 "c" (p): "ebx");
2555#line 162
2556 goto ldv_18068;
2557 case_2:
2558#line 162
2559 __asm__ volatile ("call __put_user_2": "=a" (__ret_pu): "0" (__pu_val),
2560 "c" (p): "ebx");
2561#line 162
2562 goto ldv_18068;
2563 case_4:
2564#line 162
2565 __asm__ volatile ("call __put_user_4": "=a" (__ret_pu): "0" (__pu_val),
2566 "c" (p): "ebx");
2567#line 162
2568 goto ldv_18068;
2569 case_8:
2570#line 162
2571 __asm__ volatile ("call __put_user_8": "=a" (__ret_pu): "0" (__pu_val),
2572 "c" (p): "ebx");
2573#line 162
2574 goto ldv_18068;
2575 switch_default:
2576#line 162
2577 __asm__ volatile ("call __put_user_X": "=a" (__ret_pu): "0" (__pu_val),
2578 "c" (p): "ebx");
2579#line 162
2580 goto ldv_18068;
2581 } else {
2582 switch_break___0: ;
2583 }
2584 }
2585 }
2586 ldv_18068: ;
2587#line 162
2588 return ((long )__ret_pu);
2589 case_neg_2147199228:
2590 {
2591#line 166
2592 retval = -22;
2593#line 168
2594 might_fault();
2595 }
2596#line 168
2597 if (4 == 1) {
2598#line 168
2599 goto case_1___0;
2600 } else
2601#line 168
2602 if (4 == 2) {
2603#line 168
2604 goto case_2___0;
2605 } else
2606#line 168
2607 if (4 == 4) {
2608#line 168
2609 goto case_4___0;
2610 } else
2611#line 168
2612 if (4 == 8) {
2613#line 168
2614 goto case_8___0;
2615 } else {
2616 {
2617#line 168
2618 goto switch_default___0;
2619#line 168
2620 if (0) {
2621 case_1___0:
2622#line 168
2623 __asm__ volatile ("call __get_user_1": "=a" (__ret_gu), "=d" (__val_gu): "0" (p));
2624#line 168
2625 goto ldv_18080;
2626 case_2___0:
2627#line 168
2628 __asm__ volatile ("call __get_user_2": "=a" (__ret_gu), "=d" (__val_gu): "0" (p));
2629#line 168
2630 goto ldv_18080;
2631 case_4___0:
2632#line 168
2633 __asm__ volatile ("call __get_user_4": "=a" (__ret_gu), "=d" (__val_gu): "0" (p));
2634#line 168
2635 goto ldv_18080;
2636 case_8___0:
2637#line 168
2638 __asm__ volatile ("call __get_user_8": "=a" (__ret_gu), "=d" (__val_gu): "0" (p));
2639#line 168
2640 goto ldv_18080;
2641 switch_default___0:
2642#line 168
2643 __asm__ volatile ("call __get_user_X": "=a" (__ret_gu), "=d" (__val_gu): "0" (p));
2644#line 168
2645 goto ldv_18080;
2646 } else {
2647 switch_break___1: ;
2648 }
2649 }
2650 }
2651 ldv_18080:
2652#line 168
2653 options = (int )__val_gu;
2654#line 168
2655 if (__ret_gu != 0) {
2656#line 169
2657 return (-14L);
2658 } else {
2659
2660 }
2661#line 171
2662 if (options & 1) {
2663 {
2664#line 172
2665 wafwdt_stop();
2666#line 173
2667 retval = 0;
2668 }
2669 } else {
2670
2671 }
2672 {
2673#line 176
2674 __cil_tmp67 = options & 2;
2675#line 176
2676 if (__cil_tmp67 != 0) {
2677 {
2678#line 177
2679 wafwdt_start();
2680#line 178
2681 retval = 0;
2682 }
2683 } else {
2684
2685 }
2686 }
2687#line 181
2688 return ((long )retval);
2689 case_neg_2147199227:
2690 {
2691#line 185
2692 wafwdt_ping();
2693 }
2694#line 186
2695 goto ldv_18062;
2696 case_neg_1073457402:
2697 {
2698#line 189
2699 might_fault();
2700 }
2701#line 189
2702 if (4 == 1) {
2703#line 189
2704 goto case_1___1;
2705 } else
2706#line 189
2707 if (4 == 2) {
2708#line 189
2709 goto case_2___1;
2710 } else
2711#line 189
2712 if (4 == 4) {
2713#line 189
2714 goto case_4___1;
2715 } else
2716#line 189
2717 if (4 == 8) {
2718#line 189
2719 goto case_8___1;
2720 } else {
2721 {
2722#line 189
2723 goto switch_default___1;
2724#line 189
2725 if (0) {
2726 case_1___1:
2727#line 189
2728 __asm__ volatile ("call __get_user_1": "=a" (__ret_gu___0), "=d" (__val_gu___0): "0" (p));
2729#line 189
2730 goto ldv_18091;
2731 case_2___1:
2732#line 189
2733 __asm__ volatile ("call __get_user_2": "=a" (__ret_gu___0), "=d" (__val_gu___0): "0" (p));
2734#line 189
2735 goto ldv_18091;
2736 case_4___1:
2737#line 189
2738 __asm__ volatile ("call __get_user_4": "=a" (__ret_gu___0), "=d" (__val_gu___0): "0" (p));
2739#line 189
2740 goto ldv_18091;
2741 case_8___1:
2742#line 189
2743 __asm__ volatile ("call __get_user_8": "=a" (__ret_gu___0), "=d" (__val_gu___0): "0" (p));
2744#line 189
2745 goto ldv_18091;
2746 switch_default___1:
2747#line 189
2748 __asm__ volatile ("call __get_user_X": "=a" (__ret_gu___0), "=d" (__val_gu___0): "0" (p));
2749#line 189
2750 goto ldv_18091;
2751 } else {
2752 switch_break___2: ;
2753 }
2754 }
2755 }
2756 ldv_18091:
2757#line 189
2758 new_timeout = (int )__val_gu___0;
2759#line 189
2760 if (__ret_gu___0 != 0) {
2761#line 190
2762 return (-14L);
2763 } else {
2764
2765 }
2766#line 191
2767 if (new_timeout <= 0) {
2768#line 192
2769 return (-22L);
2770 } else
2771#line 191
2772 if (new_timeout > 255) {
2773#line 192
2774 return (-22L);
2775 } else {
2776
2777 }
2778 {
2779#line 193
2780 __cil_tmp68 = & timeout;
2781#line 193
2782 *__cil_tmp68 = new_timeout;
2783#line 194
2784 wafwdt_stop();
2785#line 195
2786 wafwdt_start();
2787 }
2788 case_neg_2147199225:
2789 {
2790#line 198
2791 might_fault();
2792#line 198
2793 __cil_tmp69 = & timeout;
2794#line 198
2795 __pu_val___0 = *__cil_tmp69;
2796 }
2797#line 198
2798 if (4 == 1) {
2799#line 198
2800 goto case_1___2;
2801 } else
2802#line 198
2803 if (4 == 2) {
2804#line 198
2805 goto case_2___2;
2806 } else
2807#line 198
2808 if (4 == 4) {
2809#line 198
2810 goto case_4___2;
2811 } else
2812#line 198
2813 if (4 == 8) {
2814#line 198
2815 goto case_8___2;
2816 } else {
2817 {
2818#line 198
2819 goto switch_default___2;
2820#line 198
2821 if (0) {
2822 case_1___2:
2823#line 198
2824 __asm__ volatile ("call __put_user_1": "=a" (__ret_pu___0): "0" (__pu_val___0),
2825 "c" (p): "ebx");
2826#line 198
2827 goto ldv_18101;
2828 case_2___2:
2829#line 198
2830 __asm__ volatile ("call __put_user_2": "=a" (__ret_pu___0): "0" (__pu_val___0),
2831 "c" (p): "ebx");
2832#line 198
2833 goto ldv_18101;
2834 case_4___2:
2835#line 198
2836 __asm__ volatile ("call __put_user_4": "=a" (__ret_pu___0): "0" (__pu_val___0),
2837 "c" (p): "ebx");
2838#line 198
2839 goto ldv_18101;
2840 case_8___2:
2841#line 198
2842 __asm__ volatile ("call __put_user_8": "=a" (__ret_pu___0): "0" (__pu_val___0),
2843 "c" (p): "ebx");
2844#line 198
2845 goto ldv_18101;
2846 switch_default___2:
2847#line 198
2848 __asm__ volatile ("call __put_user_X": "=a" (__ret_pu___0): "0" (__pu_val___0),
2849 "c" (p): "ebx");
2850#line 198
2851 goto ldv_18101;
2852 } else {
2853 switch_break___3: ;
2854 }
2855 }
2856 }
2857 ldv_18101: ;
2858#line 198
2859 return ((long )__ret_pu___0);
2860 switch_default___3: ;
2861#line 201
2862 return (-25L);
2863 } else {
2864 switch_break: ;
2865 }
2866 }
2867 }
2868 ldv_18062: ;
2869#line 203
2870 return (0L);
2871}
2872}
2873#line 206 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17372/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/wafer5823wdt.c.p"
2874static int wafwdt_open(struct inode *inode , struct file *file )
2875{ int tmp ;
2876 int tmp___0 ;
2877 unsigned long volatile *__cil_tmp5 ;
2878
2879 {
2880 {
2881#line 208
2882 __cil_tmp5 = (unsigned long volatile *)(& wafwdt_is_open);
2883#line 208
2884 tmp = test_and_set_bit(0, __cil_tmp5);
2885 }
2886#line 208
2887 if (tmp != 0) {
2888#line 209
2889 return (-16);
2890 } else {
2891
2892 }
2893 {
2894#line 214
2895 wafwdt_start();
2896#line 215
2897 tmp___0 = nonseekable_open(inode, file);
2898 }
2899#line 215
2900 return (tmp___0);
2901}
2902}
2903#line 218 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17372/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/wafer5823wdt.c.p"
2904static int wafwdt_close(struct inode *inode , struct file *file )
2905{ signed char __cil_tmp3 ;
2906 int __cil_tmp4 ;
2907 unsigned long volatile *__cil_tmp5 ;
2908
2909 {
2910 {
2911#line 220
2912 __cil_tmp3 = (signed char )expect_close;
2913#line 220
2914 __cil_tmp4 = (int )__cil_tmp3;
2915#line 220
2916 if (__cil_tmp4 == 42) {
2917 {
2918#line 221
2919 wafwdt_stop();
2920 }
2921 } else {
2922 {
2923#line 223
2924 printk("<2>wafer5823wdt: WDT device closed unexpectedly. WDT will not stop!\n");
2925#line 224
2926 wafwdt_ping();
2927 }
2928 }
2929 }
2930 {
2931#line 226
2932 __cil_tmp5 = (unsigned long volatile *)(& wafwdt_is_open);
2933#line 226
2934 clear_bit(0, __cil_tmp5);
2935#line 227
2936 expect_close = (char)0;
2937 }
2938#line 228
2939 return (0);
2940}
2941}
2942#line 235 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17372/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/wafer5823wdt.c.p"
2943static int wafwdt_notify_sys(struct notifier_block *this , unsigned long code , void *unused )
2944{
2945
2946 {
2947#line 238
2948 if (code == 1UL) {
2949 {
2950#line 239
2951 wafwdt_stop();
2952 }
2953 } else
2954#line 238
2955 if (code == 2UL) {
2956 {
2957#line 239
2958 wafwdt_stop();
2959 }
2960 } else {
2961
2962 }
2963#line 240
2964 return (0);
2965}
2966}
2967#line 247 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17372/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/wafer5823wdt.c.p"
2968static struct file_operations const wafwdt_fops =
2969#line 247
2970 {& __this_module, & no_llseek, (ssize_t (*)(struct file * , char * , size_t ,
2971 loff_t * ))0, & wafwdt_write, (ssize_t (*)(struct kiocb * ,
2972 struct iovec const * ,
2973 unsigned long ,
2974 loff_t ))0,
2975 (ssize_t (*)(struct kiocb * , struct iovec const * , unsigned long , loff_t ))0,
2976 (int (*)(struct file * , void * , int (*)(void * , char const * , int , loff_t ,
2977 u64 , unsigned int ) ))0, (unsigned int (*)(struct file * ,
2978 struct poll_table_struct * ))0,
2979 & wafwdt_ioctl, (long (*)(struct file * , unsigned int , unsigned long ))0,
2980 (int (*)(struct file * , struct vm_area_struct * ))0, & wafwdt_open, (int (*)(struct file * ,
2981 fl_owner_t ))0,
2982 & wafwdt_close, (int (*)(struct file * , loff_t , loff_t , int ))0, (int (*)(struct kiocb * ,
2983 int ))0,
2984 (int (*)(int , struct file * , int ))0, (int (*)(struct file * , int , struct file_lock * ))0,
2985 (ssize_t (*)(struct file * , struct page * , int , size_t , loff_t * , int ))0,
2986 (unsigned long (*)(struct file * , unsigned long , unsigned long , unsigned long ,
2987 unsigned long ))0, (int (*)(int ))0, (int (*)(struct file * ,
2988 int , struct file_lock * ))0,
2989 (ssize_t (*)(struct pipe_inode_info * , struct file * , loff_t * , size_t , unsigned int ))0,
2990 (ssize_t (*)(struct file * , loff_t * , struct pipe_inode_info * , size_t , unsigned int ))0,
2991 (int (*)(struct file * , long , struct file_lock ** ))0, (long (*)(struct file * ,
2992 int , loff_t ,
2993 loff_t ))0};
2994#line 256 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17372/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/wafer5823wdt.c.p"
2995static struct miscdevice wafwdt_miscdev =
2996#line 256
2997 {130, "watchdog", & wafwdt_fops, {(struct list_head *)0, (struct list_head *)0},
2998 (struct device *)0, (struct device *)0, (char const *)0, (unsigned short)0};
2999#line 267 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17372/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/wafer5823wdt.c.p"
3000static struct notifier_block wafwdt_notifier = {& wafwdt_notify_sys, (struct notifier_block *)0, 0};
3001#line 271 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17372/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/wafer5823wdt.c.p"
3002static int wafwdt_init(void)
3003{ int ret ;
3004 struct resource *tmp ;
3005 struct resource *tmp___0 ;
3006 int *__cil_tmp4 ;
3007 int __cil_tmp5 ;
3008 int *__cil_tmp6 ;
3009 int *__cil_tmp7 ;
3010 int __cil_tmp8 ;
3011 int *__cil_tmp9 ;
3012 int __cil_tmp10 ;
3013 int *__cil_tmp11 ;
3014 int *__cil_tmp12 ;
3015 int __cil_tmp13 ;
3016 resource_size_t __cil_tmp14 ;
3017 struct resource *__cil_tmp15 ;
3018 unsigned long __cil_tmp16 ;
3019 unsigned long __cil_tmp17 ;
3020 resource_size_t __cil_tmp18 ;
3021 struct resource *__cil_tmp19 ;
3022 unsigned long __cil_tmp20 ;
3023 unsigned long __cil_tmp21 ;
3024 int *__cil_tmp22 ;
3025 int __cil_tmp23 ;
3026 bool *__cil_tmp24 ;
3027 bool __cil_tmp25 ;
3028 int __cil_tmp26 ;
3029 resource_size_t __cil_tmp27 ;
3030 resource_size_t __cil_tmp28 ;
3031
3032 {
3033 {
3034#line 275
3035 printk("<6>wafer5823wdt: WDT driver for Wafer 5823 single board computer initialising\n");
3036 }
3037 {
3038#line 277
3039 __cil_tmp4 = & timeout;
3040#line 277
3041 __cil_tmp5 = *__cil_tmp4;
3042#line 277
3043 if (__cil_tmp5 <= 0) {
3044 {
3045#line 278
3046 __cil_tmp6 = & timeout;
3047#line 278
3048 *__cil_tmp6 = 60;
3049#line 279
3050 __cil_tmp7 = & timeout;
3051#line 279
3052 __cil_tmp8 = *__cil_tmp7;
3053#line 279
3054 printk("<6>wafer5823wdt: timeout value must be 1 <= x <= 255, using %d\n", __cil_tmp8);
3055 }
3056 } else {
3057 {
3058#line 277
3059 __cil_tmp9 = & timeout;
3060#line 277
3061 __cil_tmp10 = *__cil_tmp9;
3062#line 277
3063 if (__cil_tmp10 > 255) {
3064 {
3065#line 278
3066 __cil_tmp11 = & timeout;
3067#line 278
3068 *__cil_tmp11 = 60;
3069#line 279
3070 __cil_tmp12 = & timeout;
3071#line 279
3072 __cil_tmp13 = *__cil_tmp12;
3073#line 279
3074 printk("<6>wafer5823wdt: timeout value must be 1 <= x <= 255, using %d\n", __cil_tmp13);
3075 }
3076 } else {
3077
3078 }
3079 }
3080 }
3081 }
3082#line 283
3083 if (wdt_stop != wdt_start) {
3084 {
3085#line 284
3086 __cil_tmp14 = (resource_size_t )wdt_stop;
3087#line 284
3088 tmp = __request_region(& ioport_resource, __cil_tmp14, 1ULL, "Wafer 5823 WDT",
3089 0);
3090 }
3091 {
3092#line 284
3093 __cil_tmp15 = (struct resource *)0;
3094#line 284
3095 __cil_tmp16 = (unsigned long )__cil_tmp15;
3096#line 284
3097 __cil_tmp17 = (unsigned long )tmp;
3098#line 284
3099 if (__cil_tmp17 == __cil_tmp16) {
3100 {
3101#line 285
3102 printk("<3>wafer5823wdt: I/O address 0x%04x already in use\n", wdt_stop);
3103#line 286
3104 ret = -5;
3105 }
3106#line 287
3107 goto error;
3108 } else {
3109
3110 }
3111 }
3112 } else {
3113
3114 }
3115 {
3116#line 291
3117 __cil_tmp18 = (resource_size_t )wdt_start;
3118#line 291
3119 tmp___0 = __request_region(& ioport_resource, __cil_tmp18, 1ULL, "Wafer 5823 WDT",
3120 0);
3121 }
3122 {
3123#line 291
3124 __cil_tmp19 = (struct resource *)0;
3125#line 291
3126 __cil_tmp20 = (unsigned long )__cil_tmp19;
3127#line 291
3128 __cil_tmp21 = (unsigned long )tmp___0;
3129#line 291
3130 if (__cil_tmp21 == __cil_tmp20) {
3131 {
3132#line 292
3133 printk("<3>wafer5823wdt: I/O address 0x%04x already in use\n", wdt_start);
3134#line 293
3135 ret = -5;
3136 }
3137#line 294
3138 goto error2;
3139 } else {
3140
3141 }
3142 }
3143 {
3144#line 297
3145 ret = register_reboot_notifier(& wafwdt_notifier);
3146 }
3147#line 298
3148 if (ret != 0) {
3149 {
3150#line 299
3151 printk("<3>wafer5823wdt: cannot register reboot notifier (err=%d)\n", ret);
3152 }
3153#line 300
3154 goto error3;
3155 } else {
3156
3157 }
3158 {
3159#line 303
3160 ret = misc_register(& wafwdt_miscdev);
3161 }
3162#line 304
3163 if (ret != 0) {
3164 {
3165#line 305
3166 printk("<3>wafer5823wdt: cannot register miscdev on minor=%d (err=%d)\n", 130,
3167 ret);
3168 }
3169#line 307
3170 goto error4;
3171 } else {
3172
3173 }
3174 {
3175#line 310
3176 __cil_tmp22 = & timeout;
3177#line 310
3178 __cil_tmp23 = *__cil_tmp22;
3179#line 310
3180 __cil_tmp24 = & nowayout;
3181#line 310
3182 __cil_tmp25 = *__cil_tmp24;
3183#line 310
3184 __cil_tmp26 = (int )__cil_tmp25;
3185#line 310
3186 printk("<6>wafer5823wdt: initialized. timeout=%d sec (nowayout=%d)\n", __cil_tmp23,
3187 __cil_tmp26);
3188 }
3189#line 313
3190 return (ret);
3191 error4:
3192 {
3193#line 315
3194 unregister_reboot_notifier(& wafwdt_notifier);
3195 }
3196 error3:
3197 {
3198#line 317
3199 __cil_tmp27 = (resource_size_t )wdt_start;
3200#line 317
3201 __release_region(& ioport_resource, __cil_tmp27, 1ULL);
3202 }
3203 error2: ;
3204#line 319
3205 if (wdt_stop != wdt_start) {
3206 {
3207#line 320
3208 __cil_tmp28 = (resource_size_t )wdt_stop;
3209#line 320
3210 __release_region(& ioport_resource, __cil_tmp28, 1ULL);
3211 }
3212 } else {
3213
3214 }
3215 error: ;
3216#line 322
3217 return (ret);
3218}
3219}
3220#line 325 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17372/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/wafer5823wdt.c.p"
3221static void wafwdt_exit(void)
3222{ resource_size_t __cil_tmp1 ;
3223 resource_size_t __cil_tmp2 ;
3224
3225 {
3226 {
3227#line 327
3228 misc_deregister(& wafwdt_miscdev);
3229#line 328
3230 unregister_reboot_notifier(& wafwdt_notifier);
3231 }
3232#line 329
3233 if (wdt_stop != wdt_start) {
3234 {
3235#line 330
3236 __cil_tmp1 = (resource_size_t )wdt_stop;
3237#line 330
3238 __release_region(& ioport_resource, __cil_tmp1, 1ULL);
3239 }
3240 } else {
3241
3242 }
3243 {
3244#line 331
3245 __cil_tmp2 = (resource_size_t )wdt_start;
3246#line 331
3247 __release_region(& ioport_resource, __cil_tmp2, 1ULL);
3248 }
3249#line 332
3250 return;
3251}
3252}
3253#line 360
3254extern void ldv_check_final_state(void) ;
3255#line 363
3256extern void ldv_check_return_value(int ) ;
3257#line 366
3258extern void ldv_initialize(void) ;
3259#line 369
3260extern int __VERIFIER_nondet_int(void) ;
3261#line 372 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17372/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/wafer5823wdt.c.p"
3262int LDV_IN_INTERRUPT ;
3263#line 375 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17372/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/wafer5823wdt.c.p"
3264void main(void)
3265{ struct file *var_group1 ;
3266 char const *var_wafwdt_write_3_p1 ;
3267 size_t var_wafwdt_write_3_p2 ;
3268 loff_t *var_wafwdt_write_3_p3 ;
3269 ssize_t res_wafwdt_write_3 ;
3270 unsigned int var_wafwdt_ioctl_4_p1 ;
3271 unsigned long var_wafwdt_ioctl_4_p2 ;
3272 struct inode *var_group2 ;
3273 int res_wafwdt_open_5 ;
3274 struct notifier_block *var_group3 ;
3275 unsigned long var_wafwdt_notify_sys_7_p1 ;
3276 void *var_wafwdt_notify_sys_7_p2 ;
3277 int ldv_s_wafwdt_fops_file_operations ;
3278 int tmp ;
3279 int tmp___0 ;
3280 int tmp___1 ;
3281 int __cil_tmp17 ;
3282
3283 {
3284 {
3285#line 472
3286 ldv_s_wafwdt_fops_file_operations = 0;
3287#line 450
3288 LDV_IN_INTERRUPT = 1;
3289#line 459
3290 ldv_initialize();
3291#line 470
3292 tmp = wafwdt_init();
3293 }
3294#line 470
3295 if (tmp != 0) {
3296#line 471
3297 goto ldv_final;
3298 } else {
3299
3300 }
3301#line 478
3302 goto ldv_18184;
3303 ldv_18183:
3304 {
3305#line 482
3306 tmp___0 = __VERIFIER_nondet_int();
3307 }
3308#line 484
3309 if (tmp___0 == 0) {
3310#line 484
3311 goto case_0;
3312 } else
3313#line 508
3314 if (tmp___0 == 1) {
3315#line 508
3316 goto case_1;
3317 } else
3318#line 532
3319 if (tmp___0 == 2) {
3320#line 532
3321 goto case_2;
3322 } else
3323#line 553
3324 if (tmp___0 == 3) {
3325#line 553
3326 goto case_3;
3327 } else
3328#line 574
3329 if (tmp___0 == 4) {
3330#line 574
3331 goto case_4;
3332 } else {
3333 {
3334#line 595
3335 goto switch_default;
3336#line 482
3337 if (0) {
3338 case_0: ;
3339#line 487
3340 if (ldv_s_wafwdt_fops_file_operations == 0) {
3341 {
3342#line 497
3343 res_wafwdt_open_5 = wafwdt_open(var_group2, var_group1);
3344#line 498
3345 ldv_check_return_value(res_wafwdt_open_5);
3346 }
3347#line 499
3348 if (res_wafwdt_open_5 != 0) {
3349#line 500
3350 goto ldv_module_exit;
3351 } else {
3352
3353 }
3354#line 501
3355 ldv_s_wafwdt_fops_file_operations = ldv_s_wafwdt_fops_file_operations + 1;
3356 } else {
3357
3358 }
3359#line 507
3360 goto ldv_18177;
3361 case_1: ;
3362#line 511
3363 if (ldv_s_wafwdt_fops_file_operations == 1) {
3364 {
3365#line 521
3366 res_wafwdt_write_3 = wafwdt_write(var_group1, var_wafwdt_write_3_p1, var_wafwdt_write_3_p2,
3367 var_wafwdt_write_3_p3);
3368#line 522
3369 __cil_tmp17 = (int )res_wafwdt_write_3;
3370#line 522
3371 ldv_check_return_value(__cil_tmp17);
3372 }
3373#line 523
3374 if (res_wafwdt_write_3 < 0L) {
3375#line 524
3376 goto ldv_module_exit;
3377 } else {
3378
3379 }
3380#line 525
3381 ldv_s_wafwdt_fops_file_operations = ldv_s_wafwdt_fops_file_operations + 1;
3382 } else {
3383
3384 }
3385#line 531
3386 goto ldv_18177;
3387 case_2: ;
3388#line 535
3389 if (ldv_s_wafwdt_fops_file_operations == 2) {
3390 {
3391#line 545
3392 wafwdt_close(var_group2, var_group1);
3393#line 546
3394 ldv_s_wafwdt_fops_file_operations = 0;
3395 }
3396 } else {
3397
3398 }
3399#line 552
3400 goto ldv_18177;
3401 case_3:
3402 {
3403#line 566
3404 wafwdt_ioctl(var_group1, var_wafwdt_ioctl_4_p1, var_wafwdt_ioctl_4_p2);
3405 }
3406#line 573
3407 goto ldv_18177;
3408 case_4:
3409 {
3410#line 587
3411 wafwdt_notify_sys(var_group3, var_wafwdt_notify_sys_7_p1, var_wafwdt_notify_sys_7_p2);
3412 }
3413#line 594
3414 goto ldv_18177;
3415 switch_default: ;
3416#line 595
3417 goto ldv_18177;
3418 } else {
3419 switch_break: ;
3420 }
3421 }
3422 }
3423 ldv_18177: ;
3424 ldv_18184:
3425 {
3426#line 478
3427 tmp___1 = __VERIFIER_nondet_int();
3428 }
3429#line 478
3430 if (tmp___1 != 0) {
3431#line 480
3432 goto ldv_18183;
3433 } else
3434#line 478
3435 if (ldv_s_wafwdt_fops_file_operations != 0) {
3436#line 480
3437 goto ldv_18183;
3438 } else {
3439#line 482
3440 goto ldv_18185;
3441 }
3442 ldv_18185: ;
3443 ldv_module_exit:
3444 {
3445#line 612
3446 wafwdt_exit();
3447 }
3448 ldv_final:
3449 {
3450#line 615
3451 ldv_check_final_state();
3452 }
3453#line 618
3454 return;
3455}
3456}
3457#line 5 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17372/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast-assert.h"
3458void ldv_blast_assert(void)
3459{
3460
3461 {
3462 ERROR: ;
3463#line 6
3464 goto ERROR;
3465}
3466}
3467#line 6 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17372/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast.h"
3468extern int __VERIFIER_nondet_int(void) ;
3469#line 639 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17372/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/wafer5823wdt.c.p"
3470int ldv_spin = 0;
3471#line 643 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17372/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/wafer5823wdt.c.p"
3472void ldv_check_alloc_flags(gfp_t flags )
3473{
3474
3475 {
3476#line 646
3477 if (ldv_spin != 0) {
3478#line 646
3479 if (flags != 32U) {
3480 {
3481#line 646
3482 ldv_blast_assert();
3483 }
3484 } else {
3485
3486 }
3487 } else {
3488
3489 }
3490#line 649
3491 return;
3492}
3493}
3494#line 649
3495extern struct page *ldv_some_page(void) ;
3496#line 652 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17372/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/wafer5823wdt.c.p"
3497struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags )
3498{ struct page *tmp ;
3499
3500 {
3501#line 655
3502 if (ldv_spin != 0) {
3503#line 655
3504 if (flags != 32U) {
3505 {
3506#line 655
3507 ldv_blast_assert();
3508 }
3509 } else {
3510
3511 }
3512 } else {
3513
3514 }
3515 {
3516#line 657
3517 tmp = ldv_some_page();
3518 }
3519#line 657
3520 return (tmp);
3521}
3522}
3523#line 661 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17372/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/wafer5823wdt.c.p"
3524void ldv_check_alloc_nonatomic(void)
3525{
3526
3527 {
3528#line 664
3529 if (ldv_spin != 0) {
3530 {
3531#line 664
3532 ldv_blast_assert();
3533 }
3534 } else {
3535
3536 }
3537#line 667
3538 return;
3539}
3540}
3541#line 668 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17372/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/wafer5823wdt.c.p"
3542void ldv_spin_lock(void)
3543{
3544
3545 {
3546#line 671
3547 ldv_spin = 1;
3548#line 672
3549 return;
3550}
3551}
3552#line 675 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17372/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/wafer5823wdt.c.p"
3553void ldv_spin_unlock(void)
3554{
3555
3556 {
3557#line 678
3558 ldv_spin = 0;
3559#line 679
3560 return;
3561}
3562}
3563#line 682 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17372/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/wafer5823wdt.c.p"
3564int ldv_spin_trylock(void)
3565{ int is_lock ;
3566
3567 {
3568 {
3569#line 687
3570 is_lock = __VERIFIER_nondet_int();
3571 }
3572#line 689
3573 if (is_lock != 0) {
3574#line 692
3575 return (0);
3576 } else {
3577#line 697
3578 ldv_spin = 1;
3579#line 699
3580 return (1);
3581 }
3582}
3583}
3584#line 703 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17372/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/wafer5823wdt.c.p"
3585__inline static void spin_lock(spinlock_t *lock )
3586{
3587
3588 {
3589 {
3590#line 708
3591 ldv_spin_lock();
3592#line 710
3593 ldv_spin_lock_1(lock);
3594 }
3595#line 711
3596 return;
3597}
3598}
3599#line 745 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17372/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/wafer5823wdt.c.p"
3600__inline static void spin_unlock(spinlock_t *lock )
3601{
3602
3603 {
3604 {
3605#line 750
3606 ldv_spin_unlock();
3607#line 752
3608 ldv_spin_unlock_5(lock);
3609 }
3610#line 753
3611 return;
3612}
3613}
3614#line 866 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17372/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/wafer5823wdt.c.p"
3615void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 )
3616{
3617
3618 {
3619 {
3620#line 872
3621 ldv_check_alloc_flags(ldv_func_arg2);
3622#line 874
3623 kmem_cache_alloc(ldv_func_arg1, ldv_func_arg2);
3624 }
3625#line 875
3626 return ((void *)0);
3627}
3628}