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