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 18 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17371/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83977f_wdt.c.p"
993struct block_device;
994#line 18
995struct block_device;
996#line 93 "include/linux/bit_spinlock.h"
997struct hlist_bl_node;
998#line 93 "include/linux/bit_spinlock.h"
999struct hlist_bl_head {
1000 struct hlist_bl_node *first ;
1001};
1002#line 36 "include/linux/list_bl.h"
1003struct hlist_bl_node {
1004 struct hlist_bl_node *next ;
1005 struct hlist_bl_node **pprev ;
1006};
1007#line 114 "include/linux/rculist_bl.h"
1008struct nameidata;
1009#line 114
1010struct nameidata;
1011#line 115
1012struct path;
1013#line 115
1014struct path;
1015#line 116
1016struct vfsmount;
1017#line 116
1018struct vfsmount;
1019#line 117 "include/linux/rculist_bl.h"
1020struct qstr {
1021 unsigned int hash ;
1022 unsigned int len ;
1023 unsigned char const *name ;
1024};
1025#line 72 "include/linux/dcache.h"
1026struct inode;
1027#line 72
1028struct dentry_operations;
1029#line 72
1030struct super_block;
1031#line 72 "include/linux/dcache.h"
1032union __anonunion_d_u_135 {
1033 struct list_head d_child ;
1034 struct rcu_head d_rcu ;
1035};
1036#line 72 "include/linux/dcache.h"
1037struct dentry {
1038 unsigned int d_flags ;
1039 seqcount_t d_seq ;
1040 struct hlist_bl_node d_hash ;
1041 struct dentry *d_parent ;
1042 struct qstr d_name ;
1043 struct inode *d_inode ;
1044 unsigned char d_iname[32U] ;
1045 unsigned int d_count ;
1046 spinlock_t d_lock ;
1047 struct dentry_operations const *d_op ;
1048 struct super_block *d_sb ;
1049 unsigned long d_time ;
1050 void *d_fsdata ;
1051 struct list_head d_lru ;
1052 union __anonunion_d_u_135 d_u ;
1053 struct list_head d_subdirs ;
1054 struct list_head d_alias ;
1055};
1056#line 123 "include/linux/dcache.h"
1057struct dentry_operations {
1058 int (*d_revalidate)(struct dentry * , struct nameidata * ) ;
1059 int (*d_hash)(struct dentry const * , struct inode const * , struct qstr * ) ;
1060 int (*d_compare)(struct dentry const * , struct inode const * , struct dentry const * ,
1061 struct inode const * , unsigned int , char const * , struct qstr const * ) ;
1062 int (*d_delete)(struct dentry const * ) ;
1063 void (*d_release)(struct dentry * ) ;
1064 void (*d_prune)(struct dentry * ) ;
1065 void (*d_iput)(struct dentry * , struct inode * ) ;
1066 char *(*d_dname)(struct dentry * , char * , int ) ;
1067 struct vfsmount *(*d_automount)(struct path * ) ;
1068 int (*d_manage)(struct dentry * , bool ) ;
1069};
1070#line 402 "include/linux/dcache.h"
1071struct path {
1072 struct vfsmount *mnt ;
1073 struct dentry *dentry ;
1074};
1075#line 58 "include/linux/radix-tree.h"
1076struct radix_tree_node;
1077#line 58 "include/linux/radix-tree.h"
1078struct radix_tree_root {
1079 unsigned int height ;
1080 gfp_t gfp_mask ;
1081 struct radix_tree_node *rnode ;
1082};
1083#line 377
1084struct prio_tree_node;
1085#line 19 "include/linux/prio_tree.h"
1086struct prio_tree_node {
1087 struct prio_tree_node *left ;
1088 struct prio_tree_node *right ;
1089 struct prio_tree_node *parent ;
1090 unsigned long start ;
1091 unsigned long last ;
1092};
1093#line 27 "include/linux/prio_tree.h"
1094struct prio_tree_root {
1095 struct prio_tree_node *prio_tree_node ;
1096 unsigned short index_bits ;
1097 unsigned short raw ;
1098};
1099#line 111
1100enum pid_type {
1101 PIDTYPE_PID = 0,
1102 PIDTYPE_PGID = 1,
1103 PIDTYPE_SID = 2,
1104 PIDTYPE_MAX = 3
1105} ;
1106#line 118
1107struct pid_namespace;
1108#line 118 "include/linux/prio_tree.h"
1109struct upid {
1110 int nr ;
1111 struct pid_namespace *ns ;
1112 struct hlist_node pid_chain ;
1113};
1114#line 56 "include/linux/pid.h"
1115struct pid {
1116 atomic_t count ;
1117 unsigned int level ;
1118 struct hlist_head tasks[3U] ;
1119 struct rcu_head rcu ;
1120 struct upid numbers[1U] ;
1121};
1122#line 45 "include/linux/semaphore.h"
1123struct fiemap_extent {
1124 __u64 fe_logical ;
1125 __u64 fe_physical ;
1126 __u64 fe_length ;
1127 __u64 fe_reserved64[2U] ;
1128 __u32 fe_flags ;
1129 __u32 fe_reserved[3U] ;
1130};
1131#line 38 "include/linux/fiemap.h"
1132struct shrink_control {
1133 gfp_t gfp_mask ;
1134 unsigned long nr_to_scan ;
1135};
1136#line 14 "include/linux/shrinker.h"
1137struct shrinker {
1138 int (*shrink)(struct shrinker * , struct shrink_control * ) ;
1139 int seeks ;
1140 long batch ;
1141 struct list_head list ;
1142 atomic_long_t nr_in_batch ;
1143};
1144#line 43
1145enum migrate_mode {
1146 MIGRATE_ASYNC = 0,
1147 MIGRATE_SYNC_LIGHT = 1,
1148 MIGRATE_SYNC = 2
1149} ;
1150#line 49
1151struct export_operations;
1152#line 49
1153struct export_operations;
1154#line 51
1155struct iovec;
1156#line 51
1157struct iovec;
1158#line 52
1159struct kiocb;
1160#line 52
1161struct kiocb;
1162#line 53
1163struct pipe_inode_info;
1164#line 53
1165struct pipe_inode_info;
1166#line 54
1167struct poll_table_struct;
1168#line 54
1169struct poll_table_struct;
1170#line 55
1171struct kstatfs;
1172#line 55
1173struct kstatfs;
1174#line 435 "include/linux/fs.h"
1175struct iattr {
1176 unsigned int ia_valid ;
1177 umode_t ia_mode ;
1178 uid_t ia_uid ;
1179 gid_t ia_gid ;
1180 loff_t ia_size ;
1181 struct timespec ia_atime ;
1182 struct timespec ia_mtime ;
1183 struct timespec ia_ctime ;
1184 struct file *ia_file ;
1185};
1186#line 119 "include/linux/quota.h"
1187struct if_dqinfo {
1188 __u64 dqi_bgrace ;
1189 __u64 dqi_igrace ;
1190 __u32 dqi_flags ;
1191 __u32 dqi_valid ;
1192};
1193#line 176 "include/linux/percpu_counter.h"
1194struct fs_disk_quota {
1195 __s8 d_version ;
1196 __s8 d_flags ;
1197 __u16 d_fieldmask ;
1198 __u32 d_id ;
1199 __u64 d_blk_hardlimit ;
1200 __u64 d_blk_softlimit ;
1201 __u64 d_ino_hardlimit ;
1202 __u64 d_ino_softlimit ;
1203 __u64 d_bcount ;
1204 __u64 d_icount ;
1205 __s32 d_itimer ;
1206 __s32 d_btimer ;
1207 __u16 d_iwarns ;
1208 __u16 d_bwarns ;
1209 __s32 d_padding2 ;
1210 __u64 d_rtb_hardlimit ;
1211 __u64 d_rtb_softlimit ;
1212 __u64 d_rtbcount ;
1213 __s32 d_rtbtimer ;
1214 __u16 d_rtbwarns ;
1215 __s16 d_padding3 ;
1216 char d_padding4[8U] ;
1217};
1218#line 75 "include/linux/dqblk_xfs.h"
1219struct fs_qfilestat {
1220 __u64 qfs_ino ;
1221 __u64 qfs_nblks ;
1222 __u32 qfs_nextents ;
1223};
1224#line 150 "include/linux/dqblk_xfs.h"
1225typedef struct fs_qfilestat fs_qfilestat_t;
1226#line 151 "include/linux/dqblk_xfs.h"
1227struct fs_quota_stat {
1228 __s8 qs_version ;
1229 __u16 qs_flags ;
1230 __s8 qs_pad ;
1231 fs_qfilestat_t qs_uquota ;
1232 fs_qfilestat_t qs_gquota ;
1233 __u32 qs_incoredqs ;
1234 __s32 qs_btimelimit ;
1235 __s32 qs_itimelimit ;
1236 __s32 qs_rtbtimelimit ;
1237 __u16 qs_bwarnlimit ;
1238 __u16 qs_iwarnlimit ;
1239};
1240#line 165
1241struct dquot;
1242#line 165
1243struct dquot;
1244#line 185 "include/linux/quota.h"
1245typedef __kernel_uid32_t qid_t;
1246#line 186 "include/linux/quota.h"
1247typedef long long qsize_t;
1248#line 189 "include/linux/quota.h"
1249struct mem_dqblk {
1250 qsize_t dqb_bhardlimit ;
1251 qsize_t dqb_bsoftlimit ;
1252 qsize_t dqb_curspace ;
1253 qsize_t dqb_rsvspace ;
1254 qsize_t dqb_ihardlimit ;
1255 qsize_t dqb_isoftlimit ;
1256 qsize_t dqb_curinodes ;
1257 time_t dqb_btime ;
1258 time_t dqb_itime ;
1259};
1260#line 211
1261struct quota_format_type;
1262#line 211
1263struct quota_format_type;
1264#line 212 "include/linux/quota.h"
1265struct mem_dqinfo {
1266 struct quota_format_type *dqi_format ;
1267 int dqi_fmt_id ;
1268 struct list_head dqi_dirty_list ;
1269 unsigned long dqi_flags ;
1270 unsigned int dqi_bgrace ;
1271 unsigned int dqi_igrace ;
1272 qsize_t dqi_maxblimit ;
1273 qsize_t dqi_maxilimit ;
1274 void *dqi_priv ;
1275};
1276#line 275 "include/linux/quota.h"
1277struct dquot {
1278 struct hlist_node dq_hash ;
1279 struct list_head dq_inuse ;
1280 struct list_head dq_free ;
1281 struct list_head dq_dirty ;
1282 struct mutex dq_lock ;
1283 atomic_t dq_count ;
1284 wait_queue_head_t dq_wait_unused ;
1285 struct super_block *dq_sb ;
1286 unsigned int dq_id ;
1287 loff_t dq_off ;
1288 unsigned long dq_flags ;
1289 short dq_type ;
1290 struct mem_dqblk dq_dqb ;
1291};
1292#line 303 "include/linux/quota.h"
1293struct quota_format_ops {
1294 int (*check_quota_file)(struct super_block * , int ) ;
1295 int (*read_file_info)(struct super_block * , int ) ;
1296 int (*write_file_info)(struct super_block * , int ) ;
1297 int (*free_file_info)(struct super_block * , int ) ;
1298 int (*read_dqblk)(struct dquot * ) ;
1299 int (*commit_dqblk)(struct dquot * ) ;
1300 int (*release_dqblk)(struct dquot * ) ;
1301};
1302#line 314 "include/linux/quota.h"
1303struct dquot_operations {
1304 int (*write_dquot)(struct dquot * ) ;
1305 struct dquot *(*alloc_dquot)(struct super_block * , int ) ;
1306 void (*destroy_dquot)(struct dquot * ) ;
1307 int (*acquire_dquot)(struct dquot * ) ;
1308 int (*release_dquot)(struct dquot * ) ;
1309 int (*mark_dirty)(struct dquot * ) ;
1310 int (*write_info)(struct super_block * , int ) ;
1311 qsize_t *(*get_reserved_space)(struct inode * ) ;
1312};
1313#line 328 "include/linux/quota.h"
1314struct quotactl_ops {
1315 int (*quota_on)(struct super_block * , int , int , struct path * ) ;
1316 int (*quota_on_meta)(struct super_block * , int , int ) ;
1317 int (*quota_off)(struct super_block * , int ) ;
1318 int (*quota_sync)(struct super_block * , int , int ) ;
1319 int (*get_info)(struct super_block * , int , struct if_dqinfo * ) ;
1320 int (*set_info)(struct super_block * , int , struct if_dqinfo * ) ;
1321 int (*get_dqblk)(struct super_block * , int , qid_t , struct fs_disk_quota * ) ;
1322 int (*set_dqblk)(struct super_block * , int , qid_t , struct fs_disk_quota * ) ;
1323 int (*get_xstate)(struct super_block * , struct fs_quota_stat * ) ;
1324 int (*set_xstate)(struct super_block * , unsigned int , int ) ;
1325};
1326#line 344 "include/linux/quota.h"
1327struct quota_format_type {
1328 int qf_fmt_id ;
1329 struct quota_format_ops const *qf_ops ;
1330 struct module *qf_owner ;
1331 struct quota_format_type *qf_next ;
1332};
1333#line 390 "include/linux/quota.h"
1334struct quota_info {
1335 unsigned int flags ;
1336 struct mutex dqio_mutex ;
1337 struct mutex dqonoff_mutex ;
1338 struct rw_semaphore dqptr_sem ;
1339 struct inode *files[2U] ;
1340 struct mem_dqinfo info[2U] ;
1341 struct quota_format_ops const *ops[2U] ;
1342};
1343#line 421
1344struct address_space;
1345#line 421
1346struct address_space;
1347#line 422
1348struct writeback_control;
1349#line 422
1350struct writeback_control;
1351#line 585 "include/linux/fs.h"
1352union __anonunion_arg_138 {
1353 char *buf ;
1354 void *data ;
1355};
1356#line 585 "include/linux/fs.h"
1357struct __anonstruct_read_descriptor_t_137 {
1358 size_t written ;
1359 size_t count ;
1360 union __anonunion_arg_138 arg ;
1361 int error ;
1362};
1363#line 585 "include/linux/fs.h"
1364typedef struct __anonstruct_read_descriptor_t_137 read_descriptor_t;
1365#line 588 "include/linux/fs.h"
1366struct address_space_operations {
1367 int (*writepage)(struct page * , struct writeback_control * ) ;
1368 int (*readpage)(struct file * , struct page * ) ;
1369 int (*writepages)(struct address_space * , struct writeback_control * ) ;
1370 int (*set_page_dirty)(struct page * ) ;
1371 int (*readpages)(struct file * , struct address_space * , struct list_head * ,
1372 unsigned int ) ;
1373 int (*write_begin)(struct file * , struct address_space * , loff_t , unsigned int ,
1374 unsigned int , struct page ** , void ** ) ;
1375 int (*write_end)(struct file * , struct address_space * , loff_t , unsigned int ,
1376 unsigned int , struct page * , void * ) ;
1377 sector_t (*bmap)(struct address_space * , sector_t ) ;
1378 void (*invalidatepage)(struct page * , unsigned long ) ;
1379 int (*releasepage)(struct page * , gfp_t ) ;
1380 void (*freepage)(struct page * ) ;
1381 ssize_t (*direct_IO)(int , struct kiocb * , struct iovec const * , loff_t ,
1382 unsigned long ) ;
1383 int (*get_xip_mem)(struct address_space * , unsigned long , int , void ** , unsigned long * ) ;
1384 int (*migratepage)(struct address_space * , struct page * , struct page * , enum migrate_mode ) ;
1385 int (*launder_page)(struct page * ) ;
1386 int (*is_partially_uptodate)(struct page * , read_descriptor_t * , unsigned long ) ;
1387 int (*error_remove_page)(struct address_space * , struct page * ) ;
1388};
1389#line 642
1390struct backing_dev_info;
1391#line 642
1392struct backing_dev_info;
1393#line 643 "include/linux/fs.h"
1394struct address_space {
1395 struct inode *host ;
1396 struct radix_tree_root page_tree ;
1397 spinlock_t tree_lock ;
1398 unsigned int i_mmap_writable ;
1399 struct prio_tree_root i_mmap ;
1400 struct list_head i_mmap_nonlinear ;
1401 struct mutex i_mmap_mutex ;
1402 unsigned long nrpages ;
1403 unsigned long writeback_index ;
1404 struct address_space_operations const *a_ops ;
1405 unsigned long flags ;
1406 struct backing_dev_info *backing_dev_info ;
1407 spinlock_t private_lock ;
1408 struct list_head private_list ;
1409 struct address_space *assoc_mapping ;
1410};
1411#line 664
1412struct request_queue;
1413#line 664
1414struct request_queue;
1415#line 665
1416struct hd_struct;
1417#line 665
1418struct gendisk;
1419#line 665 "include/linux/fs.h"
1420struct block_device {
1421 dev_t bd_dev ;
1422 int bd_openers ;
1423 struct inode *bd_inode ;
1424 struct super_block *bd_super ;
1425 struct mutex bd_mutex ;
1426 struct list_head bd_inodes ;
1427 void *bd_claiming ;
1428 void *bd_holder ;
1429 int bd_holders ;
1430 bool bd_write_holder ;
1431 struct list_head bd_holder_disks ;
1432 struct block_device *bd_contains ;
1433 unsigned int bd_block_size ;
1434 struct hd_struct *bd_part ;
1435 unsigned int bd_part_count ;
1436 int bd_invalidated ;
1437 struct gendisk *bd_disk ;
1438 struct request_queue *bd_queue ;
1439 struct list_head bd_list ;
1440 unsigned long bd_private ;
1441 int bd_fsfreeze_count ;
1442 struct mutex bd_fsfreeze_mutex ;
1443};
1444#line 737
1445struct posix_acl;
1446#line 737
1447struct posix_acl;
1448#line 738
1449struct inode_operations;
1450#line 738 "include/linux/fs.h"
1451union __anonunion_ldv_15748_139 {
1452 unsigned int const i_nlink ;
1453 unsigned int __i_nlink ;
1454};
1455#line 738 "include/linux/fs.h"
1456union __anonunion_ldv_15767_140 {
1457 struct list_head i_dentry ;
1458 struct rcu_head i_rcu ;
1459};
1460#line 738
1461struct file_operations;
1462#line 738
1463struct file_lock;
1464#line 738
1465struct cdev;
1466#line 738 "include/linux/fs.h"
1467union __anonunion_ldv_15785_141 {
1468 struct pipe_inode_info *i_pipe ;
1469 struct block_device *i_bdev ;
1470 struct cdev *i_cdev ;
1471};
1472#line 738 "include/linux/fs.h"
1473struct inode {
1474 umode_t i_mode ;
1475 unsigned short i_opflags ;
1476 uid_t i_uid ;
1477 gid_t i_gid ;
1478 unsigned int i_flags ;
1479 struct posix_acl *i_acl ;
1480 struct posix_acl *i_default_acl ;
1481 struct inode_operations const *i_op ;
1482 struct super_block *i_sb ;
1483 struct address_space *i_mapping ;
1484 void *i_security ;
1485 unsigned long i_ino ;
1486 union __anonunion_ldv_15748_139 ldv_15748 ;
1487 dev_t i_rdev ;
1488 struct timespec i_atime ;
1489 struct timespec i_mtime ;
1490 struct timespec i_ctime ;
1491 spinlock_t i_lock ;
1492 unsigned short i_bytes ;
1493 blkcnt_t i_blocks ;
1494 loff_t i_size ;
1495 unsigned long i_state ;
1496 struct mutex i_mutex ;
1497 unsigned long dirtied_when ;
1498 struct hlist_node i_hash ;
1499 struct list_head i_wb_list ;
1500 struct list_head i_lru ;
1501 struct list_head i_sb_list ;
1502 union __anonunion_ldv_15767_140 ldv_15767 ;
1503 atomic_t i_count ;
1504 unsigned int i_blkbits ;
1505 u64 i_version ;
1506 atomic_t i_dio_count ;
1507 atomic_t i_writecount ;
1508 struct file_operations const *i_fop ;
1509 struct file_lock *i_flock ;
1510 struct address_space i_data ;
1511 struct dquot *i_dquot[2U] ;
1512 struct list_head i_devices ;
1513 union __anonunion_ldv_15785_141 ldv_15785 ;
1514 __u32 i_generation ;
1515 __u32 i_fsnotify_mask ;
1516 struct hlist_head i_fsnotify_marks ;
1517 atomic_t i_readcount ;
1518 void *i_private ;
1519};
1520#line 941 "include/linux/fs.h"
1521struct fown_struct {
1522 rwlock_t lock ;
1523 struct pid *pid ;
1524 enum pid_type pid_type ;
1525 uid_t uid ;
1526 uid_t euid ;
1527 int signum ;
1528};
1529#line 949 "include/linux/fs.h"
1530struct file_ra_state {
1531 unsigned long start ;
1532 unsigned int size ;
1533 unsigned int async_size ;
1534 unsigned int ra_pages ;
1535 unsigned int mmap_miss ;
1536 loff_t prev_pos ;
1537};
1538#line 972 "include/linux/fs.h"
1539union __anonunion_f_u_142 {
1540 struct list_head fu_list ;
1541 struct rcu_head fu_rcuhead ;
1542};
1543#line 972 "include/linux/fs.h"
1544struct file {
1545 union __anonunion_f_u_142 f_u ;
1546 struct path f_path ;
1547 struct file_operations const *f_op ;
1548 spinlock_t f_lock ;
1549 int f_sb_list_cpu ;
1550 atomic_long_t f_count ;
1551 unsigned int f_flags ;
1552 fmode_t f_mode ;
1553 loff_t f_pos ;
1554 struct fown_struct f_owner ;
1555 struct cred const *f_cred ;
1556 struct file_ra_state f_ra ;
1557 u64 f_version ;
1558 void *f_security ;
1559 void *private_data ;
1560 struct list_head f_ep_links ;
1561 struct list_head f_tfile_llink ;
1562 struct address_space *f_mapping ;
1563 unsigned long f_mnt_write_state ;
1564};
1565#line 1111
1566struct files_struct;
1567#line 1111 "include/linux/fs.h"
1568typedef struct files_struct *fl_owner_t;
1569#line 1112 "include/linux/fs.h"
1570struct file_lock_operations {
1571 void (*fl_copy_lock)(struct file_lock * , struct file_lock * ) ;
1572 void (*fl_release_private)(struct file_lock * ) ;
1573};
1574#line 1117 "include/linux/fs.h"
1575struct lock_manager_operations {
1576 int (*lm_compare_owner)(struct file_lock * , struct file_lock * ) ;
1577 void (*lm_notify)(struct file_lock * ) ;
1578 int (*lm_grant)(struct file_lock * , struct file_lock * , int ) ;
1579 void (*lm_release_private)(struct file_lock * ) ;
1580 void (*lm_break)(struct file_lock * ) ;
1581 int (*lm_change)(struct file_lock ** , int ) ;
1582};
1583#line 1134
1584struct nlm_lockowner;
1585#line 1134
1586struct nlm_lockowner;
1587#line 1135 "include/linux/fs.h"
1588struct nfs_lock_info {
1589 u32 state ;
1590 struct nlm_lockowner *owner ;
1591 struct list_head list ;
1592};
1593#line 14 "include/linux/nfs_fs_i.h"
1594struct nfs4_lock_state;
1595#line 14
1596struct nfs4_lock_state;
1597#line 15 "include/linux/nfs_fs_i.h"
1598struct nfs4_lock_info {
1599 struct nfs4_lock_state *owner ;
1600};
1601#line 19
1602struct fasync_struct;
1603#line 19 "include/linux/nfs_fs_i.h"
1604struct __anonstruct_afs_144 {
1605 struct list_head link ;
1606 int state ;
1607};
1608#line 19 "include/linux/nfs_fs_i.h"
1609union __anonunion_fl_u_143 {
1610 struct nfs_lock_info nfs_fl ;
1611 struct nfs4_lock_info nfs4_fl ;
1612 struct __anonstruct_afs_144 afs ;
1613};
1614#line 19 "include/linux/nfs_fs_i.h"
1615struct file_lock {
1616 struct file_lock *fl_next ;
1617 struct list_head fl_link ;
1618 struct list_head fl_block ;
1619 fl_owner_t fl_owner ;
1620 unsigned int fl_flags ;
1621 unsigned char fl_type ;
1622 unsigned int fl_pid ;
1623 struct pid *fl_nspid ;
1624 wait_queue_head_t fl_wait ;
1625 struct file *fl_file ;
1626 loff_t fl_start ;
1627 loff_t fl_end ;
1628 struct fasync_struct *fl_fasync ;
1629 unsigned long fl_break_time ;
1630 unsigned long fl_downgrade_time ;
1631 struct file_lock_operations const *fl_ops ;
1632 struct lock_manager_operations const *fl_lmops ;
1633 union __anonunion_fl_u_143 fl_u ;
1634};
1635#line 1221 "include/linux/fs.h"
1636struct fasync_struct {
1637 spinlock_t fa_lock ;
1638 int magic ;
1639 int fa_fd ;
1640 struct fasync_struct *fa_next ;
1641 struct file *fa_file ;
1642 struct rcu_head fa_rcu ;
1643};
1644#line 1417
1645struct file_system_type;
1646#line 1417
1647struct super_operations;
1648#line 1417
1649struct xattr_handler;
1650#line 1417
1651struct mtd_info;
1652#line 1417 "include/linux/fs.h"
1653struct super_block {
1654 struct list_head s_list ;
1655 dev_t s_dev ;
1656 unsigned char s_dirt ;
1657 unsigned char s_blocksize_bits ;
1658 unsigned long s_blocksize ;
1659 loff_t s_maxbytes ;
1660 struct file_system_type *s_type ;
1661 struct super_operations const *s_op ;
1662 struct dquot_operations const *dq_op ;
1663 struct quotactl_ops const *s_qcop ;
1664 struct export_operations const *s_export_op ;
1665 unsigned long s_flags ;
1666 unsigned long s_magic ;
1667 struct dentry *s_root ;
1668 struct rw_semaphore s_umount ;
1669 struct mutex s_lock ;
1670 int s_count ;
1671 atomic_t s_active ;
1672 void *s_security ;
1673 struct xattr_handler const **s_xattr ;
1674 struct list_head s_inodes ;
1675 struct hlist_bl_head s_anon ;
1676 struct list_head *s_files ;
1677 struct list_head s_mounts ;
1678 struct list_head s_dentry_lru ;
1679 int s_nr_dentry_unused ;
1680 spinlock_t s_inode_lru_lock ;
1681 struct list_head s_inode_lru ;
1682 int s_nr_inodes_unused ;
1683 struct block_device *s_bdev ;
1684 struct backing_dev_info *s_bdi ;
1685 struct mtd_info *s_mtd ;
1686 struct hlist_node s_instances ;
1687 struct quota_info s_dquot ;
1688 int s_frozen ;
1689 wait_queue_head_t s_wait_unfrozen ;
1690 char s_id[32U] ;
1691 u8 s_uuid[16U] ;
1692 void *s_fs_info ;
1693 unsigned int s_max_links ;
1694 fmode_t s_mode ;
1695 u32 s_time_gran ;
1696 struct mutex s_vfs_rename_mutex ;
1697 char *s_subtype ;
1698 char *s_options ;
1699 struct dentry_operations const *s_d_op ;
1700 int cleancache_poolid ;
1701 struct shrinker s_shrink ;
1702 atomic_long_t s_remove_count ;
1703 int s_readonly_remount ;
1704};
1705#line 1563 "include/linux/fs.h"
1706struct fiemap_extent_info {
1707 unsigned int fi_flags ;
1708 unsigned int fi_extents_mapped ;
1709 unsigned int fi_extents_max ;
1710 struct fiemap_extent *fi_extents_start ;
1711};
1712#line 1602 "include/linux/fs.h"
1713struct file_operations {
1714 struct module *owner ;
1715 loff_t (*llseek)(struct file * , loff_t , int ) ;
1716 ssize_t (*read)(struct file * , char * , size_t , loff_t * ) ;
1717 ssize_t (*write)(struct file * , char const * , size_t , loff_t * ) ;
1718 ssize_t (*aio_read)(struct kiocb * , struct iovec const * , unsigned long ,
1719 loff_t ) ;
1720 ssize_t (*aio_write)(struct kiocb * , struct iovec const * , unsigned long ,
1721 loff_t ) ;
1722 int (*readdir)(struct file * , void * , int (*)(void * , char const * , int ,
1723 loff_t , u64 , unsigned int ) ) ;
1724 unsigned int (*poll)(struct file * , struct poll_table_struct * ) ;
1725 long (*unlocked_ioctl)(struct file * , unsigned int , unsigned long ) ;
1726 long (*compat_ioctl)(struct file * , unsigned int , unsigned long ) ;
1727 int (*mmap)(struct file * , struct vm_area_struct * ) ;
1728 int (*open)(struct inode * , struct file * ) ;
1729 int (*flush)(struct file * , fl_owner_t ) ;
1730 int (*release)(struct inode * , struct file * ) ;
1731 int (*fsync)(struct file * , loff_t , loff_t , int ) ;
1732 int (*aio_fsync)(struct kiocb * , int ) ;
1733 int (*fasync)(int , struct file * , int ) ;
1734 int (*lock)(struct file * , int , struct file_lock * ) ;
1735 ssize_t (*sendpage)(struct file * , struct page * , int , size_t , loff_t * ,
1736 int ) ;
1737 unsigned long (*get_unmapped_area)(struct file * , unsigned long , unsigned long ,
1738 unsigned long , unsigned long ) ;
1739 int (*check_flags)(int ) ;
1740 int (*flock)(struct file * , int , struct file_lock * ) ;
1741 ssize_t (*splice_write)(struct pipe_inode_info * , struct file * , loff_t * , size_t ,
1742 unsigned int ) ;
1743 ssize_t (*splice_read)(struct file * , loff_t * , struct pipe_inode_info * , size_t ,
1744 unsigned int ) ;
1745 int (*setlease)(struct file * , long , struct file_lock ** ) ;
1746 long (*fallocate)(struct file * , int , loff_t , loff_t ) ;
1747};
1748#line 1637 "include/linux/fs.h"
1749struct inode_operations {
1750 struct dentry *(*lookup)(struct inode * , struct dentry * , struct nameidata * ) ;
1751 void *(*follow_link)(struct dentry * , struct nameidata * ) ;
1752 int (*permission)(struct inode * , int ) ;
1753 struct posix_acl *(*get_acl)(struct inode * , int ) ;
1754 int (*readlink)(struct dentry * , char * , int ) ;
1755 void (*put_link)(struct dentry * , struct nameidata * , void * ) ;
1756 int (*create)(struct inode * , struct dentry * , umode_t , struct nameidata * ) ;
1757 int (*link)(struct dentry * , struct inode * , struct dentry * ) ;
1758 int (*unlink)(struct inode * , struct dentry * ) ;
1759 int (*symlink)(struct inode * , struct dentry * , char const * ) ;
1760 int (*mkdir)(struct inode * , struct dentry * , umode_t ) ;
1761 int (*rmdir)(struct inode * , struct dentry * ) ;
1762 int (*mknod)(struct inode * , struct dentry * , umode_t , dev_t ) ;
1763 int (*rename)(struct inode * , struct dentry * , struct inode * , struct dentry * ) ;
1764 void (*truncate)(struct inode * ) ;
1765 int (*setattr)(struct dentry * , struct iattr * ) ;
1766 int (*getattr)(struct vfsmount * , struct dentry * , struct kstat * ) ;
1767 int (*setxattr)(struct dentry * , char const * , void const * , size_t , int ) ;
1768 ssize_t (*getxattr)(struct dentry * , char const * , void * , size_t ) ;
1769 ssize_t (*listxattr)(struct dentry * , char * , size_t ) ;
1770 int (*removexattr)(struct dentry * , char const * ) ;
1771 void (*truncate_range)(struct inode * , loff_t , loff_t ) ;
1772 int (*fiemap)(struct inode * , struct fiemap_extent_info * , u64 , u64 ) ;
1773};
1774#line 1682 "include/linux/fs.h"
1775struct super_operations {
1776 struct inode *(*alloc_inode)(struct super_block * ) ;
1777 void (*destroy_inode)(struct inode * ) ;
1778 void (*dirty_inode)(struct inode * , int ) ;
1779 int (*write_inode)(struct inode * , struct writeback_control * ) ;
1780 int (*drop_inode)(struct inode * ) ;
1781 void (*evict_inode)(struct inode * ) ;
1782 void (*put_super)(struct super_block * ) ;
1783 void (*write_super)(struct super_block * ) ;
1784 int (*sync_fs)(struct super_block * , int ) ;
1785 int (*freeze_fs)(struct super_block * ) ;
1786 int (*unfreeze_fs)(struct super_block * ) ;
1787 int (*statfs)(struct dentry * , struct kstatfs * ) ;
1788 int (*remount_fs)(struct super_block * , int * , char * ) ;
1789 void (*umount_begin)(struct super_block * ) ;
1790 int (*show_options)(struct seq_file * , struct dentry * ) ;
1791 int (*show_devname)(struct seq_file * , struct dentry * ) ;
1792 int (*show_path)(struct seq_file * , struct dentry * ) ;
1793 int (*show_stats)(struct seq_file * , struct dentry * ) ;
1794 ssize_t (*quota_read)(struct super_block * , int , char * , size_t , loff_t ) ;
1795 ssize_t (*quota_write)(struct super_block * , int , char const * , size_t ,
1796 loff_t ) ;
1797 int (*bdev_try_to_free_page)(struct super_block * , struct page * , gfp_t ) ;
1798 int (*nr_cached_objects)(struct super_block * ) ;
1799 void (*free_cached_objects)(struct super_block * , int ) ;
1800};
1801#line 1834 "include/linux/fs.h"
1802struct file_system_type {
1803 char const *name ;
1804 int fs_flags ;
1805 struct dentry *(*mount)(struct file_system_type * , int , char const * , void * ) ;
1806 void (*kill_sb)(struct super_block * ) ;
1807 struct module *owner ;
1808 struct file_system_type *next ;
1809 struct hlist_head fs_supers ;
1810 struct lock_class_key s_lock_key ;
1811 struct lock_class_key s_umount_key ;
1812 struct lock_class_key s_vfs_rename_key ;
1813 struct lock_class_key i_lock_key ;
1814 struct lock_class_key i_mutex_key ;
1815 struct lock_class_key i_mutex_dir_key ;
1816};
1817#line 2674 "include/linux/fs.h"
1818struct miscdevice {
1819 int minor ;
1820 char const *name ;
1821 struct file_operations const *fops ;
1822 struct list_head list ;
1823 struct device *parent ;
1824 struct device *this_device ;
1825 char const *nodename ;
1826 umode_t mode ;
1827};
1828#line 63 "include/linux/miscdevice.h"
1829struct watchdog_info {
1830 __u32 options ;
1831 __u32 firmware_version ;
1832 __u8 identity[32U] ;
1833};
1834#line 19 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/emergency-restart.h"
1835struct exception_table_entry {
1836 unsigned long insn ;
1837 unsigned long fixup ;
1838};
1839#line 401 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17371/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83977f_wdt.c.p"
1840union __anonunion_uarg_146 {
1841 struct watchdog_info *ident ;
1842 int *i ;
1843};
1844#line 2
1845void ldv_spin_lock(void) ;
1846#line 3
1847void ldv_spin_unlock(void) ;
1848#line 4
1849int ldv_spin_trylock(void) ;
1850#line 98 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/bitops.h"
1851__inline static void clear_bit(int nr , unsigned long volatile *addr )
1852{ long volatile *__cil_tmp3 ;
1853
1854 {
1855#line 105
1856 __cil_tmp3 = (long volatile *)addr;
1857#line 105
1858 __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));
1859#line 107
1860 return;
1861}
1862}
1863#line 195 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/bitops.h"
1864__inline static int test_and_set_bit(int nr , unsigned long volatile *addr )
1865{ int oldbit ;
1866 long volatile *__cil_tmp4 ;
1867
1868 {
1869#line 199
1870 __cil_tmp4 = (long volatile *)addr;
1871#line 199
1872 __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),
1873 "+m" (*__cil_tmp4): "Ir" (nr): "memory");
1874#line 202
1875 return (oldbit);
1876}
1877}
1878#line 101 "include/linux/printk.h"
1879extern int printk(char const * , ...) ;
1880#line 192 "include/linux/kernel.h"
1881extern void might_fault(void) ;
1882#line 355 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt_types.h"
1883extern struct pv_cpu_ops pv_cpu_ops ;
1884#line 349 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt.h"
1885__inline static void slow_down_io(void)
1886{ unsigned long __cil_tmp1 ;
1887 void (*__cil_tmp2)(void) ;
1888
1889 {
1890 {
1891#line 351
1892 __cil_tmp1 = (unsigned long )(& pv_cpu_ops) + 216;
1893#line 351
1894 __cil_tmp2 = *((void (**)(void))__cil_tmp1);
1895#line 351
1896 (*__cil_tmp2)();
1897 }
1898#line 352
1899 return;
1900}
1901}
1902#line 43 "include/linux/spinlock_api_smp.h"
1903extern void _raw_spin_unlock_irqrestore(raw_spinlock_t * , unsigned long ) ;
1904#line 350 "include/linux/spinlock.h"
1905__inline static void ldv_spin_unlock_irqrestore_8(spinlock_t *lock , unsigned long flags )
1906{ struct raw_spinlock *__cil_tmp5 ;
1907
1908 {
1909 {
1910#line 352
1911 __cil_tmp5 = (struct raw_spinlock *)lock;
1912#line 352
1913 _raw_spin_unlock_irqrestore(__cil_tmp5, flags);
1914 }
1915#line 353
1916 return;
1917}
1918}
1919#line 350
1920__inline static void spin_unlock_irqrestore(spinlock_t *lock , unsigned long flags ) ;
1921#line 137 "include/linux/ioport.h"
1922extern struct resource ioport_resource ;
1923#line 181
1924extern struct resource *__request_region(struct resource * , resource_size_t , resource_size_t ,
1925 char const * , int ) ;
1926#line 192
1927extern void __release_region(struct resource * , resource_size_t , resource_size_t ) ;
1928#line 308 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
1929__inline static void outb(unsigned char value , int port )
1930{
1931
1932 {
1933#line 308
1934 __asm__ volatile ("outb %b0, %w1": : "a" (value), "Nd" (port));
1935#line 309
1936 return;
1937}
1938}
1939#line 308 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
1940__inline static unsigned char inb(int port )
1941{ unsigned char value ;
1942
1943 {
1944#line 308
1945 __asm__ volatile ("inb %w1, %b0": "=a" (value): "Nd" (port));
1946#line 308
1947 return (value);
1948}
1949}
1950#line 308 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
1951__inline static void outb_p(unsigned char value , int port )
1952{ int __cil_tmp3 ;
1953 unsigned char __cil_tmp4 ;
1954
1955 {
1956 {
1957#line 308
1958 __cil_tmp3 = (int )value;
1959#line 308
1960 __cil_tmp4 = (unsigned char )__cil_tmp3;
1961#line 308
1962 outb(__cil_tmp4, port);
1963#line 308
1964 slow_down_io();
1965 }
1966#line 309
1967 return;
1968}
1969}
1970#line 308 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
1971__inline static unsigned char inb_p(int port )
1972{ unsigned char value ;
1973 unsigned char tmp ;
1974
1975 {
1976 {
1977#line 308
1978 tmp = inb(port);
1979#line 308
1980 value = tmp;
1981#line 308
1982 slow_down_io();
1983 }
1984#line 308
1985 return (value);
1986}
1987}
1988#line 26 "include/linux/export.h"
1989extern struct module __this_module ;
1990#line 453 "include/linux/module.h"
1991extern void __module_get(struct module * ) ;
1992#line 220 "include/linux/slub_def.h"
1993extern void *kmem_cache_alloc(struct kmem_cache * , gfp_t ) ;
1994#line 223
1995void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 ) ;
1996#line 11 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17371/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83977f_wdt.c.p"
1997void ldv_check_alloc_flags(gfp_t flags ) ;
1998#line 12
1999void ldv_check_alloc_nonatomic(void) ;
2000#line 14
2001struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags ) ;
2002#line 2402 "include/linux/fs.h"
2003extern loff_t no_llseek(struct file * , loff_t , int ) ;
2004#line 2407
2005extern int nonseekable_open(struct inode * , struct file * ) ;
2006#line 61 "include/linux/miscdevice.h"
2007extern int misc_register(struct miscdevice * ) ;
2008#line 62
2009extern int misc_deregister(struct miscdevice * ) ;
2010#line 47 "include/linux/reboot.h"
2011extern int register_reboot_notifier(struct notifier_block * ) ;
2012#line 48
2013extern int unregister_reboot_notifier(struct notifier_block * ) ;
2014#line 40 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/uaccess_64.h"
2015extern unsigned long _copy_to_user(void * , void const * , unsigned int ) ;
2016#line 63 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/uaccess_64.h"
2017__inline static int copy_to_user(void *dst , void const *src , unsigned int size )
2018{ unsigned long tmp ;
2019
2020 {
2021 {
2022#line 65
2023 might_fault();
2024#line 67
2025 tmp = _copy_to_user(dst, src, size);
2026 }
2027#line 67
2028 return ((int )tmp);
2029}
2030}
2031#line 62 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17371/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83977f_wdt.c.p"
2032static int timeout = 45;
2033#line 63 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17371/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83977f_wdt.c.p"
2034static int timeoutW ;
2035#line 64 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17371/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83977f_wdt.c.p"
2036static unsigned long timer_alive ;
2037#line 65 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17371/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83977f_wdt.c.p"
2038static int testmode ;
2039#line 66 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17371/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83977f_wdt.c.p"
2040static char expect_close ;
2041#line 67 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17371/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83977f_wdt.c.p"
2042static spinlock_t spinlock = {{{{{0U}}, 3735899821U, 4294967295U, (void *)0xffffffffffffffffUL, {(struct lock_class_key *)0,
2043 {(struct lock_class *)0,
2044 (struct lock_class *)0},
2045 "spinlock",
2046 0, 0UL}}}};
2047#line 76 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17371/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83977f_wdt.c.p"
2048static bool nowayout = (bool )1;
2049#line 86 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17371/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83977f_wdt.c.p"
2050static int wdt_start(void)
2051{ unsigned long flags ;
2052 unsigned int pin_map ;
2053 unsigned char tmp ;
2054 unsigned char __cil_tmp4 ;
2055 int __cil_tmp5 ;
2056 unsigned char __cil_tmp6 ;
2057 int *__cil_tmp7 ;
2058 int __cil_tmp8 ;
2059 unsigned char __cil_tmp9 ;
2060 int __cil_tmp10 ;
2061 unsigned char __cil_tmp11 ;
2062
2063 {
2064 {
2065#line 90
2066 ldv_spin_lock();
2067#line 93
2068 outb_p((unsigned char)135, 1008);
2069#line 94
2070 outb_p((unsigned char)135, 1008);
2071#line 102
2072 outb_p((unsigned char)7, 1008);
2073#line 103
2074 outb_p((unsigned char)8, 1009);
2075#line 104
2076 outb_p((unsigned char)242, 1008);
2077#line 105
2078 __cil_tmp4 = (unsigned char )timeoutW;
2079#line 105
2080 __cil_tmp5 = (int )__cil_tmp4;
2081#line 105
2082 __cil_tmp6 = (unsigned char )__cil_tmp5;
2083#line 105
2084 outb_p(__cil_tmp6, 1009);
2085#line 106
2086 outb_p((unsigned char)243, 1008);
2087#line 107
2088 outb_p((unsigned char)8, 1009);
2089#line 108
2090 outb_p((unsigned char)244, 1008);
2091#line 109
2092 outb_p((unsigned char)0, 1009);
2093#line 112
2094 outb_p((unsigned char)48, 1008);
2095#line 113
2096 outb_p((unsigned char)1, 1009);
2097#line 122
2098 outb_p((unsigned char)7, 1008);
2099#line 123
2100 outb_p((unsigned char)7, 1009);
2101 }
2102 {
2103#line 124
2104 __cil_tmp7 = & testmode;
2105#line 124
2106 __cil_tmp8 = *__cil_tmp7;
2107#line 124
2108 if (__cil_tmp8 == 0) {
2109 {
2110#line 127
2111 outb_p((unsigned char)230, 1008);
2112#line 128
2113 outb_p((unsigned char)10, 1009);
2114#line 129
2115 outb_p((unsigned char)44, 1008);
2116#line 130
2117 tmp = inb_p(1009);
2118#line 130
2119 pin_map = (unsigned int )tmp;
2120#line 131
2121 pin_map = pin_map | 16U;
2122#line 132
2123 pin_map = pin_map & 4294967263U;
2124#line 133
2125 outb_p((unsigned char)44, 1008);
2126#line 134
2127 __cil_tmp9 = (unsigned char )pin_map;
2128#line 134
2129 __cil_tmp10 = (int )__cil_tmp9;
2130#line 134
2131 __cil_tmp11 = (unsigned char )__cil_tmp10;
2132#line 134
2133 outb_p(__cil_tmp11, 1009);
2134 }
2135 } else {
2136
2137 }
2138 }
2139 {
2140#line 136
2141 outb_p((unsigned char)227, 1008);
2142#line 137
2143 outb_p((unsigned char)8, 1009);
2144#line 140
2145 outb_p((unsigned char)48, 1008);
2146#line 141
2147 outb_p((unsigned char)1, 1009);
2148#line 144
2149 outb_p((unsigned char)170, 1008);
2150#line 146
2151 spin_unlock_irqrestore(& spinlock, flags);
2152#line 148
2153 printk("<6>w83977f_wdt: activated\n");
2154 }
2155#line 150
2156 return (0);
2157}
2158}
2159#line 157 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17371/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83977f_wdt.c.p"
2160static int wdt_stop(void)
2161{ unsigned long flags ;
2162 int *__cil_tmp2 ;
2163 int __cil_tmp3 ;
2164
2165 {
2166 {
2167#line 161
2168 ldv_spin_lock();
2169#line 164
2170 outb_p((unsigned char)135, 1008);
2171#line 165
2172 outb_p((unsigned char)135, 1008);
2173#line 173
2174 outb_p((unsigned char)7, 1008);
2175#line 174
2176 outb_p((unsigned char)8, 1009);
2177#line 175
2178 outb_p((unsigned char)242, 1008);
2179#line 176
2180 outb_p((unsigned char)255, 1009);
2181#line 177
2182 outb_p((unsigned char)243, 1008);
2183#line 178
2184 outb_p((unsigned char)0, 1009);
2185#line 179
2186 outb_p((unsigned char)244, 1008);
2187#line 180
2188 outb_p((unsigned char)0, 1009);
2189#line 181
2190 outb_p((unsigned char)242, 1008);
2191#line 182
2192 outb_p((unsigned char)0, 1009);
2193#line 188
2194 outb_p((unsigned char)7, 1008);
2195#line 189
2196 outb_p((unsigned char)7, 1009);
2197 }
2198 {
2199#line 190
2200 __cil_tmp2 = & testmode;
2201#line 190
2202 __cil_tmp3 = *__cil_tmp2;
2203#line 190
2204 if (__cil_tmp3 == 0) {
2205 {
2206#line 191
2207 outb_p((unsigned char)230, 1008);
2208#line 192
2209 outb_p((unsigned char)1, 1009);
2210 }
2211 } else {
2212
2213 }
2214 }
2215 {
2216#line 194
2217 outb_p((unsigned char)227, 1008);
2218#line 195
2219 outb_p((unsigned char)1, 1009);
2220#line 198
2221 outb_p((unsigned char)170, 1008);
2222#line 200
2223 spin_unlock_irqrestore(& spinlock, flags);
2224#line 202
2225 printk("<6>w83977f_wdt: shutdown\n");
2226 }
2227#line 204
2228 return (0);
2229}
2230}
2231#line 212 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17371/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83977f_wdt.c.p"
2232static int wdt_keepalive(void)
2233{ unsigned long flags ;
2234 unsigned char __cil_tmp2 ;
2235 int __cil_tmp3 ;
2236 unsigned char __cil_tmp4 ;
2237
2238 {
2239 {
2240#line 216
2241 ldv_spin_lock();
2242#line 219
2243 outb_p((unsigned char)135, 1008);
2244#line 220
2245 outb_p((unsigned char)135, 1008);
2246#line 223
2247 outb_p((unsigned char)7, 1008);
2248#line 224
2249 outb_p((unsigned char)8, 1009);
2250#line 225
2251 outb_p((unsigned char)242, 1008);
2252#line 226
2253 __cil_tmp2 = (unsigned char )timeoutW;
2254#line 226
2255 __cil_tmp3 = (int )__cil_tmp2;
2256#line 226
2257 __cil_tmp4 = (unsigned char )__cil_tmp3;
2258#line 226
2259 outb_p(__cil_tmp4, 1009);
2260#line 229
2261 outb_p((unsigned char)170, 1008);
2262#line 231
2263 spin_unlock_irqrestore(& spinlock, flags);
2264 }
2265#line 233
2266 return (0);
2267}
2268}
2269#line 240 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17371/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83977f_wdt.c.p"
2270static int wdt_set_timeout(int t )
2271{ int tmrval ;
2272 int __cil_tmp3 ;
2273 int *__cil_tmp4 ;
2274 int __cil_tmp5 ;
2275
2276 {
2277#line 251
2278 if (t <= 14) {
2279#line 252
2280 return (-22);
2281 } else {
2282
2283 }
2284#line 254
2285 __cil_tmp3 = t + 44;
2286#line 254
2287 tmrval = __cil_tmp3 / 30;
2288#line 256
2289 if (tmrval > 255) {
2290#line 257
2291 return (-22);
2292 } else {
2293
2294 }
2295#line 263
2296 timeoutW = tmrval;
2297#line 264
2298 __cil_tmp4 = & timeout;
2299#line 264
2300 __cil_tmp5 = timeoutW * 30;
2301#line 264
2302 *__cil_tmp4 = __cil_tmp5 + -15;
2303#line 265
2304 return (0);
2305}
2306}
2307#line 272 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17371/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83977f_wdt.c.p"
2308static int wdt_get_status(int *status )
2309{ int new_status ;
2310 unsigned long flags ;
2311 unsigned char tmp ;
2312 int __cil_tmp5 ;
2313
2314 {
2315 {
2316#line 277
2317 ldv_spin_lock();
2318#line 280
2319 outb_p((unsigned char)135, 1008);
2320#line 281
2321 outb_p((unsigned char)135, 1008);
2322#line 284
2323 outb_p((unsigned char)7, 1008);
2324#line 285
2325 outb_p((unsigned char)8, 1009);
2326#line 286
2327 outb_p((unsigned char)244, 1008);
2328#line 287
2329 tmp = inb_p(1009);
2330#line 287
2331 new_status = (int )tmp;
2332#line 290
2333 outb_p((unsigned char)170, 1008);
2334#line 292
2335 spin_unlock_irqrestore(& spinlock, flags);
2336#line 294
2337 *status = 0;
2338 }
2339#line 295
2340 if (new_status & 1) {
2341#line 296
2342 __cil_tmp5 = *status;
2343#line 296
2344 *status = __cil_tmp5 | 32;
2345 } else {
2346
2347 }
2348#line 298
2349 return (0);
2350}
2351}
2352#line 306 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17371/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83977f_wdt.c.p"
2353static int wdt_open(struct inode *inode , struct file *file )
2354{ int tmp ;
2355 int tmp___0 ;
2356 unsigned long volatile *__cil_tmp5 ;
2357 bool *__cil_tmp6 ;
2358 bool __cil_tmp7 ;
2359
2360 {
2361 {
2362#line 309
2363 __cil_tmp5 = (unsigned long volatile *)(& timer_alive);
2364#line 309
2365 tmp = test_and_set_bit(0, __cil_tmp5);
2366 }
2367#line 309
2368 if (tmp != 0) {
2369#line 310
2370 return (-16);
2371 } else {
2372
2373 }
2374 {
2375#line 312
2376 __cil_tmp6 = & nowayout;
2377#line 312
2378 __cil_tmp7 = *__cil_tmp6;
2379#line 312
2380 if ((int )__cil_tmp7) {
2381 {
2382#line 313
2383 __module_get(& __this_module);
2384 }
2385 } else {
2386
2387 }
2388 }
2389 {
2390#line 315
2391 wdt_start();
2392#line 316
2393 tmp___0 = nonseekable_open(inode, file);
2394 }
2395#line 316
2396 return (tmp___0);
2397}
2398}
2399#line 319 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17371/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83977f_wdt.c.p"
2400static int wdt_release(struct inode *inode , struct file *file )
2401{ signed char __cil_tmp3 ;
2402 int __cil_tmp4 ;
2403 unsigned long volatile *__cil_tmp5 ;
2404
2405 {
2406 {
2407#line 325
2408 __cil_tmp3 = (signed char )expect_close;
2409#line 325
2410 __cil_tmp4 = (int )__cil_tmp3;
2411#line 325
2412 if (__cil_tmp4 == 42) {
2413 {
2414#line 326
2415 wdt_stop();
2416#line 327
2417 __cil_tmp5 = (unsigned long volatile *)(& timer_alive);
2418#line 327
2419 clear_bit(0, __cil_tmp5);
2420 }
2421 } else {
2422 {
2423#line 329
2424 wdt_keepalive();
2425#line 330
2426 printk("<2>w83977f_wdt: unexpected close, not stopping watchdog!\n");
2427 }
2428 }
2429 }
2430#line 332
2431 expect_close = (char)0;
2432#line 333
2433 return (0);
2434}
2435}
2436#line 347 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17371/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83977f_wdt.c.p"
2437static ssize_t wdt_write(struct file *file , char const *buf , size_t count , loff_t *ppos )
2438{ size_t ofs ;
2439 char c ;
2440 int __ret_gu ;
2441 unsigned long __val_gu ;
2442 bool *__cil_tmp9 ;
2443 bool __cil_tmp10 ;
2444 signed char __cil_tmp11 ;
2445 int __cil_tmp12 ;
2446
2447 {
2448#line 351
2449 if (count != 0UL) {
2450 {
2451#line 352
2452 __cil_tmp9 = & nowayout;
2453#line 352
2454 __cil_tmp10 = *__cil_tmp9;
2455#line 352
2456 if (! __cil_tmp10) {
2457#line 357
2458 expect_close = (char)0;
2459#line 361
2460 ofs = 0UL;
2461#line 361
2462 goto ldv_18083;
2463 ldv_18082:
2464 {
2465#line 363
2466 might_fault();
2467 }
2468#line 363
2469 if (1 == 1) {
2470#line 363
2471 goto case_1;
2472 } else
2473#line 363
2474 if (1 == 2) {
2475#line 363
2476 goto case_2;
2477 } else
2478#line 363
2479 if (1 == 4) {
2480#line 363
2481 goto case_4;
2482 } else
2483#line 363
2484 if (1 == 8) {
2485#line 363
2486 goto case_8;
2487 } else {
2488 {
2489#line 363
2490 goto switch_default;
2491#line 363
2492 if (0) {
2493 case_1:
2494#line 363
2495 __asm__ volatile ("call __get_user_1": "=a" (__ret_gu), "=d" (__val_gu): "0" (buf + ofs));
2496#line 363
2497 goto ldv_18076;
2498 case_2:
2499#line 363
2500 __asm__ volatile ("call __get_user_2": "=a" (__ret_gu), "=d" (__val_gu): "0" (buf + ofs));
2501#line 363
2502 goto ldv_18076;
2503 case_4:
2504#line 363
2505 __asm__ volatile ("call __get_user_4": "=a" (__ret_gu), "=d" (__val_gu): "0" (buf + ofs));
2506#line 363
2507 goto ldv_18076;
2508 case_8:
2509#line 363
2510 __asm__ volatile ("call __get_user_8": "=a" (__ret_gu), "=d" (__val_gu): "0" (buf + ofs));
2511#line 363
2512 goto ldv_18076;
2513 switch_default:
2514#line 363
2515 __asm__ volatile ("call __get_user_X": "=a" (__ret_gu), "=d" (__val_gu): "0" (buf + ofs));
2516#line 363
2517 goto ldv_18076;
2518 } else {
2519 switch_break: ;
2520 }
2521 }
2522 }
2523 ldv_18076:
2524#line 363
2525 c = (char )__val_gu;
2526#line 363
2527 if (__ret_gu != 0) {
2528#line 364
2529 return (-14L);
2530 } else {
2531
2532 }
2533 {
2534#line 365
2535 __cil_tmp11 = (signed char )c;
2536#line 365
2537 __cil_tmp12 = (int )__cil_tmp11;
2538#line 365
2539 if (__cil_tmp12 == 86) {
2540#line 366
2541 expect_close = (char)42;
2542 } else {
2543
2544 }
2545 }
2546#line 361
2547 ofs = ofs + 1UL;
2548 ldv_18083: ;
2549#line 361
2550 if (ofs != count) {
2551#line 362
2552 goto ldv_18082;
2553 } else {
2554#line 364
2555 goto ldv_18084;
2556 }
2557 ldv_18084: ;
2558 } else {
2559
2560 }
2561 }
2562 {
2563#line 371
2564 wdt_keepalive();
2565 }
2566 } else {
2567
2568 }
2569#line 373
2570 return ((ssize_t )count);
2571}
2572}
2573#line 387 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17371/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83977f_wdt.c.p"
2574static struct watchdog_info const ident = {33152U, 1U, {(__u8 )'W', (__u8 )'8', (__u8 )'3', (__u8 )'9', (__u8 )'7', (__u8 )'7',
2575 (__u8 )'F', (__u8 )' ', (__u8 )'W', (__u8 )'D', (__u8 )'T', (__u8 )'\000'}};
2576#line 393 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17371/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83977f_wdt.c.p"
2577static long wdt_ioctl(struct file *file , unsigned int cmd , unsigned long arg )
2578{ int status ;
2579 int new_options ;
2580 int retval ;
2581 int new_timeout ;
2582 union __anonunion_uarg_146 uarg ;
2583 long tmp___0 ;
2584 int tmp___1 ;
2585 int __ret_pu ;
2586 int __pu_val ;
2587 int __ret_pu___0 ;
2588 int __pu_val___0 ;
2589 int __ret_gu ;
2590 unsigned long __val_gu ;
2591 int __ret_gu___0 ;
2592 unsigned long __val_gu___0 ;
2593 int tmp___2 ;
2594 int __ret_pu___1 ;
2595 int __pu_val___1 ;
2596 void *__cil_tmp23 ;
2597 void const *__cil_tmp24 ;
2598 int *__cil_tmp25 ;
2599 int __cil_tmp26 ;
2600 int *__cil_tmp27 ;
2601
2602 {
2603#line 396
2604 retval = -22;
2605#line 403
2606 uarg.i = (int *)arg;
2607#line 406
2608 if ((int )cmd == -2144839936) {
2609#line 406
2610 goto case_neg_2144839936;
2611 } else
2612#line 410
2613 if ((int )cmd == -2147199231) {
2614#line 410
2615 goto case_neg_2147199231;
2616 } else
2617#line 414
2618 if ((int )cmd == -2147199230) {
2619#line 414
2620 goto case_neg_2147199230;
2621 } else
2622#line 417
2623 if ((int )cmd == -2147199228) {
2624#line 417
2625 goto case_neg_2147199228;
2626 } else
2627#line 433
2628 if ((int )cmd == -2147199227) {
2629#line 433
2630 goto case_neg_2147199227;
2631 } else
2632#line 437
2633 if ((int )cmd == -1073457402) {
2634#line 437
2635 goto case_neg_1073457402;
2636 } else
2637#line 447
2638 if ((int )cmd == -2147199225) {
2639#line 447
2640 goto case_neg_2147199225;
2641 } else {
2642 {
2643#line 450
2644 goto switch_default___4;
2645#line 405
2646 if (0) {
2647 case_neg_2144839936:
2648 {
2649#line 407
2650 __cil_tmp23 = (void *)uarg.ident;
2651#line 407
2652 __cil_tmp24 = (void const *)(& ident);
2653#line 407
2654 tmp___1 = copy_to_user(__cil_tmp23, __cil_tmp24, 40U);
2655 }
2656#line 407
2657 if (tmp___1 != 0) {
2658#line 407
2659 tmp___0 = -14L;
2660 } else {
2661#line 407
2662 tmp___0 = 0L;
2663 }
2664#line 407
2665 return (tmp___0);
2666 case_neg_2147199231:
2667 {
2668#line 411
2669 wdt_get_status(& status);
2670#line 412
2671 might_fault();
2672#line 412
2673 __cil_tmp25 = & status;
2674#line 412
2675 __pu_val = *__cil_tmp25;
2676 }
2677#line 412
2678 if (4 == 1) {
2679#line 412
2680 goto case_1;
2681 } else
2682#line 412
2683 if (4 == 2) {
2684#line 412
2685 goto case_2;
2686 } else
2687#line 412
2688 if (4 == 4) {
2689#line 412
2690 goto case_4;
2691 } else
2692#line 412
2693 if (4 == 8) {
2694#line 412
2695 goto case_8;
2696 } else {
2697 {
2698#line 412
2699 goto switch_default;
2700#line 412
2701 if (0) {
2702 case_1:
2703#line 412
2704 __asm__ volatile ("call __put_user_1": "=a" (__ret_pu): "0" (__pu_val),
2705 "c" (uarg.i): "ebx");
2706#line 412
2707 goto ldv_18104;
2708 case_2:
2709#line 412
2710 __asm__ volatile ("call __put_user_2": "=a" (__ret_pu): "0" (__pu_val),
2711 "c" (uarg.i): "ebx");
2712#line 412
2713 goto ldv_18104;
2714 case_4:
2715#line 412
2716 __asm__ volatile ("call __put_user_4": "=a" (__ret_pu): "0" (__pu_val),
2717 "c" (uarg.i): "ebx");
2718#line 412
2719 goto ldv_18104;
2720 case_8:
2721#line 412
2722 __asm__ volatile ("call __put_user_8": "=a" (__ret_pu): "0" (__pu_val),
2723 "c" (uarg.i): "ebx");
2724#line 412
2725 goto ldv_18104;
2726 switch_default:
2727#line 412
2728 __asm__ volatile ("call __put_user_X": "=a" (__ret_pu): "0" (__pu_val),
2729 "c" (uarg.i): "ebx");
2730#line 412
2731 goto ldv_18104;
2732 } else {
2733 switch_break___0: ;
2734 }
2735 }
2736 }
2737 ldv_18104: ;
2738#line 412
2739 return ((long )__ret_pu);
2740 case_neg_2147199230:
2741 {
2742#line 415
2743 might_fault();
2744#line 415
2745 __pu_val___0 = 0;
2746 }
2747#line 415
2748 if (4 == 1) {
2749#line 415
2750 goto case_1___0;
2751 } else
2752#line 415
2753 if (4 == 2) {
2754#line 415
2755 goto case_2___0;
2756 } else
2757#line 415
2758 if (4 == 4) {
2759#line 415
2760 goto case_4___0;
2761 } else
2762#line 415
2763 if (4 == 8) {
2764#line 415
2765 goto case_8___0;
2766 } else {
2767 {
2768#line 415
2769 goto switch_default___0;
2770#line 415
2771 if (0) {
2772 case_1___0:
2773#line 415
2774 __asm__ volatile ("call __put_user_1": "=a" (__ret_pu___0): "0" (__pu_val___0),
2775 "c" (uarg.i): "ebx");
2776#line 415
2777 goto ldv_18114;
2778 case_2___0:
2779#line 415
2780 __asm__ volatile ("call __put_user_2": "=a" (__ret_pu___0): "0" (__pu_val___0),
2781 "c" (uarg.i): "ebx");
2782#line 415
2783 goto ldv_18114;
2784 case_4___0:
2785#line 415
2786 __asm__ volatile ("call __put_user_4": "=a" (__ret_pu___0): "0" (__pu_val___0),
2787 "c" (uarg.i): "ebx");
2788#line 415
2789 goto ldv_18114;
2790 case_8___0:
2791#line 415
2792 __asm__ volatile ("call __put_user_8": "=a" (__ret_pu___0): "0" (__pu_val___0),
2793 "c" (uarg.i): "ebx");
2794#line 415
2795 goto ldv_18114;
2796 switch_default___0:
2797#line 415
2798 __asm__ volatile ("call __put_user_X": "=a" (__ret_pu___0): "0" (__pu_val___0),
2799 "c" (uarg.i): "ebx");
2800#line 415
2801 goto ldv_18114;
2802 } else {
2803 switch_break___1: ;
2804 }
2805 }
2806 }
2807 ldv_18114: ;
2808#line 415
2809 return ((long )__ret_pu___0);
2810 case_neg_2147199228:
2811 {
2812#line 418
2813 might_fault();
2814 }
2815#line 418
2816 if (4 == 1) {
2817#line 418
2818 goto case_1___1;
2819 } else
2820#line 418
2821 if (4 == 2) {
2822#line 418
2823 goto case_2___1;
2824 } else
2825#line 418
2826 if (4 == 4) {
2827#line 418
2828 goto case_4___1;
2829 } else
2830#line 418
2831 if (4 == 8) {
2832#line 418
2833 goto case_8___1;
2834 } else {
2835 {
2836#line 418
2837 goto switch_default___1;
2838#line 418
2839 if (0) {
2840 case_1___1:
2841#line 418
2842 __asm__ volatile ("call __get_user_1": "=a" (__ret_gu), "=d" (__val_gu): "0" (uarg.i));
2843#line 418
2844 goto ldv_18124;
2845 case_2___1:
2846#line 418
2847 __asm__ volatile ("call __get_user_2": "=a" (__ret_gu), "=d" (__val_gu): "0" (uarg.i));
2848#line 418
2849 goto ldv_18124;
2850 case_4___1:
2851#line 418
2852 __asm__ volatile ("call __get_user_4": "=a" (__ret_gu), "=d" (__val_gu): "0" (uarg.i));
2853#line 418
2854 goto ldv_18124;
2855 case_8___1:
2856#line 418
2857 __asm__ volatile ("call __get_user_8": "=a" (__ret_gu), "=d" (__val_gu): "0" (uarg.i));
2858#line 418
2859 goto ldv_18124;
2860 switch_default___1:
2861#line 418
2862 __asm__ volatile ("call __get_user_X": "=a" (__ret_gu), "=d" (__val_gu): "0" (uarg.i));
2863#line 418
2864 goto ldv_18124;
2865 } else {
2866 switch_break___2: ;
2867 }
2868 }
2869 }
2870 ldv_18124:
2871#line 418
2872 new_options = (int )__val_gu;
2873#line 418
2874 if (__ret_gu != 0) {
2875#line 419
2876 return (-14L);
2877 } else {
2878
2879 }
2880#line 421
2881 if (new_options & 1) {
2882 {
2883#line 422
2884 wdt_stop();
2885#line 423
2886 retval = 0;
2887 }
2888 } else {
2889
2890 }
2891 {
2892#line 426
2893 __cil_tmp26 = new_options & 2;
2894#line 426
2895 if (__cil_tmp26 != 0) {
2896 {
2897#line 427
2898 wdt_start();
2899#line 428
2900 retval = 0;
2901 }
2902 } else {
2903
2904 }
2905 }
2906#line 431
2907 return ((long )retval);
2908 case_neg_2147199227:
2909 {
2910#line 434
2911 wdt_keepalive();
2912 }
2913#line 435
2914 return (0L);
2915 case_neg_1073457402:
2916 {
2917#line 438
2918 might_fault();
2919 }
2920#line 438
2921 if (4 == 1) {
2922#line 438
2923 goto case_1___2;
2924 } else
2925#line 438
2926 if (4 == 2) {
2927#line 438
2928 goto case_2___2;
2929 } else
2930#line 438
2931 if (4 == 4) {
2932#line 438
2933 goto case_4___2;
2934 } else
2935#line 438
2936 if (4 == 8) {
2937#line 438
2938 goto case_8___2;
2939 } else {
2940 {
2941#line 438
2942 goto switch_default___2;
2943#line 438
2944 if (0) {
2945 case_1___2:
2946#line 438
2947 __asm__ volatile ("call __get_user_1": "=a" (__ret_gu___0), "=d" (__val_gu___0): "0" (uarg.i));
2948#line 438
2949 goto ldv_18135;
2950 case_2___2:
2951#line 438
2952 __asm__ volatile ("call __get_user_2": "=a" (__ret_gu___0), "=d" (__val_gu___0): "0" (uarg.i));
2953#line 438
2954 goto ldv_18135;
2955 case_4___2:
2956#line 438
2957 __asm__ volatile ("call __get_user_4": "=a" (__ret_gu___0), "=d" (__val_gu___0): "0" (uarg.i));
2958#line 438
2959 goto ldv_18135;
2960 case_8___2:
2961#line 438
2962 __asm__ volatile ("call __get_user_8": "=a" (__ret_gu___0), "=d" (__val_gu___0): "0" (uarg.i));
2963#line 438
2964 goto ldv_18135;
2965 switch_default___2:
2966#line 438
2967 __asm__ volatile ("call __get_user_X": "=a" (__ret_gu___0), "=d" (__val_gu___0): "0" (uarg.i));
2968#line 438
2969 goto ldv_18135;
2970 } else {
2971 switch_break___3: ;
2972 }
2973 }
2974 }
2975 ldv_18135:
2976#line 438
2977 new_timeout = (int )__val_gu___0;
2978#line 438
2979 if (__ret_gu___0 != 0) {
2980#line 439
2981 return (-14L);
2982 } else {
2983
2984 }
2985 {
2986#line 441
2987 tmp___2 = wdt_set_timeout(new_timeout);
2988 }
2989#line 441
2990 if (tmp___2 != 0) {
2991#line 442
2992 return (-22L);
2993 } else {
2994
2995 }
2996 {
2997#line 444
2998 wdt_keepalive();
2999 }
3000 case_neg_2147199225:
3001 {
3002#line 448
3003 might_fault();
3004#line 448
3005 __cil_tmp27 = & timeout;
3006#line 448
3007 __pu_val___1 = *__cil_tmp27;
3008 }
3009#line 448
3010 if (4 == 1) {
3011#line 448
3012 goto case_1___3;
3013 } else
3014#line 448
3015 if (4 == 2) {
3016#line 448
3017 goto case_2___3;
3018 } else
3019#line 448
3020 if (4 == 4) {
3021#line 448
3022 goto case_4___3;
3023 } else
3024#line 448
3025 if (4 == 8) {
3026#line 448
3027 goto case_8___3;
3028 } else {
3029 {
3030#line 448
3031 goto switch_default___3;
3032#line 448
3033 if (0) {
3034 case_1___3:
3035#line 448
3036 __asm__ volatile ("call __put_user_1": "=a" (__ret_pu___1): "0" (__pu_val___1),
3037 "c" (uarg.i): "ebx");
3038#line 448
3039 goto ldv_18145;
3040 case_2___3:
3041#line 448
3042 __asm__ volatile ("call __put_user_2": "=a" (__ret_pu___1): "0" (__pu_val___1),
3043 "c" (uarg.i): "ebx");
3044#line 448
3045 goto ldv_18145;
3046 case_4___3:
3047#line 448
3048 __asm__ volatile ("call __put_user_4": "=a" (__ret_pu___1): "0" (__pu_val___1),
3049 "c" (uarg.i): "ebx");
3050#line 448
3051 goto ldv_18145;
3052 case_8___3:
3053#line 448
3054 __asm__ volatile ("call __put_user_8": "=a" (__ret_pu___1): "0" (__pu_val___1),
3055 "c" (uarg.i): "ebx");
3056#line 448
3057 goto ldv_18145;
3058 switch_default___3:
3059#line 448
3060 __asm__ volatile ("call __put_user_X": "=a" (__ret_pu___1): "0" (__pu_val___1),
3061 "c" (uarg.i): "ebx");
3062#line 448
3063 goto ldv_18145;
3064 } else {
3065 switch_break___4: ;
3066 }
3067 }
3068 }
3069 ldv_18145: ;
3070#line 448
3071 return ((long )__ret_pu___1);
3072 switch_default___4: ;
3073#line 451
3074 return (-25L);
3075 } else {
3076 switch_break: ;
3077 }
3078 }
3079 }
3080}
3081}
3082#line 456 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17371/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83977f_wdt.c.p"
3083static int wdt_notify_sys(struct notifier_block *this , unsigned long code , void *unused )
3084{
3085
3086 {
3087#line 459
3088 if (code == 1UL) {
3089 {
3090#line 460
3091 wdt_stop();
3092 }
3093 } else
3094#line 459
3095 if (code == 2UL) {
3096 {
3097#line 460
3098 wdt_stop();
3099 }
3100 } else {
3101
3102 }
3103#line 461
3104 return (0);
3105}
3106}
3107#line 464 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17371/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83977f_wdt.c.p"
3108static struct file_operations const wdt_fops =
3109#line 464
3110 {& __this_module, & no_llseek, (ssize_t (*)(struct file * , char * , size_t ,
3111 loff_t * ))0, & wdt_write, (ssize_t (*)(struct kiocb * ,
3112 struct iovec const * ,
3113 unsigned long ,
3114 loff_t ))0,
3115 (ssize_t (*)(struct kiocb * , struct iovec const * , unsigned long , loff_t ))0,
3116 (int (*)(struct file * , void * , int (*)(void * , char const * , int , loff_t ,
3117 u64 , unsigned int ) ))0, (unsigned int (*)(struct file * ,
3118 struct poll_table_struct * ))0,
3119 & wdt_ioctl, (long (*)(struct file * , unsigned int , unsigned long ))0, (int (*)(struct file * ,
3120 struct vm_area_struct * ))0,
3121 & wdt_open, (int (*)(struct file * , fl_owner_t ))0, & wdt_release, (int (*)(struct file * ,
3122 loff_t ,
3123 loff_t ,
3124 int ))0,
3125 (int (*)(struct kiocb * , int ))0, (int (*)(int , struct file * , int ))0,
3126 (int (*)(struct file * , int , struct file_lock * ))0, (ssize_t (*)(struct file * ,
3127 struct page * ,
3128 int , size_t ,
3129 loff_t * ,
3130 int ))0,
3131 (unsigned long (*)(struct file * , unsigned long , unsigned long , unsigned long ,
3132 unsigned long ))0, (int (*)(int ))0, (int (*)(struct file * ,
3133 int , struct file_lock * ))0,
3134 (ssize_t (*)(struct pipe_inode_info * , struct file * , loff_t * , size_t , unsigned int ))0,
3135 (ssize_t (*)(struct file * , loff_t * , struct pipe_inode_info * , size_t , unsigned int ))0,
3136 (int (*)(struct file * , long , struct file_lock ** ))0, (long (*)(struct file * ,
3137 int , loff_t ,
3138 loff_t ))0};
3139#line 473 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17371/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83977f_wdt.c.p"
3140static struct miscdevice wdt_miscdev =
3141#line 473
3142 {130, "watchdog", & wdt_fops, {(struct list_head *)0, (struct list_head *)0}, (struct device *)0,
3143 (struct device *)0, (char const *)0, (unsigned short)0};
3144#line 479 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17371/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83977f_wdt.c.p"
3145static struct notifier_block wdt_notifier = {& wdt_notify_sys, (struct notifier_block *)0, 0};
3146#line 483 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17371/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83977f_wdt.c.p"
3147static int w83977f_wdt_init(void)
3148{ int rc ;
3149 int tmp ;
3150 struct resource *tmp___0 ;
3151 char *__cil_tmp4 ;
3152 int *__cil_tmp5 ;
3153 int __cil_tmp6 ;
3154 struct resource *__cil_tmp7 ;
3155 unsigned long __cil_tmp8 ;
3156 unsigned long __cil_tmp9 ;
3157 struct miscdevice *__cil_tmp10 ;
3158 int __cil_tmp11 ;
3159 int *__cil_tmp12 ;
3160 int __cil_tmp13 ;
3161 bool *__cil_tmp14 ;
3162 bool __cil_tmp15 ;
3163 int __cil_tmp16 ;
3164 int *__cil_tmp17 ;
3165 int __cil_tmp18 ;
3166
3167 {
3168 {
3169#line 487
3170 __cil_tmp4 = (char *)"1.00";
3171#line 487
3172 printk("<6>w83977f_wdt: driver v%s\n", __cil_tmp4);
3173#line 493
3174 __cil_tmp5 = & timeout;
3175#line 493
3176 __cil_tmp6 = *__cil_tmp5;
3177#line 493
3178 tmp = wdt_set_timeout(__cil_tmp6);
3179 }
3180#line 493
3181 if (tmp != 0) {
3182 {
3183#line 494
3184 wdt_set_timeout(45);
3185#line 495
3186 printk("<6>w83977f_wdt: timeout value must be 15 <= timeout <= 7635, using %d\n",
3187 45);
3188 }
3189 } else {
3190
3191 }
3192 {
3193#line 499
3194 tmp___0 = __request_region(& ioport_resource, 1008ULL, 2ULL, "W83977F WDT", 0);
3195 }
3196 {
3197#line 499
3198 __cil_tmp7 = (struct resource *)0;
3199#line 499
3200 __cil_tmp8 = (unsigned long )__cil_tmp7;
3201#line 499
3202 __cil_tmp9 = (unsigned long )tmp___0;
3203#line 499
3204 if (__cil_tmp9 == __cil_tmp8) {
3205 {
3206#line 500
3207 printk("<3>w83977f_wdt: I/O address 0x%04x already in use\n", 1008);
3208#line 501
3209 rc = -5;
3210 }
3211#line 502
3212 goto err_out;
3213 } else {
3214
3215 }
3216 }
3217 {
3218#line 505
3219 rc = register_reboot_notifier(& wdt_notifier);
3220 }
3221#line 506
3222 if (rc != 0) {
3223 {
3224#line 507
3225 printk("<3>w83977f_wdt: cannot register reboot notifier (err=%d)\n", rc);
3226 }
3227#line 508
3228 goto err_out_region;
3229 } else {
3230
3231 }
3232 {
3233#line 511
3234 rc = misc_register(& wdt_miscdev);
3235 }
3236#line 512
3237 if (rc != 0) {
3238 {
3239#line 513
3240 __cil_tmp10 = & wdt_miscdev;
3241#line 513
3242 __cil_tmp11 = *((int *)__cil_tmp10);
3243#line 513
3244 printk("<3>w83977f_wdt: cannot register miscdev on minor=%d (err=%d)\n", __cil_tmp11,
3245 rc);
3246 }
3247#line 515
3248 goto err_out_reboot;
3249 } else {
3250
3251 }
3252 {
3253#line 518
3254 __cil_tmp12 = & timeout;
3255#line 518
3256 __cil_tmp13 = *__cil_tmp12;
3257#line 518
3258 __cil_tmp14 = & nowayout;
3259#line 518
3260 __cil_tmp15 = *__cil_tmp14;
3261#line 518
3262 __cil_tmp16 = (int )__cil_tmp15;
3263#line 518
3264 __cil_tmp17 = & testmode;
3265#line 518
3266 __cil_tmp18 = *__cil_tmp17;
3267#line 518
3268 printk("<6>w83977f_wdt: initialized. timeout=%d sec (nowayout=%d testmode=%d)\n",
3269 __cil_tmp13, __cil_tmp16, __cil_tmp18);
3270 }
3271#line 521
3272 return (0);
3273 err_out_reboot:
3274 {
3275#line 524
3276 unregister_reboot_notifier(& wdt_notifier);
3277 }
3278 err_out_region:
3279 {
3280#line 526
3281 __release_region(& ioport_resource, 1008ULL, 2ULL);
3282 }
3283 err_out: ;
3284#line 528
3285 return (rc);
3286}
3287}
3288#line 531 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17371/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83977f_wdt.c.p"
3289static void w83977f_wdt_exit(void)
3290{
3291
3292 {
3293 {
3294#line 533
3295 wdt_stop();
3296#line 534
3297 misc_deregister(& wdt_miscdev);
3298#line 535
3299 unregister_reboot_notifier(& wdt_notifier);
3300#line 536
3301 __release_region(& ioport_resource, 1008ULL, 2ULL);
3302 }
3303#line 537
3304 return;
3305}
3306}
3307#line 563
3308extern void ldv_check_final_state(void) ;
3309#line 566
3310extern void ldv_check_return_value(int ) ;
3311#line 569
3312extern void ldv_initialize(void) ;
3313#line 572
3314extern int __VERIFIER_nondet_int(void) ;
3315#line 575 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17371/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83977f_wdt.c.p"
3316int LDV_IN_INTERRUPT ;
3317#line 578 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17371/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83977f_wdt.c.p"
3318void main(void)
3319{ struct file *var_group1 ;
3320 char const *var_wdt_write_7_p1 ;
3321 size_t var_wdt_write_7_p2 ;
3322 loff_t *var_wdt_write_7_p3 ;
3323 ssize_t res_wdt_write_7 ;
3324 unsigned int var_wdt_ioctl_8_p1 ;
3325 unsigned long var_wdt_ioctl_8_p2 ;
3326 struct inode *var_group2 ;
3327 int res_wdt_open_5 ;
3328 struct notifier_block *var_group3 ;
3329 unsigned long var_wdt_notify_sys_9_p1 ;
3330 void *var_wdt_notify_sys_9_p2 ;
3331 int ldv_s_wdt_fops_file_operations ;
3332 int tmp ;
3333 int tmp___0 ;
3334 int tmp___1 ;
3335 int __cil_tmp17 ;
3336
3337 {
3338 {
3339#line 705
3340 ldv_s_wdt_fops_file_operations = 0;
3341#line 678
3342 LDV_IN_INTERRUPT = 1;
3343#line 687
3344 ldv_initialize();
3345#line 703
3346 tmp = w83977f_wdt_init();
3347 }
3348#line 703
3349 if (tmp != 0) {
3350#line 704
3351 goto ldv_final;
3352 } else {
3353
3354 }
3355#line 711
3356 goto ldv_18219;
3357 ldv_18218:
3358 {
3359#line 715
3360 tmp___0 = __VERIFIER_nondet_int();
3361 }
3362#line 717
3363 if (tmp___0 == 0) {
3364#line 717
3365 goto case_0;
3366 } else
3367#line 746
3368 if (tmp___0 == 1) {
3369#line 746
3370 goto case_1;
3371 } else
3372#line 775
3373 if (tmp___0 == 2) {
3374#line 775
3375 goto case_2;
3376 } else
3377#line 801
3378 if (tmp___0 == 3) {
3379#line 801
3380 goto case_3;
3381 } else
3382#line 827
3383 if (tmp___0 == 4) {
3384#line 827
3385 goto case_4;
3386 } else {
3387 {
3388#line 853
3389 goto switch_default;
3390#line 715
3391 if (0) {
3392 case_0: ;
3393#line 720
3394 if (ldv_s_wdt_fops_file_operations == 0) {
3395 {
3396#line 735
3397 res_wdt_open_5 = wdt_open(var_group2, var_group1);
3398#line 736
3399 ldv_check_return_value(res_wdt_open_5);
3400 }
3401#line 737
3402 if (res_wdt_open_5 != 0) {
3403#line 738
3404 goto ldv_module_exit;
3405 } else {
3406
3407 }
3408#line 739
3409 ldv_s_wdt_fops_file_operations = ldv_s_wdt_fops_file_operations + 1;
3410 } else {
3411
3412 }
3413#line 745
3414 goto ldv_18212;
3415 case_1: ;
3416#line 749
3417 if (ldv_s_wdt_fops_file_operations == 1) {
3418 {
3419#line 764
3420 res_wdt_write_7 = wdt_write(var_group1, var_wdt_write_7_p1, var_wdt_write_7_p2,
3421 var_wdt_write_7_p3);
3422#line 765
3423 __cil_tmp17 = (int )res_wdt_write_7;
3424#line 765
3425 ldv_check_return_value(__cil_tmp17);
3426 }
3427#line 766
3428 if (res_wdt_write_7 < 0L) {
3429#line 767
3430 goto ldv_module_exit;
3431 } else {
3432
3433 }
3434#line 768
3435 ldv_s_wdt_fops_file_operations = ldv_s_wdt_fops_file_operations + 1;
3436 } else {
3437
3438 }
3439#line 774
3440 goto ldv_18212;
3441 case_2: ;
3442#line 778
3443 if (ldv_s_wdt_fops_file_operations == 2) {
3444 {
3445#line 793
3446 wdt_release(var_group2, var_group1);
3447#line 794
3448 ldv_s_wdt_fops_file_operations = 0;
3449 }
3450 } else {
3451
3452 }
3453#line 800
3454 goto ldv_18212;
3455 case_3:
3456 {
3457#line 819
3458 wdt_ioctl(var_group1, var_wdt_ioctl_8_p1, var_wdt_ioctl_8_p2);
3459 }
3460#line 826
3461 goto ldv_18212;
3462 case_4:
3463 {
3464#line 845
3465 wdt_notify_sys(var_group3, var_wdt_notify_sys_9_p1, var_wdt_notify_sys_9_p2);
3466 }
3467#line 852
3468 goto ldv_18212;
3469 switch_default: ;
3470#line 853
3471 goto ldv_18212;
3472 } else {
3473 switch_break: ;
3474 }
3475 }
3476 }
3477 ldv_18212: ;
3478 ldv_18219:
3479 {
3480#line 711
3481 tmp___1 = __VERIFIER_nondet_int();
3482 }
3483#line 711
3484 if (tmp___1 != 0) {
3485#line 713
3486 goto ldv_18218;
3487 } else
3488#line 711
3489 if (ldv_s_wdt_fops_file_operations != 0) {
3490#line 713
3491 goto ldv_18218;
3492 } else {
3493#line 715
3494 goto ldv_18220;
3495 }
3496 ldv_18220: ;
3497 ldv_module_exit:
3498 {
3499#line 875
3500 w83977f_wdt_exit();
3501 }
3502 ldv_final:
3503 {
3504#line 878
3505 ldv_check_final_state();
3506 }
3507#line 881
3508 return;
3509}
3510}
3511#line 5 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17371/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast-assert.h"
3512void ldv_blast_assert(void)
3513{
3514
3515 {
3516 ERROR: ;
3517#line 6
3518 goto ERROR;
3519}
3520}
3521#line 6 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17371/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast.h"
3522extern int __VERIFIER_nondet_int(void) ;
3523#line 902 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17371/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83977f_wdt.c.p"
3524int ldv_spin = 0;
3525#line 906 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17371/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83977f_wdt.c.p"
3526void ldv_check_alloc_flags(gfp_t flags )
3527{
3528
3529 {
3530#line 909
3531 if (ldv_spin != 0) {
3532#line 909
3533 if (flags != 32U) {
3534 {
3535#line 909
3536 ldv_blast_assert();
3537 }
3538 } else {
3539
3540 }
3541 } else {
3542
3543 }
3544#line 912
3545 return;
3546}
3547}
3548#line 912
3549extern struct page *ldv_some_page(void) ;
3550#line 915 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17371/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83977f_wdt.c.p"
3551struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags )
3552{ struct page *tmp ;
3553
3554 {
3555#line 918
3556 if (ldv_spin != 0) {
3557#line 918
3558 if (flags != 32U) {
3559 {
3560#line 918
3561 ldv_blast_assert();
3562 }
3563 } else {
3564
3565 }
3566 } else {
3567
3568 }
3569 {
3570#line 920
3571 tmp = ldv_some_page();
3572 }
3573#line 920
3574 return (tmp);
3575}
3576}
3577#line 924 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17371/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83977f_wdt.c.p"
3578void ldv_check_alloc_nonatomic(void)
3579{
3580
3581 {
3582#line 927
3583 if (ldv_spin != 0) {
3584 {
3585#line 927
3586 ldv_blast_assert();
3587 }
3588 } else {
3589
3590 }
3591#line 930
3592 return;
3593}
3594}
3595#line 931 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17371/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83977f_wdt.c.p"
3596void ldv_spin_lock(void)
3597{
3598
3599 {
3600#line 934
3601 ldv_spin = 1;
3602#line 935
3603 return;
3604}
3605}
3606#line 938 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17371/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83977f_wdt.c.p"
3607void ldv_spin_unlock(void)
3608{
3609
3610 {
3611#line 941
3612 ldv_spin = 0;
3613#line 942
3614 return;
3615}
3616}
3617#line 945 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17371/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83977f_wdt.c.p"
3618int ldv_spin_trylock(void)
3619{ int is_lock ;
3620
3621 {
3622 {
3623#line 950
3624 is_lock = __VERIFIER_nondet_int();
3625 }
3626#line 952
3627 if (is_lock != 0) {
3628#line 955
3629 return (0);
3630 } else {
3631#line 960
3632 ldv_spin = 1;
3633#line 962
3634 return (1);
3635 }
3636}
3637}
3638#line 1038 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17371/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83977f_wdt.c.p"
3639__inline static void spin_unlock_irqrestore(spinlock_t *lock , unsigned long flags )
3640{
3641
3642 {
3643 {
3644#line 1044
3645 ldv_spin_unlock();
3646#line 1046
3647 ldv_spin_unlock_irqrestore_8(lock, flags);
3648 }
3649#line 1047
3650 return;
3651}
3652}
3653#line 1129 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17371/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83977f_wdt.c.p"
3654void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 )
3655{
3656
3657 {
3658 {
3659#line 1135
3660 ldv_check_alloc_flags(ldv_func_arg2);
3661#line 1137
3662 kmem_cache_alloc(ldv_func_arg1, ldv_func_arg2);
3663 }
3664#line 1138
3665 return ((void *)0);
3666}
3667}