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